Azure 虚拟桌面是在 Azure 中运行的桌面和应用程序虚拟化服务。 本文旨在帮助桌面基础结构架构师、云架构师、桌面管理员和系统管理员探索 Azure 虚拟桌面,并在企业范围内构建虚拟化桌面基础结构 (VDI) 解决方案。 企业规模解决方案通常涉及 1,000 个或更多的虚拟桌面。
体系结构
下图显示了 Azure 虚拟桌面的典型体系结构设置:
下载此体系结构的 Visio 文件。
数据流
下面介绍了该示意图的数据流元素:
应用程序终结点位于客户的本地网络中。 Azure ExpressRoute 将本地网络扩展到 Azure 中,Microsoft Entra Connect 将客户的 Active Directory 域服务 (AD DS) 与 Microsoft Entra ID 集成。
Azure 虚拟桌面控制平面处理 Web 访问、网关、代理、诊断和扩展性组件(如 REST API)。
客户负责管理 AD DS 和 Microsoft Entra ID、Azure 订阅、虚拟网络、Azure 文件存储或 Azure NetApp 文件以及 Azure 虚拟桌面主机池和工作区。
为了增加容量,客户通过中心辐射型体系结构来使用两个 Azure 订阅,并通过虚拟网络对等互连将二者连接。
有关 FSLogix 配置文件容器 - Azure 文件存储和 Azure NetApp 文件最佳做法的详细信息,请参阅 FSLogix 配置示例。
组件
Azure 虚拟桌面服务体系结构类似于 Windows Server 远程桌面服务 (RDS)。 虽然基础结构和代理组件由 Microsoft 管理,但企业客户自己的桌面主机虚拟机 (VM)、数据和客户端由企业客户自行管理。
Microsoft 管理的组件
Microsoft 将以下 Azure 虚拟桌面服务作为 Azure 的一部分来管理:
Web 访问:通过使用 Azure 虚拟桌面中的 Web 访问服务,可通过兼容 HTML5 的 Web 浏览器访问虚拟桌面和远程应用,就像访问本地计算机一样,并且可以从任何设备上的任何位置进行访问。 可以在 Microsoft Entra ID 中使用多重身份验证来保护 Web 访问。
网关:远程连接网关服务将远程用户从任何可运行 Azure 虚拟桌面客户端的连接 Internet 的设备连接到 Azure 虚拟桌面应用和桌面。 该客户端连接到一个网关,然后该网关协调从一个 VM 返回到同一网关的连接。
连接代理:连接代理服务管理与虚拟桌面和远程应用的用户连接。 连接代理提供负载均衡和与现有会话的重新连接。
诊断:远程桌面诊断是一个基于事件的聚合器,它将 Azure 虚拟桌面部署上的每个用户操作或管理员操作标记为成功或失败。 管理员可查询事件聚合信息来识别故障组件。
扩展性组件:Azure 虚拟桌面包括多个扩展性组件。 可以使用 Windows PowerShell 或提供的 REST API 来管理 Azure 虚拟桌面,这样还可获取第三方工具支持。
自行管理的组件
Azure 虚拟桌面解决方案的以下组件由用户自行管理:
Azure 虚拟网络:使用 Azure 虚拟网络,可让 Azure 资源(例如 VM)彼此之间私下通信以及与 Internet 通信。 通过将 Azure 虚拟桌面主机池连接到 Active Directory 域,可以定义网络拓扑,用于根据组织策略通过 Intranet 或 Internet 访问虚拟桌面和虚拟应用。 可以使用虚拟专用网 (VPN) 将 Azure 虚拟桌面实例连接到本地网络,也可使用 Azure ExpressRoute 通过专用连接将本地网络扩展到 Azure。
Microsoft Entra ID:Azure 虚拟桌面使用 Microsoft Entra ID 进行身份验证和访问控制管理。 Microsoft Entra 集成会应用 Microsoft Entra 安全功能,如条件访问、多重身份验证和 Intelligent Security Graph,并帮助维护加入域的 VM 中的应用兼容性。
Active Directory 域服务(可选):Azure 虚拟桌面虚拟机可以域加入 AD DS 服务,也可以使用在 Azure 虚拟桌面中部署加入 Microsoft Entra 的虚拟机
- 在使用 AD DS 域时,该域必须与 Microsoft Entra ID 同步,以在两个服务之间关联用户。 可以使用 Microsoft Entra Connect 将 AD DS 与 Microsoft Entra ID 相关联。
- 使用 Microsoft Entra 加入时,请查看支持的配置,以确保方案受支持。
Azure 虚拟桌面会话主机:会话主机是用户为其桌面和应用程序而连接的 VM。 多个 Windows 版本受支持,你可使用应用程序和自定义项创建映像。 可以选择 VM 大小,包括启用了 GPU 的 VM。 每个会话主机都有一个 Azure 虚拟桌面主机代理,该代理将 VM 注册为 Azure 虚拟桌面工作区或租户的一部分。 每个主机池可以有一个或多个应用组,这些应用组是用户可访问的远程应用程序或桌面会话的集合。 要查看受支持的 Windows 版本,请参阅操作系统和许可证。
Azure 虚拟桌面工作区:Azure 虚拟桌面工作区或租户是用于管理和发布主机池资源的管理构造。
方案详细信息
可能的用例
对企业虚拟桌面解决方案的最大需求来自:
与金融服务、医疗保健和政府等相关的安全和监管应用程序。
弹性劳动力需求,如远程工作、并购、短期员工、承包商和合作伙伴访问。
特定员工,例如自带设备办公 (BYOD) 和移动用户、呼叫中心和分支机构工作人员。
专用工作负荷,如设计与工程、遗留应用和软件开发测试。
个人桌面和共用桌面
通过使用个人桌面解决方案(有时称为持久桌面),用户能够始终连接到同一特定会话主机。 用户通常可以根据个人偏好修改他们的桌面体验,并可在桌面环境中保存文件。 个人桌面解决方案:
- 允许用户自定义其桌面环境(包括用户安装的应用程序),并且用户可在桌面环境中保存文件。
- 允许将专用资源分配给特定用户,这在一些制造或开发用例中非常有用。
共用桌面解决方案(也称为非持久桌面)将用户分配到当前可用的任何会话主机,具体取决于负载均衡算法。 由于用户每次连接时并不总是返回同一会话主机,因此他们自定义桌面环境的能力有限,并且通常不具有管理员访问权限。
注意
这里的“持久”和“非持久”是指用户配置文件的持久性。 这并不意味着操作系统磁盘会还原为黄金映像或在重启时放弃更改。
Windows 服务
有几个选项可用于更新 Azure 虚拟桌面实例。 每月部署一个更新的映像可以保证合规性和状态。
- Microsoft Endpoint Configuration Manager (MECM) 更新服务器和桌面操作系统。
- 适用于企业的 Windows 更新更新桌面操作系统,如 Windows 10 企业版多会话。
- Azure 更新管理可更新服务器操作系统。
- Azure Log Analytics 可检查合规性。
- 每月向会话主机部署一个新(自定义)映像,以获取最新的 Windows 和应用程序更新。 可以使用来自 Azure 市场的映像或使用自定义 Azure 托管映像。
关键逻辑组件之间的关系
主机池、工作区和其他关键逻辑组件之间的关系有所不同。 下图总结了此过程:
以下说明中的数字对应于上图中的数字。
- (1) 包含已发布桌面的应用程序组只能包含装载到主机池的 MSIX 包(这些包将在会话主机的“开始”菜单中提供),不能包含任何其他已发布资源,并且称为桌面应用程序组。
- (2) 分配给同一主机池的应用程序组必须是同一工作区的成员。
- (3) 可以直接或通过 Microsoft Entra 组将用户帐户分配给应用程序组。 可以不将用户分配到应用程序组,但随后它无法为任何用户提供服务。
- (4) 可以拥有一个空工作区,但它不能为用户提供服务。
- (5) 可以拥有一个空主机池,但它不能为用户提供服务。
- (6) 可以不为主机池分配任何应用程序组,但它不能为用户提供服务。
- (7) Azure 虚拟桌面需要 Microsoft Entra ID。 这是因为必须始终使用 Microsoft Entra 用户帐户和组才能将用户分配到 Azure 虚拟桌面应用程序组。 Microsoft Entra ID 还用于向 Azure 虚拟桌面服务中的用户进行身份验证。 Azure 虚拟桌面会话主机也可以是 Microsoft Entra ID 域的成员,在这种情况下,Azure 虚拟桌面发布的应用程序和桌面会话也将使用 Microsoft Entra ID 帐户启动和运行(而不仅仅是分配)。
- (7) 或者,Azure 虚拟桌面会话主机也可以是 AD DS 域的成员,在这种情况下,Azure 虚拟桌面发布的应用程序和桌面会话也将使用 AD DS 帐户启动和运行(而不是分配)。 为了减少用户和管理开销,可以通过 Microsoft Entra Connect 将 AD DS 与 Microsoft Entra ID 同步。
- (7) 最后,Azure 虚拟桌面会话主机可以是 Microsoft Entra 域服务域的成员,在这种情况下,Azure 虚拟桌面发布的应用程序和桌面会话也将使用 Microsoft Entra 域服务帐户启动和运行(而不是分配)。 Microsoft Entra ID 会自动与 Microsoft Entra 域服务同步,仅从 Microsoft Entra ID 单向同步到 Microsoft Entra 域服务。
资源 | 目的 | 逻辑关系 |
---|---|---|
已发布桌面 | 在 Azure 虚拟桌面会话主机上运行并通过网络交付给用户的 Windows 桌面环境 | 为一个且仅一个应用程序组的成员 (1) |
已发布应用程序 | 在 Azure 虚拟桌面会话主机上运行并通过网络交付给用户的 Windows 应用程序 | 一个且只有一个应用程序组的成员 |
应用程序组 | 已发布应用程序或已发布桌面的逻辑分组 | - 包含已发布的桌面 (1) 或一个或多个已发布的应用程序 - 分配给一个主机池且仅分配给一个主机池 (2) - 为一个且仅一个工作区的成员 (2) - 向其分配了一个或多个 Microsoft Entra 用户帐户或组 (3) |
Microsoft Entra 用户帐户/组 | 标识允许启动已发布的桌面或应用程序的用户 | - 为一个且仅一个 Microsoft Entra ID 的成员 - 分配给一个或多个应用程序组 (3) |
Microsoft Entra ID (7) | 标识提供者 | - 包含一个或多个用户帐户或用户组,这些帐户或用户组必须用于将用户分配到应用程序组,也可用于登录会话主机 - 可以保存会话主机的成员身份 - 可与 AD DS 或 Microsoft Entra 域服务同步 |
AD DS (7) | 标识和目录服务提供程序 | - 包含一个或多个可用于登录会话主机的用户帐户或组 - 可以保存会话主机的成员身份 - 可与 Microsoft Entra ID 同步 |
Microsoft Entra 域服务 (7) | 基于平台即服务 (PaaS) 的标识和目录服务提供程序 | - 包含一个或多个可用于登录会话主机的用户帐户或组 - 可以保存会话主机的成员身份 - 已与 Microsoft Entra ID 同步 |
工作区 | 应用程序组的逻辑分组 | 包含一个或多个应用程序组 (4) |
主机池 | 一组服务于共同目的的相同会话主机 | - 包含一个或多个会话主机 (5) - 向其分配了一个或多个应用程序组 (6) |
会话主机 | 托管已发布的桌面或应用程序的虚拟机 | 一个且只有一个主机池的成员 |
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
以下部分中的数字是近似值。 这些数字基于各种大型客户部署,并且会随着时间的推移而发生变化。
另请注意:
- 不能为每个 Microsoft Entra 租户创建超过 500 个应用程序组*。
- 建议每个应用程序组发布的应用程序不要超过 50 个。
Azure 虚拟桌面限制
Azure 虚拟桌面与 Azure 非常类似,但有一些服务限制需要注意。 为了避免必须在缩放阶段进行更改,最好在设计阶段解决其中一些限制。
Azure 虚拟桌面对象 | 每个父容器对象 | 服务限制 |
---|---|---|
工作区 | Microsoft Entra 租户 | 1300 |
HostPool | 工作区 | 400 |
应用程序组 | Microsoft Entra 租户 | 500* |
RemoteApp | 应用程序组 | 500 |
角色分配 | 任何 Azure 虚拟桌面对象 | 200 |
会话主机 | HostPool | 10,000 |
*如果需要超过 500 个应用程序组,请通过 Azure 门户提交支持票证。
- 建议每个区域的每个 Azure 订阅部署的 VM 不超过 5,000 个。 此建议适用于基于 Windows 企业版单会话和多会话的个人主机池和池主机池。 大多数客户使用 Windows 企业版多会话,这样每个 VM 可供多个用户登录。 可以增加每个会话主机 VM 的资源,以便提供更多用户会话。
- 对于自动会话主机缩放工具,每个区域每个 Azure 订阅的限制大约为 2,500 个 VM,因为 VM 状态交互会消耗更多资源。
- 要管理同一区域中每个 Azure 订阅具有 5,000 台以上 VM 的企业环境,可以在中心辐射型体系结构中创建多个 Azure 订阅,并通过虚拟网络对等互连来连接它们(每个分支使用一个订阅)。 还可以在同一订阅中的不同区域中部署 VM,以增加 VM 的数量。
- Azure 资源管理器订阅 API 的限制不允许通过 Azure 门户每小时重启 600 次 Azure VM。 可以通过操作系统一次重新启动所有计算机,这不会消耗任何 Azure 资源管理器订阅 API 调用。 有关基于 Azure 订阅对限制进行计数和故障排除的详细信息,请参阅 排查 API 限制错误。
- 目前,在 Azure 虚拟桌面门户的单个 ARM 模板部署中,最多可以部署 132 台 VM。 要创建超过 132 台 VM,请在 Azure 虚拟桌面门户中多次运行 ARM 模板部署。
- 由于自动分配实例名称,并且每个计算机帐户的 NetBIOS 限制为 15 个字符,因此 Azure VM 会话主机名前缀不能超过 11 个字符。
- 默认情况下,可以在资源组中部署最多 800 个实例(可使用大多数资源类型)。 Azure 计算没有此限制。
有关 Azure 订阅限制的详细信息,请参阅 Azure 订阅和服务限制、配额与约束。
VM 大小调整
虚拟机大小调整准则 列出了每个虚拟中央处理单元 (vCPU) 的最大建议用户数以及不同工作负荷的最小 VM 配置。 此数据有助于估计主机池中所需的 VM。
使用模拟工具通过压力测试和实际使用情况模拟来测试部署。 请确保系统具有足够的响应和复原能力来满足用户需求,并记住在测试时改变负载大小。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化支柱概述。
可以构建 Azure 虚拟桌面解决方案,实现节约成本。 以下是五个可帮助管理企业成本的选项:
- Windows 10 多会话:通过为具有相同计算需求的用户提供多会话桌面体验,可以让更多用户同时登录到单个 VM,这种方法可以节省大量成本。
- Azure 混合权益:如果有软件保障,可以使用 Windows Server 的 Azure 混合权益来节省 Azure 基础结构的成本。
- Azure 虚拟机预留实例:可以为 VM 的使用预先付费并节省资金。 可结合使用 Azure 虚拟机预留实例与 Azure 混合权益,可比标价节省最多 80% 的费用。
- 会话主机负载均衡:设置会话主机时,将用户随机分布到会话主机的广度优先模式是标准默认模式。 或者,可以使用深度优先模式在会话主机服务器移动到下一个会话主机之前填充最大用户数。 可以调整此设置以获得最大的成本效益。
部署此方案
使用 ARM 模板 自动部署 Azure 虚拟桌面环境。 这些 ARM 模板仅支持 Azure 资源管理器 Azure 虚拟桌面对象。 这些 ARM 模板不支持 Azure 虚拟桌面(经典)。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
首席作者:
- Tom Hickling | Azure 虚拟桌面工程高级产品经理
其他参与者:
- Nelson Del Villar | 云解决方案架构师,Azure Core 基础结构
后续步骤
- Azure 虚拟桌面合作伙伴集成 列出了已批准的 Azure 虚拟桌面合作伙伴提供商和独立软件供应商。
- 使用虚拟桌面优化工具来帮助优化 Windows 10 企业版 VDI(虚拟桌面基础结构)环境的性能。
- 有关详细信息,请参阅在 Azure 虚拟桌面中部署已建立 Microsoft Entra 联接的虚拟机。
- 了解有关 Active Directory 域服务的详细信息。
- 什么是 Microsoft Entra Connect?
相关资源
- 有关多 Active Directory 林体系结构的详细信息,请参阅 Azure 虚拟桌面中的多 Active Directory 林体系结构。