使用阿里云 ECS 搭建廉价的高性能云桌面

2020-02-09 19:10:15 +08:00
 villivateur

本文转自个人博客 https://blog.vvzero.com/2020/02/08/build-powerful-remote-desktops-with-aliyun-ECS-at-low-price/

要想读懂本文,你需要:

  1. 了解阿里云等云服务的基本 WEB 界面操作;
  2. 了解 Windows 操作系统的中阶操作;
  3. 了解基础的软件开发术语。

前言

本文面向的是需要使用高性能计算设备,但是身边只有低性能 PC 机的群体。最近由于 NCP 疫情,出不了门,返回不了工作地,想必不少人的高性能计算设备(好电脑)没带回家,但是,肯定也有人跟我一样,受不了笔记本电脑的龟速。

我的配置需求是,能够流畅运行安装多个插件的 VSCode、能够同时打开数十个 Firefox 标签页、能够快速完成 node 项目构建。但是我身边只有一台五年前的 intel NUC (i3-4010U, 4GB RAM)。

在详细了解了各大云服务商的云计算平台后,个人排除了华为云(弹性计算服务价格较高、云桌面售罄)、腾讯云(云计算服务类别过少)、天翼云(云桌面需要安装指定 APP 且性能不满足要求),决定使用阿里云的云计算服务。

使用阿里云初步搭建云桌面

经过权衡,我决定使用阿里云 ESC “抢占式实例”付费模式下的“突发性能实例”。为什么这么选?

因为没钱……

开玩笑的。我觉得这是我需求下的合理选择方式。为什么选择“抢占式实例”?首先,我们复工的时间还是个未知数,而且可能随时就不想用这个云桌面了。“抢占式实例”是按量付费的一种,也就是,用多长时间给多少钱。并且,相对于按量付费,有相当大的折扣。**“抢占式实例”的最大问题在于,这是竞价模式。也就是说,当别人出价比你高的时候,或者阿里云供给紧张而你又给钱给得不够的时候,它会自动帮你释放。我了解的是,在释放前 5 分钟,阿里云会有提醒。**为了尽量避免实例被自动释放,我选择了“使用自动出价”,也就是说,系统会每小时自动判断当前时间该实例的价格,并选择一个高于市场均价的价格进行付费。**但是,这并不是万无一失,阿里云在供给紧张的时候,仍然会将实例释放。**所以,在处理重要数据时,应该随时备份。我的处理方法是,随时将代码提交到我的 Git 仓库。

如果要保证不会被释放,建议使用包年包月制。

为什么使用“突发性能实例”?因为个人电脑与服务器不同。个人电脑不会时时刻刻占用大量 CPU,CPU 使用率是离散化的,所以 CPU 的使用积分,我觉得是用不完,25% 的使用基线,完全够用。

哎,目前好像国内也只有阿里云能做出“抢占式实例”和“突发性能实例”。

其他的配置就简单了,区域选择靠近你的(不同地区的价格好像差别挺大),镜像选择 Windows Server,另外,SSD 是很关键的,我觉得现在已经没有多少人能忍受机械硬盘的龟速了。

在下一个页面配置网络,为了保证远程桌面流畅,按使用流量计费,带宽拉满!

最终,我的配置如下:

这样的话,实例价格为 0.412 元每小时(我选的是上海区的,其他区的可能更便宜,在深夜、早上也会更便宜),流量费用为 0.8 元每 GB。算一算,一天大概要 10 元,一个月大概要 300 元,是不是还是有点贵?没关系,继续看。

价格的进一步优化

现在我已经启动了这个实例:

我还想更便宜。

与基友合租一台机器

我想你一定不可能一天 24 小时都在用它,用它的时候也一定不会一直占满 CPU。关键是,我们这是 Windows Server,跟家庭版、专业版、企业版什么的都不一样,它支持多个用户同时登陆!所以,我觉得,如果有信任的人选,完全可以合租。

关机时选择“停机不计费”

阿里云真的是神奇的存在,在 ECS 管理界面,选择停机,竟然可以停机不收费!

实际上也不是完全不收费,硬盘和弹性公网 IP 仍然是收费的。但是,与停机后仍然保留 CPU、内存相比,价格大幅降低。也就是说,我们在每天晚上,完全可以关机并选择不收费,可以节约一大笔。如果想要一直使用同一个 IP,可以选择绑定弹性公网 IP。

依据个人需求选择实例规格

我觉得,可能 8GB 内存已经够我用了,另外,青岛区的实例好像每小时能更便宜一毛钱……

云桌面体验

在体验之前,再确保一下:该实例网络安全组,需要放通 3389 端口( TCP 和 UDP 都要放通)。

打开本地的远程桌面客户端试试吧!

网络方面,我是江苏电信网络,连接上海区的 ECS,延迟很小,可以忽略,而且画质很清晰,暂时没有什么画面卡顿。至于下行网络,由于这是阿里云的专线,比家用运营商网络好太多,下载速度嗖嗖的,不管国内外。

计算性能方面,在我本地机器上,VSCode 的 Python 插件,进行一次文件错误扫描需要 5 秒左右,而这台云桌面,只要 1 秒。

操作系统方面,Windows Server 比 Windows PC 简洁很多,没有乱七八糟的服务,但也没有缺少日常开发所需的重要组件。可能会有点不一样,但是如果出问题,一般能很快解决。比如我在安装 Python 时出错,Google 一下便知要直接以管理员身份打开。

以下截图自我的云桌面。

提高体验的可选项

  1. 关闭 Windows 的过渡动画,这在远程桌面上会导致卡顿,且会消耗大量的流量费;
  2. 安全起见,重新创建一个管理员用户并禁用 Administrator 用户;
  3. 用好各种云同步功能,比如 Git 仓库、浏览器云同步、云盘等。

实测价格

我正常使用了一天,晚上停机不收费,消费如下:

可见,我一天大致消费 5 元。

后记

确实不是很贵,可行性也很高。假如有模型渲染需求,甚至可以绑定个显卡(

抢占式实例也不是很可怕吧?我的实例目前没被回收。

11981 次点击
所在节点    云计算
37 条回复
yankebupt
2020-02-09 19:25:12 +08:00
RDP?开 60 帧了么...看起来像 30 帧凑合党...
另外带显卡的实例都什么价……
跑个 overnight 任务没关 RDP。早上起来发现光流量就收了几块钱......
villivateur
2020-02-09 19:29:26 +08:00
@yankebupt 如果仅仅是搞开发的话,30 帧足够了,而且鼠标指针的帧率是 60 帧。
带显卡那个是开玩笑的。
怎么可能会忘关 RDP 呢……😂
hst001
2020-02-09 19:31:37 +08:00
能绑个显卡玩游戏?私人版云游戏
villivateur
2020-02-09 19:32:17 +08:00
@hst001 理论上可以,但是流量费够你喝一壶了
hst001
2020-02-09 19:40:28 +08:00
@villivateur #4 服务器版本的 CPU 频率太低了,而且那个 GPU 的接入方式可能不是直接插主板,应该会有不少的网络延迟,玩玩策略回合制的应该可以,但是要支持多核 CPU 的,不然就浪费了。
pdfgo
2020-02-09 19:41:16 +08:00
哇,价格看起来还是比较合理。

阿里云为什么不借此机遇推出更加廉价云桌面产品呢,不是很能让人理解。
LinYa
2020-02-09 19:45:41 +08:00
比较好奇,停机一晚大概花费是多少?或者说,硬盘+ip 一天要多少钱?
pdfgo
2020-02-09 19:46:34 +08:00
还有一个问题,每天晚上都要在控制台停机,早上要在控制台。这实在是太麻烦了。
locoz
2020-02-09 19:56:56 +08:00
@pdfgo #8 你可以用他们的 SDK 自己写一个开机脚本...
villivateur
2020-02-09 19:58:31 +08:00
@pdfgo 这只是一个方案而已,选择最适合自己的

@LinYa 停机的时候,我这边一小时 0.1 元
1596384882
2020-02-09 20:00:41 +08:00
还以为不用富强就能愉快玩耍了
dearroy
2020-02-09 20:04:12 +08:00
只能临时用用,长期用下来你会发现,不但麻烦,而且也不便宜。
SingeeKing
2020-02-09 20:05:57 +08:00
我用的方案差不多,不过选的是 aws,因为可以直接访问外网……
opengps
2020-02-09 20:09:07 +08:00
怎么最近都玩上这个了,抢占式实例可以保证一个小时保护不被释放,临时用一下可以玩那个,别去用 t5 这种不适合 cpu 连续负载的机器
villivateur
2020-02-09 20:10:11 +08:00
@dearroy 确实,这个面向的就是现在这样的情形
Yourshell
2020-02-09 21:54:15 +08:00
为何不直接使用 vscode remote development
ldcr99
2020-02-09 23:17:26 +08:00
可以玩英雄联盟吗
villivateur
2020-02-10 08:00:10 +08:00
@ldcr99 玩游戏基本上不可能,延迟和流量费受不了
tadtung
2020-02-10 10:19:12 +08:00
@villivateur 你这没玩过游戏啊,远程延迟和流量都不是问题。。。而且这个比你在家延迟更低,流量你再玩也没多少。。。
主要是云主机哪个有独立显卡?能让你玩起游戏?
国外一些独服,你倒是可以联系加装显卡。
larendorrx
2020-02-10 10:45:33 +08:00
@tadtung 画面传输的流量吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/643266

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX