要使容器部署过程成功将您的容器部署到 Microsoft Azure,您必须配置防火墙以允许活动的容器管理器访问它所需的域名服务 (DNS) 地址。此外,您的 DNS 还必须按照本主题中所述解析特定的名称。除了主容器部署以外,在将外部网关部署在其自身的 VNet 中时,该 VNet 的子网也必须满足本主题中所述的单独容器 VNet 管理子网的相同 DNS 要求。

重要事项:

容器部署过程会使用 jump box 虚拟机。在容器部署过程中以及为容器部署 Unified Access Gateway 配置期间为容器的 Unified Access Gateway 虚拟机配置设置时,该 jump box 虚拟机需要遵循一些端口和协议要求。请参阅容器 Jump Box 在容器部署和容器更新期间所需的端口和协议

将外部网关部署在其自身的 VNet 中时,还会使用其自身的 jump box 虚拟机(不同于容器的 jump box 虚拟机)。该 jump box 虚拟机在网关部署过程中具有其自身的端口和协议要求。请参阅当外部网关部署在其自身的 VNet 中时:外部网关配置的 Jump Box 在网关部署和更新期间所需的端口和协议

在成功部署容器后,需要使用特定的端口和协议来执行日常 Horizon Cloud 操作。所需的特定端口和协议取决于该容器是 2019 年 9 月版本的清单版本还是以前的清单版本。

首要容器部署过程、容器更新和日常操作的 DNS 要求

您必须确保可以解析以下 DNS 名称,并且可以使用下表中列出的特定端口和协议从管理子网和租户子网中访问这些名称。Horizon Cloud 会使用特定的出站端口将容器软件安全地下载到您的 Microsoft Azure 环境中,以便容器可以重新连接到云控制平面。您必须配置网络防火墙、网络安全组 (NSG) 规则和代理服务器,以便活动容器管理器能够与所需端口上的 DNS 地址联系。否则,容器部署过程将失败。

重要事项:
  • 如果使用该功能将外部网关部署在其自身的 VNet 中,则该 VNet 中的管理子网必须满足下表所述的容器 VNet 中的管理子网的相同 DNS 要求。外部网关 VNet 的后端子网和 DMZ 子网没有特定的 DNS 要求。
  • 在部署具有外部网关和/或内部网关的容器时,您必须上载一个证书,容器部署程序将在这些网关配置中配置该证书。如果您出于此目的提供的证书使用 CRL(证书吊销列表)或引用特定 DNS 名称的 OCSP(联机证书状态协议)设置,则必须确保针对那些 DNS 名称的 VNet 上的出站 Internet 访问可解析并可访问。在 Unified Access Gateway 网关配置中配置提供的证书期间,Unified Access Gateway 软件将访问这些 DNS 名称以检查证书的吊销状态。如果无法访问这些 DNS 名称,容器部署将在其连接阶段失败。这些名称高度依赖于用于获取证书的 CA,因此不在 VMware 的控制中。

“欢迎使用 Horizon 服务”电子邮件将指示您的租户帐户是在哪个区域控制平面实例中创建的。在向您发送欢迎电子邮件时,由于存在一个已知问题,您收到的电子邮件可能会显示区域的系统字符串名称,而不是易记名称。如果在欢迎电子邮件中看到系统字符串名称,您可以使用下表将电子邮件中显示的内容与区域控制平面 DNS 名称相关联。

表 1. 您的欢迎电子邮件中的区域映射到区域控制平面 DNS 名称
您的欢迎电子邮件显示 区域 DNS 名称
USA cloud.horizon.vmware.com
EU_CENTRAL_1Europe cloud-eu-central-1.horizon.vmware.com
AP_SOUTHEAST_2Australia cloud-ap-southeast-2.horizon.vmware.com
PROD1_NORTHCENTRALUS2_CP1USA-2 cloud-us-2.horizon.vmware.com
PROD1_NORTHEUROPE_CP1Europe-2 cloud-eu-2.horizon.vmware.com
PROD1_AUSTRALIAEAST_CP1Australia-2 cloud-ap-2.horizon.vmware.com
Japan cloud-jp.horizon.vmware.com
UK cloud-uk.horizon.vmware.com
表 2. 容器部署和操作的 DNS 要求
子网源 目标(DNS 名称) 端口 协议 用途
管理 以下名称之一,具体取决于在您的 Horizon Cloud 租户帐户中指定了哪个区域控制平面实例。区域实例是在创建帐户时设置的,如载入到适用于 Microsoft Azure 的 Horizon Cloud、Horizon 内部部署以及 VMware Cloud on AWS 上的 Horizon 中所述。
  • cloud.horizon.vmware.com
  • cloud-us-2.horizon.vmware.com
  • cloud-eu-central-1.horizon.vmware.com
  • cloud-eu-2.horizon.vmware.com
  • cloud-ap-southeast-2.horizon.vmware.com
  • cloud-ap-2.horizon.vmware.com
  • cloud-jp.horizon.vmware.com
  • cloud-uk.horizon.vmware.com
443 TCP 区域控制平面实例
  • 美国:cloud.horizon.vmware.com、cloud-us-2.horizon.vmware.com
  • 欧洲:cloud-eu-central-1.horizon.vmware.com、cloud-eu-2.horizon.vmware.com
  • 亚太地区:cloud-ap-southeast-2.horizon.vmware.com、cloud-ap-2.horizon.vmware.com
  • 日本:cloud-jp.horizon.vmware.com
  • 英国:cloud-uk.horizon.vmware.com
管理 softwareupdate.vmware.com 443 TCP VMware 软件包服务器。用于下载系统的映像相关操作中使用的代理相关软件的更新。
管理 以下名称之一,具体取决于哪个区域 DNS 名称适用于您的帐户。
  • d1mes20qfad06k.cloudfront.net
  • hydra-softwarelib-cdn.azureedge.net
443 TCP Horizon Cloud 内容交付服务器。在管理子网上,该站点用于下载容器管理器和 Unified Access Gateway 虚拟机的 VHD(虚拟硬盘)。此外,还用于网关连接器虚拟机的 VHD(如果外部网关在其自身的 VNet 中)

d1mes20qfad06k.cloudfront.net 对应于 cloud.horizon.vmware.com、cloud-eu-central-1.horizon.vmware.com、cloud-ap-southeast-2.horizon.vmware.com 的区域实例。

hydra-softwarelib-cdn.azureedge.net 对应于 cloud-us-2.horizon.vmware.com、cloud-eu-2.horizon.vmware.com、cloud-ap-2.horizon.vmware.com、cloud-jp.horizon.vmware.com、cloud-uk.horizon.vmware.com 的区域实例

管理 packages.microsoft.com 443 和 11371 TCP Microsoft 软件包服务器。用于安全地下载 Microsoft Azure 命令行界面 (CLI) 软件。
管理 azure.archive.ubuntu.com 80 TCP Ubuntu 软件包服务器。供与容器相关的基于 Linux 的虚拟机使用以获取 Ubuntu 操作系统更新。
管理 api.snapcraft.io 443 TCP Ubuntu 软件包服务器。供容器的基于 Linux 的虚拟机使用以获取 Ubuntu 操作系统更新。
管理 archive.ubuntu.com 80 TCP Ubuntu 软件包服务器。供容器的基于 Linux 的虚拟机使用以获取 Ubuntu 操作系统更新。
管理 changelogs.ubuntu.com 80 TCP Ubuntu 软件包服务器。供容器的基于 Linux 的虚拟机使用以跟踪 Ubuntu 操作系统更新。
管理 security.ubuntu.com 80 TCP Ubuntu 软件包服务器。供容器的基于 Linux 的虚拟机使用以获取与安全相关的 Ubuntu 操作系统更新。
管理 以下目标之一,取决于您要将容器部署到的 Microsoft Azure 云:
  • Microsoft Azure(全球):login.microsoftonline.com
  • Microsoft Azure 德国:login.microsoftonline.de
  • Microsoft Azure 中国:login.chinacloudapi.cn
  • Microsoft Azure 美国政府:login.microsoftonline.us
443 TCP 应用程序通常使用此 Web 地址来进行 Microsoft Azure 服务的身份验证。有关 Microsoft Azure 文档中的一些说明,请参阅 OAuth 2.0 授权代码流Azure Active Directory v2.0 和 OpenID Connect 协议以及国家云国家云主题介绍了每个 Microsoft Azure 国家云的 Azure AD 身份验证端点有何不同。
管理 以下目标之一,取决于您要将容器部署到的 Microsoft Azure 云:
  • Microsoft Azure(全球):management.azure.com
  • Microsoft Azure 德国:management.microsoftazure.de
  • Microsoft Azure 中国:management.chinacloudapi.cn
  • Microsoft Azure 美国政府:management.usgovcloudapi.net
443 TCP 用于向 Microsoft Azure 资源管理器端点发起要求使用 Microsoft Azure 资源管理器服务的容器 API 请求。Microsoft Azure 资源管理器提供了一个一致的管理层,用于通过 Azure PowerShell、Azure CLI、Azure 门户、REST API 和客户端 SDK 执行任务。
管理 以下目标之一,取决于您要将容器部署到的 Microsoft Azure 云:
  • Microsoft Azure(全球):graph.windows.net
  • Microsoft Azure 德国:graph.cloudapi.de
  • Microsoft Azure 中国:graph.chinacloudapi.cn
  • Microsoft Azure 美国政府:graph.windows.net
443 TCP 访问 Azure Active Directory (Azure AD) Graph API,该 API 用于容器通过 OData REST API 端点对 Azure Active Directory (Azure AD) 进行的编程访问。
管理 以下目标之一,取决于您将容器部署到的 Microsoft Azure 云:
  • Microsoft Azure(全球):*.blob.core.windows.net
  • Microsoft Azure 德国:*.blob.core.cloudapi.de
  • Microsoft Azure 中国:*.blob.core.chinacloudapi.cn
  • Microsoft Azure 美国政府:*.blob.core.usgovcloudapi.net
443 TCP 用于容器对 Azure Blob Storage 进行的编程访问。Azure Blob Storage 是一项用于存储大量非结构化对象数据(例如文本或二进制数据)的服务。
管理 以下目标之一,取决于您将容器部署到的 Microsoft Azure 云:
  • Microsoft Azure(全球):*.vault.azure.net
  • Microsoft Azure 德国:*.vault.microsoftazure.de
  • Microsoft Azure 中国:*.vault.azure.cn
  • Microsoft Azure 美国政府:*.vault.usgovcloudapi.net
443 TCP 用于容器以编程方式使用 Azure Key Vault 云服务的功能。Azure Key Vault 是一项云服务,可为密钥提供安全存储。
管理 如果您的防火墙或网络安全组 (NSG) 支持使用服务标记,请执行以下操作之一:
  • 全局 Azure SQL 服务标记:Sql
  • 用于部署容器的 Azure 区域的特定 SQL 服务标记:Sql.区域,如 Sql.WestUS

如果您的防火墙或网络安全组 (NSG) 不支持使用服务标记,则可以使用数据库的主机名。此名称采用以下格式:*.postgres.database.azure.com。

5432 TCP 用于容器与 Microsoft Azure PostgreSQL 数据库服务器的通信。从 2019 年 9 月版本开始,自该版本日期之后新部署的容器以及更新到该版本清单版本的容器,均会配置为使用 Microsoft Azure PostgreSQL 数据库服务器。

有关安全组中服务标记的信息,请参阅 Microsoft Azure 文档主题服务标记

管理 以下名称之一,具体取决于在您的 Horizon Cloud 租户帐户中指定了哪个区域控制平面实例。区域实例是在创建帐户时设置的,如载入到适用于 Microsoft Azure 的 Horizon Cloud、Horizon 内部部署以及 VMware Cloud on AWS 上的 Horizon 中所述。
  • connector-azure-us.vmwarehorizon.com
  • connector-azure-eu.vmwarehorizon.com
  • connector-azure-aus.vmwarehorizon.com
  • connector-azure-jp.vmwarehorizon.com
  • connector-azure-uk.vmwarehorizon.com
443 TCP Universal Broker 服务的区域实例
  • 美国:connector-azure-us.vmwarehorizon.com
  • 欧洲:connector-azure-eu.vmwarehorizon.com
  • 澳大利亚:connector-azure-aus.vmwarehorizon.com
  • 日本:connector-azure-jp.vmwarehorizon.com
  • 英国:connector-azure-uk.vmwarehorizon.com
租户 以下名称之一,具体取决于哪个区域 DNS 名称适用于您的帐户。
  • d1mes20qfad06k.cloudfront.net
  • hydra-softwarelib-cdn.azureedge.net
443 TCP Horizon Cloud 内容交付服务器。在租户子网上,系统的自动“导入映像”流程使用该站点下载代理相关软件的安装程序。

d1mes20qfad06k.cloudfront.net 对应于 cloud.horizon.vmware.com、cloud-eu-central-1.horizon.vmware.com、cloud-ap-southeast-2.horizon.vmware.com 的区域实例。

hydra-softwarelib-cdn.azureedge.net 对应于 cloud-us-2.horizon.vmware.com、cloud-eu-2.horizon.vmware.com、cloud-ap-2.horizon.vmware.com、cloud-jp.horizon.vmware.com、cloud-uk.horizon.vmware.com 的区域实例

租户 取决于在您的 Horizon Cloud 帐户中指定了哪个区域控制平面:

北美地区:

  • kinesis.us-east-1.amazonaws.com
  • query-prod-us-east-1.cms.vmware.com

欧洲:

  • kinesis.eu-central-1.amazonaws.com
  • query-prod-eu-central-1.cms.vmware.com

澳大利亚:

  • kinesis.ap-southeast-2.amazonaws.com
  • query-prod-ap-southeast-2.cms.vmware.com

日本:

  • kinesis.ap-northeast-1.amazonaws.com
  • query-prod-ap-northeast-1.cms.vmware.com

英国:

  • kinesis.eu-west-2.amazonaws.com
  • query-prod-eu-west-2.cms.vmware.com
443 TCP Cloud Monitoring Service (CMS)

容器 Jump Box 在容器部署和容器更新期间所需的端口和协议

《Horizon Cloud 部署指南》中所述,在最初创建容器时以及随后在容器环境中进行软件更新期间都会使用 jump box 虚拟机。容器创建后,会删除 jump box 虚拟机。之后,更新容器时,会重新创建 jump box 虚拟机以运行该更新过程;在更新完成后,将会删除该 jump box 虚拟机。在编辑容器以添加 Unified Access Gateway 配置时,将包括此类更新。

注: 在 Microsoft Azure 中使用 2019 年 9 月版本及更高版本新部署或更新到 2019 年 9 月版本清单级别且已启用高可用性的容器,将具有两个管理器虚拟机。下面段落中使用“可能不止一个”用于指示 jump box 虚拟机必须与容器的所有管理器虚拟机通信,无论容器只有一个管理器虚拟机还是有两个管理器虚拟机。

在这些过程中,该 jump box 虚拟机与以下设备进行通信:

  • 容器的管理器虚拟机,使用 SSH 访问管理器虚拟机的端口 22。因此,在容器部署过程和容器更新过程中,必须满足 jump box 虚拟机与管理器虚拟机的端口 22 之间的通信要求。因此,在 jump box 虚拟机(源)与管理器虚拟机(目标)之间必须允许使用管理器虚拟机的端口 22。
  • Unified Access Gateway 虚拟机,使用 HTTPS 访问这些虚拟机的端口 9443,此处,容器部署了 Unified Access Gateway 配置或编辑以添加该配置。因此,在容器部署过程和容器更新过程中,如果容器配置包括 Unified Access Gateway,则必须满足 jump box 虚拟机和 Unified Access Gateway 虚拟机的端口 9443 之间的通信要求。因此,必须允许在 jump box 虚拟机(源)和 Unified Access Gateway 虚拟机(目标)之间使用 Unified Access Gateway 虚拟机的端口 9443。

由于为这些虚拟机动态分配 IP 地址,因此,允许该通信的网络规则应:

  • 将管理子网 CIDR 作为源和目标,并指定目标端口 22、源端口任意和协议 TCP。
  • 在涉及 Unified Access Gateway 配置时,将管理子网 CIDR 作为源和目标,并指定目标端口 9443、源端口任意和协议 TCP。
注: 日常容器操作无需使用容器管理器虚拟机的端口 22。但是,如果您向 VMware 发起支持请求,而技术支持团队确定对请求的问题进行调试的方式是部署一个 jump box 虚拟机,以便与容器管理器虚拟机进行 SSH 通信,那么您将必须满足此端口要求,因为 VMware 技术支持团队需要使用此端口对问题进行调试。VMware 技术支持团队将根据具体支持情况告知您需满足的任何要求。

当外部网关部署在其自身的 VNet 中时:外部网关配置的 Jump Box 在网关部署和更新期间所需的端口和协议

《Horizon Cloud 部署指南》中所述,最初在外部网关自身的 VNet 中创建外部网关时以及随后对该网关进行软件更新期间都会使用 jump box 虚拟机。在外部网关自身的 VNet 中创建外部网关后,将删除 jump box 虚拟机。之后,更新该外部网关时,会重新创建 jump box 虚拟机以运行该更新过程;在更新完成后,将会删除该 jump box 虚拟机。此类更新包括编辑容器以在外部网关自身的 VNet 中添加外部网关的情况。

在这些过程中,该 jump box 虚拟机与以下设备进行通信:

  • 在这些过程中,该 jump box 虚拟机会使用 SSH 通过网关连接器虚拟机的端口 22 与该连接器虚拟机进行通信。因此,在网关部署过程和更新过程中,必须满足 jump box 虚拟机与连接器虚拟机的端口 22 之间的通信要求。在 jump box 虚拟机(源)和连接器虚拟机(目标)之间必须允许使用连接器虚拟机的端口 22。
  • Unified Access Gateway 虚拟机,使用 HTTPS 访问这些虚拟机的端口 9443。因此,在容器部署过程和容器更新过程中,如果容器配置包括 Unified Access Gateway,则必须满足 jump box 虚拟机和 Unified Access Gateway 虚拟机的端口 9443 之间的通信要求。因此,必须允许在 jump box 虚拟机(源)和 Unified Access Gateway 虚拟机(目标)之间使用 Unified Access Gateway 虚拟机的端口 9443。

由于为这些虚拟机动态分配 IP 地址,因此,允许该通信的网络规则应:

  • 将管理子网 CIDR 作为源和目标,并指定目标端口 22、源端口任意和协议 TCP。
  • 将管理子网 CIDR 作为源和目标,并指定目标端口 9443、源端口任意和协议 TCP。
注: 容器日常操作不要求在网关连接器虚拟机上提供端口 22。但是,如果您向 VMware 发起支持请求,而技术支持团队确定对请求的问题进行调试的方式是部署一个 jump box 虚拟机,以便与该网关连接器虚拟机进行 SSH 通信,那么您将必须满足此端口要求,因为 VMware 技术支持团队需要使用此端口对问题进行调试。VMware 技术支持团队将根据具体支持情况告知您需满足的任何要求。