你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于企业的 Azure 虚拟桌面

Microsoft Entra ID
Microsoft Entra
Azure 虚拟网络
Azure 虚拟桌面

Azure 虚拟桌面 是在 Azure 中运行的桌面和应用程序虚拟化服务。 本文旨在帮助桌面基础结构架构师、云架构师、桌面管理员和系统管理员探索 Azure 虚拟桌面,并在企业范围内构建虚拟化桌面基础结构 (VDI) 解决方案。 企业规模解决方案通常涉及 1,000 个或更多的虚拟桌面。

体系结构

下图显示了 Azure 虚拟桌面的典型体系结构设置:

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 虚拟网络时,VM 等 Azure 资源可以彼此和 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 虚拟桌面 VM 可以是已加入 AD DS 服务的域,也可以使用 在 Azure 虚拟桌面中部署已加入 entra 的虚拟机Microsoft

    • 在使用 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 虚拟桌面实例。 每月部署一个更新的映像可以保证合规性和状态。

关键逻辑组件之间的关系

主机池、工作区和其他关键逻辑组件之间的关系有所不同。 下图总结了此过程:

说明关键逻辑组件之间的关系的关系图。

以下说明中的数字对应于上图中的数字。

  • (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 域服务域的成员,在这种情况下,将使用 Microsoft Entra 域服务帐户启动和运行 Azure 虚拟桌面发布的应用程序和桌面会话(但未分配)。 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 架构良好的框架的支柱原则,即一套可用于改进工作负荷质量的指导原则。 有关详细信息,请参阅 Well-Architected Framework

使用 评估工具 评估 Azure 虚拟桌面工作负载的就绪情况。 此工具检查与 Azure 虚拟桌面工作负载文档中所述的最佳做法的一致性。

可靠性

可靠性有助于确保应用程序能够履行对客户的承诺。 有关详细信息,请参阅 可靠性设计评审清单

  • 确保容量是保留的:为了确保计算资源的有保证分配,可以请求按需 容量预留 ,且没有期限承诺,并且可以与预留实例结合使用。
  • 添加区域内部复原:对支持这些服务的 Azure 服务使用 可用性区域 ,例如:
    • 虚拟机(会话主机)
    • Azure 存储(FSLogix 或应用附加)。 有关详细信息,请参阅 Azure 存储冗余
  • 构建业务连续性计划:如果 可用性区域 不符合 RTO 或 RPO 目标,请查看 Azure 虚拟桌面 的多区域业务连续性和灾难恢复(BCDR) 指南。

安全

安全性提供针对故意攻击和滥用宝贵数据和系统的保证。 有关详细信息,请参阅 安全设计评审清单

部署 Azure 虚拟桌面时,请考虑以下与安全相关的因素。

  • 使用 Microsoft Entra ID:用户可以使用不同的设备和客户端从任何位置登录到 Azure 虚拟桌面。 若要最大程度地降低未经授权的访问风险,并为组织提供管理登录风险的能力, 请使用条件访问强制实施Microsoft Entra 多重身份验证
  • 使用加密:默认情况下,大多数 Azure 托管磁盘在保存到云时会静态加密。 如果会话主机需要更广泛的加密(例如端到端加密),请查看 有关托管磁盘加密选项 的指导,以保护存储的数据免受未经授权的访问。
  • 使用专用网络:如果需要与 Azure 虚拟桌面资源建立专用连接,请使用 Azure 专用链接和 Azure 虚拟桌面 来限制虚拟网络与Microsoft网络上的服务之间的流量。

注意

有关更多安全建议,请参阅 有关 Azure 虚拟桌面安全建议的指导

成本优化

成本优化侧重于减少不必要的开支和提高运营效率的方法。 有关详细信息,请参阅 成本优化的设计评审清单

部署 Azure 虚拟桌面时,请考虑以下与成本相关的因素。

  • 规划多会话支持:对于具有相同计算要求的工作负载,通常共用主机池, Windows Enterprise 多会话 提供接受更多用户一次登录到单个 VM 的功能:降低成本和管理开销。
  • 优化许可:如果有软件保障,可以使用 Azure 混合权益 来降低 Azure 计算基础结构的成本。
  • 预购计算:可以根据 VM 使用情况提交一年或三年计划 (Azure 预留)来获得折扣,以大幅降低资源成本。 这可以与 Azure 混合权益结合使用,以节省额外的成本。
  • 根据需要进行横向扩展:如果提交到 Azure 预留不适合当前需求,请考虑自动缩放会话主机的动态预配/取消预配 计划 ,因为需求在一天/周发生变化。
  • 评估负载均衡选项:将主机池负载均衡算法配置为深度优先。 但是,请注意,这可能导致用户体验下降;默认广度优先优化用户体验。 有关详细信息,请参阅 在 Azure 虚拟桌面中配置主机池负载均衡

卓越运营

卓越运营涵盖部署应用程序并使其在生产环境中运行的运营流程。 有关详细信息,请参阅 针对卓越运营的设计评审清单

  • 配置警报:配置 服务运行状况 和资源 运行状况 警报,以随时了解你使用的 Azure 服务和区域的运行状况。
    • 监视用于托管 FSLogix 配置文件或应用附加共享的 Azure 存储解决方案,以确保不会超过阈值,这可能会对用户体验产生负面影响。
  • 收集性能数据:在 Azure 虚拟桌面会话主机上安装 Azure 监视代理 ,以提取和监视性能计数器和事件日志。 有关详细信息,请参阅 可配置的性能指标/计数器和事件日志列表
  • 收集使用情况见解:使用 Azure 虚拟桌面见解 来帮助进行检查,例如客户端版本正在连接、节省成本的机会,或者知道是否存在资源限制或连接问题。
  • 优化诊断设置:为所有服务、Azure 虚拟桌面工作区、应用程序组、主机池、存储帐户启用诊断设置。 确定哪些设置对你的作有意义。 关闭不有意义的设置以避免不当成本;看到大量 IOPS 的存储帐户(特别是文件服务)会产生较高的监视成本。

性能效率

性能效率是指工作负荷能够高效地缩放以满足用户需求。 有关详细信息,请参阅 性能效率的设计评审清单

  • 使用防病毒排除项:对于装载虚拟硬盘文件的 FSLogix 等配置文件解决方案,建议排除这些文件扩展名。 有关详细信息,请参阅 “配置防病毒文件和文件夹排除”。
  • 优化延迟:对于使用点到站点 (P2S) VPN 连接的客户端,请使用基于用户数据报协议(UDP)的拆分隧道来降低延迟并优化隧道带宽使用率。 对于使用 VPN 或 Azure ExpressRoute 的站点客户端,请使用 RDP Shortpath 减少往返时间,从而提高对延迟敏感应用程序和输入方法的用户体验。
  • 使用适当大小的计算虚拟机大小调整指南 列出了每个虚拟中央处理单元(vCPU)和不同工作负荷的最低 VM 配置建议的最大用户数。 此数据有助于估计主机池中所需的 VM。
    • 利用模拟工具通过压力测试和实际使用模拟来测试部署。 确保系统具有响应能力和弹性,以满足用户需求,并记得在测试时改变负载大小。
  • 使用临时 OS 磁盘:如果像牛一样对待会话主机而不是宠物, 临时 OS 磁盘 是提高性能、延迟(类似于临时磁盘)的好方法,并同时节省成本,因为它们是免费的。

局限性

Azure 虚拟桌面与 Azure 非常类似,但有一些服务限制需要注意。 为了避免必须在缩放阶段进行更改,最好在设计阶段解决其中一些限制。

有关 Azure 虚拟桌面服务限制的详细信息,请参阅 Azure 虚拟桌面服务限制

另请注意:

  • 不能为每个 Microsoft Entra 租户创建超过 500 个应用程序组*。
    • 如果需要的应用程序组数超过 500 个,请通过 Azure 门户提交支持工单。
  • 建议每个应用程序组发布的应用程序不要超过 50 个。
  • 建议每个区域的每个 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 订阅和服务限制、配额和约束

部署此方案

可以使用 ARM 模板 集合来自动部署 Azure 虚拟桌面环境。 这些 ARM 模板仅支持 Azure 资源管理器 Azure 虚拟桌面对象。 这些 ARM 模板不支持 Azure 虚拟桌面(经典)。

Microsoft开发人员工具提供了更多方案,这些工具支持多个部署选项:

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

首席作者:

其他参与者:

后续步骤