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

在虚拟网络中运行 Azure Spring Apps 的客户责任

注意

基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用

本文适用于:✅ 基本计划/标准计划 ✅ 企业计划

本文包括在虚拟网络中使用 Azure Spring Apps 的规范。

将 Azure Spring Apps 部署到虚拟网络后,它对虚拟网络外部的服务有出站依赖关系。 出于管理和操作目的,Azure Spring Apps 必须访问特定的端口和完全限定域名 (FQDN)。 Azure Spring Apps 要求这些终结点与管理平面通信,以及下载并安装核心 Kubernetes 群集组件和安全更新。

默认情况下,Azure Spring Apps 具有不受限制的出站(出口)Internet 访问权限。 此级别的网络访问权限允许你运行的应用程序根据需要访问外部资源。 如果你希望限制出口流量,则有限数量的端口和地址必须可供访问,以便执行维护任务。 保护出站地址的最简单解决方案是使用可基于域名控制出站流量的防火墙设备。 例如,Azure 防火墙可以根据目标的 FQDN 限制出站 HTTP 和 HTTPS 流量。 还可配置首选的防火墙和安全规则,以允许所需的端口和地址。

Azure Spring Apps 资源要求

以下列表显示了 Azure Spring Apps 服务的资源要求。 你不应该修改由 Azure Spring Apps 创建的资源组,也不应该修改基础网络资源,这是常规要求。

  • 不要修改由 Azure Spring Apps 创建并拥有的资源组。
    • 默认情况下,这些资源组命名为 ap-svc-rt_<service-instance-name>_<region>*ap_<service-instance-name>_<region>*
    • 请勿阻止 Azure Spring Apps 更新这些资源组中的资源。
  • 请勿修改 Azure Spring Apps 使用的子网。
  • 请勿在同一子网中创建多个 Azure Spring Apps 服务实例。
  • 使用防火墙来控制流量时,请勿阻止发往运行、维护服务实例并为其提供支持的 Azure Spring Apps 组件的以下出口流量。

Azure 全球的必需网络规则

目标终结点 端口 用途 注意
*:443 或 ServiceTag - AzureCloud:443 TCP:443 Azure Spring Apps 服务管理。 有关服务实例 requiredTraffics 的信息,请查看 networkProfile 部分下的资源有效负载。
*.azurecr.io:443 或 ServiceTag - AzureContainerRegistry:443 TCP:443 Azure 容器注册表。 可以通过在虚拟网络中启用 Azure 容器注册表服务终结点来进行替换。
*.core.windows.net:443 和 *.core.windows.net:445 ServiceTag - Storage:443 和 Storage:445 TCP:443、TCP:445 Azure 文件 可以通过在虚拟网络中启用 Azure 存储服务终结点来进行替换。
*.servicebus.windows.net:443 ServiceTag - EventHub:443 TCP:443 Azure 事件中心。 可以通过在虚拟网络中启用 Azure 事件中心服务终结点来进行替换。
*.prod.microsoftmetrics.com:443 或 ServiceTag - AzureMonitor:443 TCP:443 Azure Monitor。 允许对 Azure Monitor 的出站调用。

Azure 全球的必需 FQDN/应用程序规则

Azure 防火墙提供 FQDN 标记 AzureKubernetesService 来简化以下配置:

目标 FQDN 端口 用途
*.azmk8s.io HTTPS:443 基础 Kubernetes 群集管理。
mcr.microsoft.com HTTPS:443 Microsoft 容器注册表 (MCR)。
*.data.mcr.microsoft.com HTTPS:443 由 Azure CDN 提供支持的 MCR 存储。
management.azure.com HTTPS:443 基础 Kubernetes 群集管理。
login.microsoftonline.com HTTPS:443 Microsoft Entra 身份验证。
packages.microsoft.com HTTPS:443 Microsoft 包存储库。
acs-mirror.azureedge.net HTTPS:443 安装所需二进制文件(如 kubenet 和 Azure CNI)时所需的存储库。

21Vianet 运营的 Microsoft Azure 需要的网络规则

目标终结点 端口 用途 注意
*:443 或 ServiceTag - AzureCloud:443 TCP:443 Azure Spring Apps 服务管理。 有关服务实例 requiredTraffics 的信息,请查看 networkProfile 部分下的资源有效负载。
*.azurecr.cn:443 或 ServiceTag - AzureContainerRegistry:443 TCP:443 Azure 容器注册表。 可以通过在虚拟网络中启用 Azure 容器注册表服务终结点来进行替换
*.core.chinacloudapi.cn:443 and *.core.chinacloudapi.cn:445 或 ServiceTag - Storage:443 and Storage:445 TCP:443、TCP:445 Azure 文件 可以通过在虚拟网络中启用 Azure 存储服务终结点来进行替换。
*.servicebus.chinacloudapi.cn:443 或 ServiceTag - EventHub:443 TCP:443 Azure 事件中心。 可以通过在虚拟网络中启用 Azure 事件中心服务终结点来进行替换。
*.prod.microsoftmetrics.com:443 或 ServiceTag - AzureMonitor:443 TCP:443 Azure Monitor。 允许对 Azure Monitor 的出站调用。

21Vianet 运营的 Microsoft Azure 需要的 FQDN / 应用程序规则

Azure 防火墙提供 FQDN 标记 AzureKubernetesService 来简化以下配置:

目标 FQDN 端口 使用
*.cx.prod.service.azk8s.cn HTTPS:443 基础 Kubernetes 群集管理。
mcr.microsoft.com HTTPS:443 Microsoft 容器注册表 (MCR)。
*.data.mcr.microsoft.com HTTPS:443 由 Azure CDN 提供支持的 MCR 存储。
management.chinacloudapi.cn HTTPS:443 基础 Kubernetes 群集管理。
login.chinacloudapi.cn HTTPS:443 Microsoft Entra 身份验证。
packages.microsoft.com HTTPS:443 Microsoft 包存储库。
*.azk8s.cn HTTPS:443 安装所需二进制文件(如 kubenet 和 Azure CNI)时所需的存储库。

用于第三方应用程序性能管理的 Azure Spring Apps 可选 FQDN

目标 FQDN 端口 用途
collector*.newrelic.com TCP:443/80 美国区域的 New Relic APM 代理所需的网络,另请参阅 APM 代理网络
collector*.eu01.nr-data.net TCP:443/80 欧洲区域的 New Relic APM 代理所需的网络,另请参阅 APM 代理网络
*.live.dynatrace.com TCP:443 Dynatrace APM 代理所需的网络。
*.live.ruxit.com TCP:443 Dynatrace APM 代理所需的网络。
*.saas.appdynamics.com TCP:443/80 AppDynamics APM 代理的必需网络,另请参阅 SaaS 域和 IP 范围

Application Insights 的 Azure Spring Apps 可选 FQDN

需要在服务器防火墙中打开某些传出端口,允许 Application Insights SDK 或 Application Insights 代理将数据发送到门户。 有关详细信息,请参阅 Azure Monitor 使用的 IP 地址传出端口部分。

VirtualNetwork 服务标记

Azure 网络安全组可以筛选 Azure 虚拟网络中的网络流量。 使用 VirtualNetwork 服务标记启用入站网络流量时,它会自动包括工作负载虚拟网络和任何对等互连传输虚拟网络的所有 IP 地址范围。

对于在 Azure Kubernetes 服务 (AKS) 上运行的 Azure Spring Apps,AKS 基础结构为所有 AKS 节点池上的工作负载管理 IP 地址前缀。 这些前缀隐式包含在 VirtualNetwork 服务标记中。 这种设计确保应用程序在虚拟网络内保持可访问性,即使它们的 IP 地址不在虚拟网络的已定义 IP 范围内。

如果你决定不允许使用 VirtualNetwork 服务标记的流量,则必须配置特定规则,以允许 Azure Spring Apps 服务运行时子网与应用子网之间的通信。 此外,你需要显式允许来自 Azure Spring Apps 保留的无类域间路由 (CIDR) 范围的流量,该范围由基础 AKS 基础结构使用。 不能仅将 CIDR 范围的一部分添加到允许列表中,因为工作负载的地址前缀是动态的。

后续步骤