Azure 虚拟桌面服务体系结构和弹性

Azure 虚拟桌面旨在为组织和用户提供可复原、可靠且安全的服务。 Azure 虚拟桌面的体系结构包含许多组件,构成将用户连接到其桌面和应用的服务。 大多数组件都是由 Microsoft 管理的,但有些组件由客户管理或合作伙伴管理。

Microsoft 为核心功能即服务提供虚拟桌面基础结构 (VDI) 组件。 这些组件包括:

  • Web 服务:面向用户的网站和终结点,并将连接信息返回到用户的设备。
  • 中转站服务:协调传入连接。
  • 网关服务:Websocket 服务,它提供从用户设备连接到提供桌面和应用的会话主机的远程桌面协议 (RDP) 连接。
  • 资源目录:提供信息来指示 Web 服务,多个地理数据库中哪个托管每个用户所需的连接信息。
  • 地理数据库:包含用户预配的每个资源的连接文件 (.rdp) 和图标。

此外,Azure 虚拟桌面使用其他 Azure 服务(例如 Azure 流量管理器)将用户定向到最近的 Azure 虚拟桌面入口点。

你负责创建和管理会话主机,包括任何操作系统映像自定义和应用程序、虚拟网络连接、复原能力以及这些会话主机的备份和恢复。 还可以提供和管理用户标识,并控制对服务的访问。 可以使用其他 Azure 服务来帮助满足要求,例如:

  • Azure 可用性区域,将会话主机分配到 Azure 区域中的物理独立数据中心位置,每个位置都有独立的电源、冷存储层和网络。
  • Azure 备份,以备份和还原会话主机。
  • Azure Site Recovery,将会话主机复制到另一个 Azure 区域。
  • Azure 顾问,帮助优化 Azure 资源。

此简要关系图显示了组件和职责:

显示谁管理 Azure 虚拟桌面的组件的关系图。

用户连接

当用户希望在 Azure 虚拟桌面中访问其桌面和应用时,为使连接成功,涉及到多个组件。 有两个单独的序列:

  1. 源发现。 源是可供用户使用的桌面和应用的列表。
  2. 通过远程桌面协议连接到会话主机。

源发现

在源发现期间,用户可用的桌面和应用将填充在其本地设备上的应用中。 源包含连接所需的所有信息。

源发现过程如下所示:

  1. 用户可能位于世界上的任意位置。 Azure 流量管理器根据地理流量路由方法,使用用户设备的源 IP 地址将用户设备路由到最近的 Azure 虚拟桌面 Web 服务实例。

  2. Web 服务连接到同一 Azure 区域中的 Azure 虚拟桌面代理服务,以检索用户源的 RDP 文件和应用程序图标。 代理服务连接到同一区域中的 Azure 虚拟桌面地理数据库和资源目录以检索信息。

  3. 中转站服务将 RDP 文件和应用程序图标返回到 Web 服务,后者将信息返回到用户的设备。

    下面是显示单个 Azure 区域中的源发现过程的简要示意图:

    展示单个 Azure 区域中的源发现过程的关系图。

    地理数据库仅包含来自地理区域所涵盖的同一 Azure 区域中主机池的桌面和应用所需的信息。 如果将用户分配到其他地理位置涵盖的主机池中的桌面或应用,资源目录会告知 Web 服务连接到正确的 Azure 区域中的中转站服务和地理数据库。

    下面是一个简要示意图,其中显示了不同地理位置涵盖的 Azure 区域中主机池的源发现过程:

    显示 Azure 区域中由不同地理位置涵盖的主机池的源发现过程的关系图。

RDP 连接

当用户从其源连接到桌面或应用时,RDP 连接将会建立,如下所示:

  1. 网关服务连接到同一 Azure 区域中的中转站服务。 网关服务可让会话主机位于任何区域,并且仍可供用户访问。

  2. 中转站服务接管并协调用户设备与会话主机之间的连接。 中转站服务指示在会话主机上运行的 Azure 虚拟桌面代理连接到用户设备连接的同一网关服务。

  3. 此时,根据配置和可用的网络协议,将创建两种连接类型之一:

    1. 反向连接传输:在客户端和会话主机连接到网关服务后,它开始使用客户端和会话主机之间的传输控制协议 (TCP) 中继 RDP 流量。 反向连接传输是默认连接类型。

    2. RDP 短路径:在用户的设备与会话主机之间创建基于用户的直接用户数据报协议 (UDP) 传输,绕过网关服务。

下面是显示 RDP 连接过程的简要示意图:

显示 RDP 连接过程的关系图。

提示

可以参阅“了解 Azure 虚拟桌面网络连接”,了解有关网络连接的更多详细技术信息。

服务复原能力

Azure 虚拟桌面设计为可复原故障,为用户提供可靠的服务。 该服务设计为复原各个组件的故障,并能够快速从故障中恢复。

Azure 虚拟桌面的 Microsoft 托管组件目前位于大约 40 个 Azure 区域,靠近用户并提供可复原的服务。 复原能力在全球、地区和 Azure 区域中采用以下方式实现:

  • Azure 流量管理器定向 Web 服务的流量。 如果发生服务中断导致 Web 服务或网关服务从一个 Azure 区域不可用,或者发生完整区域中断,则会将流量重定向到最近区域中下一个最近的可用实例。 流量的重定向让用户仍能建立新连接。

  • 地理数据库在每个地理位置内使用 Azure SQL 数据库故障转移和数据复制功能。 如果发生数据库中断,数据库会故障转移到次要副本,并恢复正常操作。 在故障转移期间,新连接在故障转移完成之前会失败,但此故障转移不会影响现有连接。

  • 资源目录、中转站服务、Web 服务和网关服务在 Azure 虚拟桌面的 Microsoft 托管组件所在的每个 Azure 区域中均可用。 每个组件都有多个实例,因此没有单个故障点。 在每个 Azure 区域中,每个组件至少有六个不同的独立实例或群集独立运行,以应对实例故障。

    例如,一个区域有足够的网关服务的实例来满足需求,但也有足够的容量来容纳这些实例的故障。 如果网关服务的实例失败,将删除通过该网关服务的特定实例中继的任何基于 TCP 的 RDP 连接。 当这些断开连接的用户重新连接时,其余实例将处理请求并将每个用户重新连接到其现有会话。 网关服务的其他实例处理的其他所有会话都不受影响。

下面是显示 Microsoft 托管组件如何互连的简要示意图:

显示由 Microsoft 管理的组件如何互连的关系图。

Azure 虚拟桌面依赖的其他 Azure 服务本身设计为可复原且可靠。 有关详细信息,请参阅 Azure 流量管理器

若要了解 Azure 虚拟桌面存储服务对象数据的位置,请参阅 Azure 虚拟桌面的数据位置