V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
villivateur
V2EX  ›  云计算

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

  •  3
     
  •   villivateur · 2020-02-09 19:10:15 +08:00 · 11653 次点击
    这是一个创建于 1509 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本文转自个人博客 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 仓库。

    Snipaste_2020-02-09_17-32-20.png

    Snipaste_2020-02-09_17-34-24.png

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

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

    Snipaste_2020-02-09_17-34-05.png

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

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

    Snipaste_2020-02-09_18-03-26.png

    Snipaste_2020-02-09_17-36-25.png

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

    Snipaste_2020-02-09_17-45-57.png

    最终,我的配置如下:

    • 4 核 16GB,25% 平均 CPU 计算性能;
    • 100Mbps 按流量付费网络;
    • 80GB SSD ;
    • Windows Server 2019 数据中心版;

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

    Snipaste_2020-02-09_17-36-50.png

    价格的进一步优化

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

    Snipaste_2020-02-09_18-21-04.png

    我还想更便宜。

    与基友合租一台机器

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

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

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

    图片 1.png

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

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

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

    云桌面体验

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

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

    Snipaste_2020-02-09_18-38-25.png

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

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

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

    以下截图自我的云桌面。

    Screenshot 1.png

    Screenshot 3.png

    Screenshot 4.png

    Screenshot 2.png

    提高体验的可选项

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

    实测价格

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

    Snipaste_2020-02-09_18-54-30.png

    Snipaste_2020-02-09_18-55-07.png

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

    后记

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

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

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

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

    @LinYa 停机的时候,我这边一小时 0.1 元
    1596384882
        11
    1596384882  
       2020-02-09 20:00:41 +08:00
    还以为不用富强就能愉快玩耍了
    dearroy
        12
    dearroy  
       2020-02-09 20:04:12 +08:00   ❤️ 3
    只能临时用用,长期用下来你会发现,不但麻烦,而且也不便宜。
    SingeeKing
        13
    SingeeKing  
       2020-02-09 20:05:57 +08:00
    我用的方案差不多,不过选的是 aws,因为可以直接访问外网……
    opengps
        14
    opengps  
       2020-02-09 20:09:07 +08:00 via Android
    怎么最近都玩上这个了,抢占式实例可以保证一个小时保护不被释放,临时用一下可以玩那个,别去用 t5 这种不适合 cpu 连续负载的机器
    villivateur
        15
    villivateur  
    OP
       2020-02-09 20:10:11 +08:00 via Android
    @dearroy 确实,这个面向的就是现在这样的情形
    Yourshell
        16
    Yourshell  
       2020-02-09 21:54:15 +08:00 via iPhone
    为何不直接使用 vscode remote development
    ldcr99
        17
    ldcr99  
       2020-02-09 23:17:26 +08:00 via Android
    可以玩英雄联盟吗
    villivateur
        18
    villivateur  
    OP
       2020-02-10 08:00:10 +08:00 via Android
    @ldcr99 玩游戏基本上不可能,延迟和流量费受不了
    tadtung
        19
    tadtung  
       2020-02-10 10:19:12 +08:00 via Android
    @villivateur 你这没玩过游戏啊,远程延迟和流量都不是问题。。。而且这个比你在家延迟更低,流量你再玩也没多少。。。
    主要是云主机哪个有独立显卡?能让你玩起游戏?
    国外一些独服,你倒是可以联系加装显卡。
    larendorrx
        20
    larendorrx  
       2020-02-10 10:45:33 +08:00
    @tadtung 画面传输的流量吧
    tadtung
        21
    tadtung  
       2020-02-10 11:09:08 +08:00 via Android
    @larendorrx 只是用远程桌面,流量不大,如果你是用云游戏串流,传 1080p 以上视频,这流量是有点大。。。
    这样的话,建议还是选香港直连节点的,。。。例如 aliyun 香港这些
    shilyx
        22
    shilyx  
       2020-02-10 12:35:15 +08:00
    套路云不是盖的,一天 5 块是不贵,但是有便宜得多的
    llvm98
        23
    llvm98  
       2020-02-10 14:33:23 +08:00   ❤️ 1
    赞,老家的老爷机也能用了
    mostkia
        24
    mostkia  
       2020-02-10 16:55:43 +08:00
    按量付费的确贵,用着输服与否,主要看你离数据中心的距离,远了肯定不行,延迟太高,而且远程桌面的带宽真的不小,玩玩可以,不推荐长期使用。
    mostkia
        25
    mostkia  
       2020-02-10 17:09:30 +08:00   ❤️ 1
    云桌面其实还是架设在家中更好一些,要是随便整台机器就能用,也不必那么麻烦了,其实配置环境之类的也需要大量时间的,租用的服务器性能也不高,高的价格也受不了,而且一个不小心欠费了,数据也可能会丢,还不如把家里的电脑利用起来。家中的电脑,所有的文件、配置环境都是自己熟悉的,可以做到零成本快速切换使用,而且硬件也可以自己升级,升级后就是永久的了,这样带个超薄本就能随时连接到自己手头最强算力的设备了。云服务器开一台配置最低的,宽带按量拉满,直接 FRP 内穿回家中的电脑,省下的钱补贴家中电脑开机时的电费。
    br00k
        26
    br00k  
       2020-02-11 08:56:21 +08:00 via iPhone
    如果有支持 remoteFX 体验就会更好了
    RickyC
        27
    RickyC  
       2020-02-11 10:15:53 +08:00
    不太理解. 阁下说的不就是租一台 windows server 服务器吗?
    这个不是 10 多年前就能实现的吗?
    那时的价格, 应该也是一个月几百上千元, 当然配置是低的.
    这怎么叫云桌面呢? 这叫云电脑啊.
    这种方案的价格,如果是 20 元 /月以下, 我会考虑. 否则我觉得是奢侈品了.
    Rheinmetal
        28
    Rheinmetal  
       2020-02-11 13:16:44 +08:00 via Android
    优点是临时伸缩配置 如果负载波动大是划算的现在临时应急其实也行 长租拿来当开发机就有点贵了
    Rheinmetal
        29
    Rheinmetal  
       2020-02-11 13:20:35 +08:00 via Android
    @RickC 区别在于按量计费 加上竞价实例可以按网络 /io/cpu 的实际用量付费 拿来应急比较灵活
    临时需要高负载任务 可以几十块搞定 不用长租高性能机器
    snoopygao
        30
    snoopygao  
       2020-02-11 13:44:29 +08:00
    天翼云实名后给两个月的云桌面,具体没验证
    villivateur
        31
    villivateur  
    OP
       2020-02-11 19:38:40 +08:00 via Android
    @snoopygao 那东西我看了,没有 PC 客户端,只能在手机上用远程桌面。我 tm。。。
    suom
        32
    suom  
       2020-02-11 21:01:49 +08:00
    ip 改成弹性 ip。会省很多钱。
    zqfxch
        33
    zqfxch  
       2020-02-12 16:13:28 +08:00
    支持一下楼主分享。
    其实这就是最简单的云桌面的使用模式,RDP 模式,在这个特殊的时间支持了楼主的短期高配置办公需求。
    阿里云最新一代的 t6 也出来了,价格比 t5 更便宜,看了下 t6 4 核 16G 的性能基线是 40%,也就是说平均 CPU 使用率不超过 40%,99%的情况够用了,咱自己家的电脑平常上个网玩个普通游戏 CPU 使用率一般也低于这个数字,更不用说普通的办公了。
    不过抢占式实例可能被释放,需要时刻关注释放通知,这个有点累,长期使用可以使用按量付费或者预留实例券,并且开启停机不收费功能。
    firsthym
        34
    firsthym  
       2020-02-24 20:55:59 +08:00
    想问下,抢占式后面可以转成按量或者包月包年吗?
    villivateur
        35
    villivateur  
    OP
       2020-02-24 21:13:09 +08:00
    @firsthym 不可以
    leffz
        36
    leffz  
       2020-05-13 15:09:14 +08:00
    很棒,学习了。又赶上阿里云最新的优惠活动,不如购置一台云服务器,方便多了:leffz.com
    oooolongtea
        37
    oooolongtea  
       2020-10-29 06:46:08 +08:00
    @villivateur 多谢分享,我想用这个搭一个远程的 linux 然后用 tightvnc 连上去。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3072 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:36 · PVG 22:36 · LAX 07:36 · JFK 10:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.