使用阿里云 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 元。

后记

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

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

11720 次点击
所在节点    云计算
37 条回复
tadtung
2020-02-10 11:09:08 +08:00
@larendorrx 只是用远程桌面,流量不大,如果你是用云游戏串流,传 1080p 以上视频,这流量是有点大。。。
这样的话,建议还是选香港直连节点的,。。。例如 aliyun 香港这些
shilyx
2020-02-10 12:35:15 +08:00
套路云不是盖的,一天 5 块是不贵,但是有便宜得多的
llvm98
2020-02-10 14:33:23 +08:00
赞,老家的老爷机也能用了
mostkia
2020-02-10 16:55:43 +08:00
按量付费的确贵,用着输服与否,主要看你离数据中心的距离,远了肯定不行,延迟太高,而且远程桌面的带宽真的不小,玩玩可以,不推荐长期使用。
mostkia
2020-02-10 17:09:30 +08:00
云桌面其实还是架设在家中更好一些,要是随便整台机器就能用,也不必那么麻烦了,其实配置环境之类的也需要大量时间的,租用的服务器性能也不高,高的价格也受不了,而且一个不小心欠费了,数据也可能会丢,还不如把家里的电脑利用起来。家中的电脑,所有的文件、配置环境都是自己熟悉的,可以做到零成本快速切换使用,而且硬件也可以自己升级,升级后就是永久的了,这样带个超薄本就能随时连接到自己手头最强算力的设备了。云服务器开一台配置最低的,宽带按量拉满,直接 FRP 内穿回家中的电脑,省下的钱补贴家中电脑开机时的电费。
br00k
2020-02-11 08:56:21 +08:00
如果有支持 remoteFX 体验就会更好了
RickyC
2020-02-11 10:15:53 +08:00
不太理解. 阁下说的不就是租一台 windows server 服务器吗?
这个不是 10 多年前就能实现的吗?
那时的价格, 应该也是一个月几百上千元, 当然配置是低的.
这怎么叫云桌面呢? 这叫云电脑啊.
这种方案的价格,如果是 20 元 /月以下, 我会考虑. 否则我觉得是奢侈品了.
Rheinmetal
2020-02-11 13:16:44 +08:00
优点是临时伸缩配置 如果负载波动大是划算的现在临时应急其实也行 长租拿来当开发机就有点贵了
Rheinmetal
2020-02-11 13:20:35 +08:00
@RickC 区别在于按量计费 加上竞价实例可以按网络 /io/cpu 的实际用量付费 拿来应急比较灵活
临时需要高负载任务 可以几十块搞定 不用长租高性能机器
snoopygao
2020-02-11 13:44:29 +08:00
天翼云实名后给两个月的云桌面,具体没验证
villivateur
2020-02-11 19:38:40 +08:00
@snoopygao 那东西我看了,没有 PC 客户端,只能在手机上用远程桌面。我 tm。。。
suom
2020-02-11 21:01:49 +08:00
ip 改成弹性 ip。会省很多钱。
zqfxch
2020-02-12 16:13:28 +08:00
支持一下楼主分享。
其实这就是最简单的云桌面的使用模式,RDP 模式,在这个特殊的时间支持了楼主的短期高配置办公需求。
阿里云最新一代的 t6 也出来了,价格比 t5 更便宜,看了下 t6 4 核 16G 的性能基线是 40%,也就是说平均 CPU 使用率不超过 40%,99%的情况够用了,咱自己家的电脑平常上个网玩个普通游戏 CPU 使用率一般也低于这个数字,更不用说普通的办公了。
不过抢占式实例可能被释放,需要时刻关注释放通知,这个有点累,长期使用可以使用按量付费或者预留实例券,并且开启停机不收费功能。
firsthym
2020-02-24 20:55:59 +08:00
想问下,抢占式后面可以转成按量或者包月包年吗?
villivateur
2020-02-24 21:13:09 +08:00
@firsthym 不可以
leffz
2020-05-13 15:09:14 +08:00
很棒,学习了。又赶上阿里云最新的优惠活动,不如购置一台云服务器,方便多了:leffz.com
oooolongtea
2020-10-29 06:46:08 +08:00
@villivateur 多谢分享,我想用这个搭一个远程的 linux 然后用 tightvnc 连上去。

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

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

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

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

© 2021 V2EX