亚马逊AWS官方博客

Amazon WorkSpaces 在企业级 VDI 项目中的小经验

云上 VDI 是当前主流

根据网上的公开数据,2024 年将是虚拟桌面基础设施(VDI)在云上的支出超过本地(on-premises)支出的起始年。复合年增长率(CAGR)对比:

  • 本地 VDI 的 CAGR 为 -5.49%。
  • 公共云 VDI 的 CAGR 为 29.04%。

Amazon WorkSpaces 是 DaaS(Desktop as a Serives)重要参与者。Amazon WorkSpaces 是一款专为多样化工作负载设计的安全可靠的全托管式虚拟桌面基础设施(VDI)解决方案。作为 DaaS 产品,它赋予用户能够从任何支持的设备无缝地访问云端的虚拟桌面和关键业务应用程序,从而显著提升工作效率和操作灵活性。Amazon WorkSpaces 提供了企业级的 SLA 保障,确保了服务的高可用性和业务连续性,为企业提供了一个稳定可靠的云上工作环境。通过这项服务,企业能够享受到云计算带来的便捷性,同时保持对数据安全和系统管理的严格控制。

亚马逊云科技在 2023 年被 IDC MarketScape 评为 DaaS Leader 厂商:

从上图 1 可以发现 2020 年还是传统 VDI 厂商主导,在上图 2 的 2023 年已经变成公有云厂商主导 VDI 市场。

报告原文件详见链接:https://pages.awscloud.com/GLOBAL-broad-enterprise-marketing-content-download-idc-ardm-worldwide_desktop_as_a_service_vendor_assessment-report-report-learn?trk=09517292-25cd-4e07-8c5f-3425ef468afe&sc_channel=el

规划 Amazon WorkSpaces 的小经验

Amazon WorkSpaces 包括多个产品家族,本文聚焦经典的 Amazon WorkSpaces 全功能虚拟桌面。

第一章:项目前期选型

1.1 不同国家地区的用户分别选择最近的区域

从客户的体验出发,网络距离是一个至关重要的因素。利用到 Amazon 全球分布的骨干网和 Workspaces 服务的全球分布,我们推荐所有客户选择距离最近的站点。我们可以请不同区域的最终使用者,访问下面网址(如图所示可以切换到中文或英文等),可以直观获得最适合的节点。

https://clients.amazonworkspaces.com/Health.html

类似上图中国北方城市访问情况,宁夏区域最佳。

不同分支机构最终选择可能是,国内用户选择宁夏区,亚太用户选择新加坡或东京,北美用户选择美西俄勒冈或美东弗吉尼亚北,欧洲用户选择伦敦或爱尔兰,非洲用户选择开普敦或法兰克福。这样不仅每个用户在网上都可以获得最佳体验,而且在合规方面也能满足日趋严格的,认证、法律和各种标准。

1.2 区域内 WorkSpaces 的数据中心选择的考虑

亚马逊云科技每个区域(region)都有 3 个以上可用区(AZ)组成,AZ 逻辑上对应到子网,物理上 AZ 对应多个数据中心。

很多客户涉及到 VDI 环境和 IDC 以及云上不同业务系统的交互问题。每个 region 提供 WorkSpaces 服务的 AZ 不同(AZ 选择在 WorkSpaces 菜单的 AD 注册里面选择),可以根据下面链接查看。

https://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/azs-workspaces.html

WorkSpaces 的 AZ 选择,需要考虑到和现有 EC2 尽量同子网(就是同 AZ),跨子网、跨 VPC、跨 region 和跨 IDC 需要考虑到子网路由和安全组的互通问题。另外如果 WorkSpaces 需求较大,也可以新建 VPC 或子网。

1.3 WorkSpaces 协议选择

每个用户都可以根据自身需求,选择合适的连接协议,这个需要在构建阶段选择。

对于大部分场景我们推荐选择 WSP 协议,因为 WSP 底层是基于 UDP/QUIP 协议,从客户端网络到 WorkSpaces 所在区域的往返时间(RTT)小于 250 毫秒都可以获得最佳性能。

对于只能使用使用 PCoIP 的场景,需要留意客户端网络到 WorkSpaces 所在区域之间的 RTT 应小于 100 毫秒。

具体细节见官网:https://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/amazon-workspaces-protocols.html

1.4 WorkSpaces 客户端选择

不同场景下我们需要根据业务需求选择合适的客户端接入方式。在客户端下载页面查看到支持的企业级场景下的客户端类型。

https://clients.amazonworkspaces.com/

另外对于海外用户,亚马逊云科技提供了原厂配套的瘦客户端设备https://aws.amazon.com/cn/workspaces/thin-client/)。

1.5 网络和 AD 设计部署建议

  • 在接近大陆的亚马逊云科技 Region(如香港或新加坡)部署辅助域控制器(AD),并与大陆的主域控制器通过专用网络连接(VPN/SDWAN/专线)。
  • 每个部署 Amazon WorkSpaces 的区域都需部署 AD connector 以连接到辅助域控制器。
  • WorkSpaces 应在靠近用户的 Region 启动,如欧洲法兰克福、东南亚新加坡、澳大利亚悉尼、南美圣保罗、美东弗吉尼亚等。

全球多个站点统一 AD 身份登陆

  • 用户应选择物理位置最近的 Region 登录,实现全球统一身份认证。
  • 无 AD 系统的用户可选择成本最低的区域作为主区域。
  • 已有 AD 系统的用户可直接使用现有 AD 和 AD Connector。

AD 互通网络层要求

  • 确保 IP 地址不重叠。
  • 确保路由互通,少量互通场景推荐使用 VPC Peering,大规模场景(例如使用三个及以上的 VPC or Region)推荐使用 VPC TGW。
  • 安全组互通,推荐安全组互相信任或指定所需端口(如 53/443/4172/4195/80 等)。

安全组配置 Tips

  • 先在 Managed AD 的控制器安全组添加入站规则。
  • AD Connect 创建后,迅速在创建的控制器安全组添加入站规则。
  • 推荐选择安全组互相信任方式,或者指定所需端口方式如 AD,WorkSpaces 所需的 TCP/UDP 的 53/443/4172/4195/80 等;具体端口要求详见官方文档:Amazon WorkSpaces 端口要求

第二章:项目中期架构设计

2.1 WorkSpaces 是否容许互联网访问以及方式选择

1. 如果 WorkSpces 在公网,点下图功能会分配的公网 ip,这时候有被攻击风险。一般也不符合企业的安全规范。

2. 如果 WorkSpces 在私有子网,需要配置 NAT 就可以上网。

Tips:如果您选择了 NAT 方式,下图就不要打对勾选中了,否则每台 Workspaces 还是会分配公网 IP,带来额外费用。

具体参考:https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces-internet-access.html

2.2 WorkSpaces 所在 AZ 定位

在企业环境中,我们可能需要对一些安全组或路由策略做细化定义。

每台 workspaces 启动后都有一个 VPC 内私有 ip 地址。可以通过这个地址定位,IP 所在子网,进而查看到这个 IP 所在匹配的 ENI(弹性网络接口)和对应的安全组,并可以对安全组做自定义调整。

基于在 WorkSpaces 服务页面查询到的设备私有 ip,可以在 EC2 菜单的 ENI 页面中查询到子网,安全组等信息。

2.3 身份认证和访问控制

除了常规的 Active Directory 凭证进行登录外,Amazon WorkSpaces 还可与您现有的 RADIUS 服务器集成,以启用多重身份验证(MFA)。 此外,WorkSpaces 与您的 SAML 2.0 身份提供者(IdP) 集成,以便您可以将 IdP 提供的安全功能扩展到 WorkSpaces,包括多重(MFA)和上下文访问。

如果企业希望在云上部署 FreeRADIUS 多因素认证(MFA)与 Amazon WorkSpaces 进行集成,可以参考如下详细的部署指南和架构设计:

https://aws-ia.github.io/cfn-ps-freeradius-mfa-workspaces/

https://aws.amazon.com/cn/blogs/desktop-and-application-streaming/integrating-freeradius-mfa-with-amazon-workspaces/

https://aws.amazon.com/cn/solutions/implementations/freeradius-mfa-with-amazon-workspaces/

设备访问控制方面,您可以根据客户端操作系统类型,也可以使用数字证书限制对 Amazon WorkSpaces 的访问。您可以选择阻止或允许 macOS、Microsoft Windows、Linux、iPadOS、Android、Chrome OS、零客户端和 WorkSpaces Web Access 客户端的访问。

您还可以通过“IP 访问控制组”功能,指定允许访问 WorkSpaces 的受信任 IP 地址或地址范围。

第三章:项目后期运维管理

3.1 黄金镜像建立和复用

Tips

1. 因为后续复制需求,原始存储不能启用加密(系统/数据盘都不能有加密)。

2. 如果要从 Windows WorkSpaces 创建映像,请在运行创建进程之前使用位于 C:\Program Files\Amazon\ImageChecker.exe 中的映像检查器验证映像。这个可以有效排查Images创建失败的各种问题。比如 Windows 镜像要求 C 盘需要大于 12G 可用空间,应用需要部署在 C 盘。

3. 如果设置了运行模式为 AutoStop(自动关闭)需要留意必须为启动状态才能制作 images。

第一步:创建自定义镜像(Images

建议在创建“黄金镜像”前把当前需要安装的软件等都部署调试完毕

我们在 WorkSpaces 菜单的,操作里面选择“创建镜像”。 建议根据不同的黄金镜像名字补充好备注信息。需要等大概 30 分钟左右镜像可以创建完毕。

具体注意事项请参考官网:https://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/create-custom-bundle.html

第二步:创建自定义捆绑包(Bundles

这个类似批量复制的模板要从自定义映像启动 Amazon WorkSpace,您首先需要将自定义映像与您希望 WorkSpace 使用的硬件类型进行配对,从而形成一个捆绑包(Bundles)。然后可以通过控制台发布此组合,当启动新的 WorkSpaces 时,选择该组合即可。

Images 创建后,就可以创建后期用于复制的 Bundles。这个创建时间在分钟级别。Bundles 创建后就可以在 Workspaces 创建页面,选自定义的服务包进行批量复制了。

第三步(可选):黄金镜像的跨区域复制

Images 创建后可以跨 region 复制。在 WorkSpaces 导航窗格中,选择映像(Images)。选择需要复制的 images,然后选择操作、复制映像。对于选择目标,选择要复制映像的另外区域。这样就可以把黄金镜像复制到其他区域了。

Tips:在 Region 之间复制 WorkSpaces Images 不会产生数据传输费用。

3.2 应用管理、补丁管理(ITSM、原生托管服务)、安全管理

第三方商用 ITSM 产品

https://aws.amazon.com/marketplace/pp/prodview-vcrfqahaffqmm

Cloudpager 是首个面向 Windows 桌面的云原生容器管理平台。它原生支持 WAM 包、App-V、MSIX 和 Cloudpaging 等多种格式,可以轻松将所有应用程序无缝迁移至 Amazon WorkSpaces,包括那些原本并不兼容 DaaS(桌面即服务)的应用。 通过其直观的云管理控制台,管理员可以以高度自动化的方式,在物理和虚拟 Windows 桌面上实现跨平台的应用容器和更新分发,而且分发速度只需几秒钟。总的来说,这一平台最大限度地简化了配置需求和 DaaS 复杂性,从而大幅降低了在 Amazon WorkSpaces 上采用 DaaS 以及运营和软件许可成本。

Systems Manager 的补丁管理功能

Systems Manager 是亚马逊云科技提供的一站式运维中心,可实现 Amazon WorkSpaces 等云资源的统一管理和自动化运维。它将 WorkSpaces 视为混合实例,通过 API Gateway 实现了与 WorkSpaces 代理的无缝集成,大幅降低了管理开销。

在 Systems Manager 中,运维人员可从统一界面全面掌控 WorkSpaces 的配置、补丁分发、应用交付等生命周期,并借助预先审批的变更工作流程确保运维质量。更重要的是,Systems Manager 深度融合了云桌面的特性,让运维无比高效便捷。

https://aws.amazon.com/cn/blogs/desktop-and-application-streaming/automating-aws-systems-manager-activation-for-amazon-workspaces/

第四章:总结

从上文看,在部署 WorkSpaces 时,需要考虑众多因素,包括但不限于以下几点:

1. 集成与技术栈

作为面向企业的用户系统,WorkSpaces 天然与微软 Active Directory 集成,支持现有 AD 身份功能,确保平稳过渡,因此在项目中也需要我们同时具备 windows 相关技术栈知识。

2. 数据安全

客户选择企业级 VDI 系统,往往会首先考虑到数据安全。这并不是一个传统的 PC 客户端思维,往往需要支持并兼容多种身份认证,系统层减少暴露面,互联网访问控制,提供自动备份等。

3. 网络互通性

在网络层面,可能需要实现数据中心(IDC)与云之间的连接。通过 VPN 可以进行测试和小型部署,而通过专线则可以实现大规模部署。此外,VDI 系统还可能需要在应用层面实现互通,例如现有 AD 环境的互通和信任传递。

4. 用户体验

桌面系统的设计非常看重用户体验,直接影响到客户的工作效率。 Amazon Workspaces 是全球分布的,可以方便客户就近接入最近区域的资源。另外 Amazon VPC Transit Gateway 和 Amazon VPC peering 功能也提供中大规模和小规模的跨区域云内互通,为 Amazon WorkSpaces 全球分布式接入提供了网络层保障。另外管理员可以授权用户可自定义配置如 CPU,内存,存储等,可以满足多变的业务需求并减低管理成本。

5. 客户端支持

WorkSpaces 支持跨平台访问,包括 Web Access、Windows、MacOS、Android 和 iOS 等各类设备作为轻量级客户端接入虚拟桌面。

6. 后期管理

Amazon WorkSpaces 提供了容易使用的黄金镜像和跨区域复制镜像能力,方便企业客户建立好基础软件和安全基线后快速复制推广。在项目后期的应用管理阶段,凭借优秀的生态系统, Amazon WorkSpaces 可以复用企业现有的 ITSM 系统,实现软件迭代,版本管理等诉求。在企业文档层还可以结合 Amazon WorkDocs 实现安全的内容创建、存储和协作。

本文希望分享相关的小经验,为相关领域的实践者提供有价值的参考和指导。

第五章:WorkSpaces 项目常见问题

1. 不确定什么资源不足,体验慢

我们需要判断慢在操作系统里面,还是网络层。建立测试阶段设置一个检查清单,以方便定位问题。

网络层问题可以通过 WorkSpaces 客户端的网络检测功能,查看客户端到 WorkSpaces 服务器之间的网络连接性能是否正常(不同协议和应用对网络有不同要求)。

如果客户端和 WorkSpaces 服务器之间的网络连接品质不佳,可以调低品质(禁用高 DPI 模式),节省网络带宽,提升客户端访问 WorkSpaces 的流畅度:

https://docs.amazonaws.cn/workspaces/latest/userguide/high_dpi_support.html

操作系统内问题,可以通过 OS 内置的性能监控查看,另外也可以借助云上的 CloudWatch 监控性能:https://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/cloudwatch-metrics.html

2. UC 场景,配置很高了,但还是体验慢

这个情况一般是运行的应用需要 GPU 来处理编解码操作,因为没有配 GPU 所以用 CPU 代替,导致在相关应用,如视频会议等场景体验比较慢。

此时有两个选择,其一是提升硬件配置最好是选择带 GPU 的计算资源。另外一个更经济的选择是,如果您采用的 UC 类软件可以借助本地解码功能,直接配置成 VDI 优化模式就可以解决(此时一般需要应用软件的 VDI 专门版本)。

以 Zoom Meetings 为例,需要在本机运行 Zoom VDI plugin 5.12.6 以上版本;需要在 WorkSpaces 内运行 Zoom VDI client5.12.6 以上版本;WorkSpaces clients5.10 以上版本;系统配置上还需要几个设置,具体参考官网文档:https://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/group_policy.html#zoom-integration

配置完成后,在 Zoom 的设置菜单的统计信息中可以查看到 VDI 的插件状态是已连接(Connected)。

3. 连接不上(能上网但连接不上 WorkSpaces)

例如有个国内苏州的客户,在公司使用苏州电信的网络可以正常访问 Internet,但是连接部署在 AWS 新加坡 Region 的 WorkSpaces 就始终连不上。 解决的方法是更换互联网出口运营商(例如这个客户更换为苏州移动的互联网出口问题就解决了)。

4. 禁止访问

管理员在 WorkSpaces 控制台里,没有对特定的访问方式进行授权,导致客户端被禁止访问 WorkSpaces。

我们需要在 WorkSpaces 菜单的“目录” 、“查看详细信息”配置里进行调整。

5. 文档需管控

企业级别文档需要审计和留痕或本身就希望限制下载,推荐使用企业级的文档管理系统 Amazon WorkDocs。

Amazon WorkDocs 是一项完全托管的用于实现安全的内容创建、存储和协作的服务。借助 Amazon WorkDocs,可以轻松创建、编辑和共享内容,并且由于它集中存储在云平台上,因此可以从任何位置在任何设备上进行访问。Amazon WorkDocs 可使用户轻松地与其他人协作,而且还可以让用户轻松地共享内容,提供丰富的反馈,以及协作编辑文档。具体参考官网:https://aws.amazon.com/cn/workdocs

参考资料

Amazon WorkSpaces SLA:https://aws.amazon.com/cn/workspaces/sla

IDC MarketScape: Worldwide Desktop-as-a-Service 2022-2023 Vendor Assessment:https://pages.awscloud.com/GLOBAL-broad-enterprise-marketing-content-download-idc-ardm-worldwide_desktop_as_a_service_vendor_assessment-report-report-learn?trk=09517292-25cd-4e07-8c5f-3425ef468afe&sc_channel=el

快速上手 Amazon WorkSpaces 云中的虚拟桌面:https://aws.amazon.com/cn/blogs/china/get-started-with-virtual-desktops-in-the-amazon-workspaces-cloud

Amazon WorkSpaces 的 LinOTP 多重身份验证:https://aws.amazon.com/cn/blogs/china/deploy-linotp-multifactor-authentication-for-workspaces/?nc1=b_rp

集成 FreeRADIUS MFA:https://aws.amazon.com/cn/blogs/desktop-and-application-streaming/integrating-freeradius-mfa-with-amazon-workspaces

优化 Amazon WorkSpaces 以实现实时通信:https://docs.aws.amazon.com/zh_cn/workspaces/latest/adminguide/communication-optimization.html#media-optimization-modes-overview

Zoom 环境下的优化体验:https://aws.amazon.com/cn/blogs/desktop-and-application-streaming/enhance-zoom-virtual-meetings-on-amazon-workspaces-with-the-workspaces-streaming-protocol

本篇作者

梁海峰

亚马逊云科技资深解决方案架构师,专注于基础架构平台。他从事 IT 解决方案工作超过 20 年,在 Unix,X86,ARM 平台和相关应用系统具有丰富实战经验,服务过云上众多行业客户,致力于协助客户上云、优化架构和成本。

尹广东

亚马逊云科技资深解决方案架构师,拥有超过十年的云计算行业经验。曾在 CA Technologies、HP、Citrix 等科技企业任职技术岗位,对企业级应用、网络、数据架构有深入洞察,深刻理解 AWS 核心的计算、网络、存储、数据分析以及云桌面架构及生态,目前专注于金融服务行业(FSI)的解决方案架构设计。