虚拟网络配置参考:API 管理

本参考文章提供了以外部内部模式部署在 Azure 虚拟网络中的 API 管理实例的详细网络配置设置。

有关 VNet 连接选项、要求和注意事项,请参阅将虚拟网络与 Azure API 管理配合使用

所需端口

可以使用网络安全组规则控制其中部署了 API 管理的子网的入站和出站流量。 如果特定的端口不可用,API 管理可能无法正常工作且不可访问。

在 VNet 中托管 API 管理服务实例时,将使用下表中的端口。

重要

  • “用途”列中以粗体显示的项表示成功部署和操作 API 管理服务所需的端口配置。 标有“可选”的配置用于启用如前所述的特定功能。 无需使用这些配置也能使服务的整体运行状况保持正常。

  • 建议在 NSG 规则中使用服务标记而不是 IP 地址来指定网络源和目标。 当基础结构的改进需要对 IP 地址进行更改时,服务标记可以防止出现停机。

源/目标端口 方向 传输协议 服务标记
源/目标
用途 VNet 类型
* / [80], 443 入站 TCP Internet / VirtualNetwork 客户端与 API 管理的通信 仅外部
* / 3443 入站 TCP ApiManagement / VirtualNetwork Azure 门户和 PowerShell 的管理终结点 外部和内部
* / 443 出站 TCP VirtualNetwork / Storage 与 Azure 存储的依赖关系 外部和内部
* / 443 出站 TCP VirtualNetwork / AzureActiveDirectory Azure Active Directory 依赖关系(可选) 外部和内部
* / 1433 出站 TCP VirtualNetwork / SQL 访问 Azure SQL 终结点 外部和内部
* / 5671, 5672, 443 出站 TCP VirtualNetwork / Azure Event Hubs Azure 事件中心策略日志和监视代理的依赖项(可选) 外部和内部
* / 445 出站 TCP VirtualNetwork / Storage 与适用于 GIT 的 Azure 文件共享的依赖关系(可选) 外部和内部
* / 443, 12000 出站 TCP VirtualNetwork / AzureChinaCloud 运行状况和监控扩展以及对事件网格的依赖(如果事件通知已激活)(可选) 外部和内部
* / 1886、443 出站 TCP VirtualNetwork / AzureMonitor 发布诊断日志和指标资源运行状况Application Insights(可选) 外部和内部
* / 25、587、25028 出站 TCP VirtualNetwork / Internet 连接到 SMTP 中继以发送电子邮件(可选) 外部和内部
* / 6381 - 6383 入站和出站 TCP VirtualNetwork / VirtualNetwork 访问计算机之间的 Redis 缓存服务策略(可选) 外部和内部
* / 4290 入站和出站 UDP VirtualNetwork / VirtualNetwork 同步计算机之间的速率限制策略的计数器(可选) 外部和内部
* / * 入站 TCP AzureLoadBalancer / VirtualNetwork Azure 基础结构负载均衡器(对于高级 SKU 是必需的,对于其他 SKU 是可选的) 外部和内部

区域服务标记

允许与存储、SQL 和 Azure 事件中心服务标记建立出站连接的 NSG 规则可以使用与 API 管理实例所在区域相对应的那些标记的区域版本(例如,“中国北部”区域中 API 管理实例的对应区域版本为 Storage.ChinaNorth)。 在多区域部署中,每个区域中的 NSG 应该允许发送到该区域或主要区域的服务标记的流量。

TLS 功能

若要启用 TLS/SSL 证书链生成及验证程序,API 管理服务需要与 ocsp.msocsp.commscrl.microsoft.comcrl.microsoft.com 建立出站网络连接。 但若上传到 API 管理的任何证书包含指向 CA 根的完整链,则不需要此依赖项。

DNS 访问

需要端口 53 上的出站访问权限才能与 DNS 服务器通信。 如果 VPN 网关的另一端存在自定义 DNS 服务器,则该 DNS 服务器必须可从承载 API 管理的子网访问。

指标和运行状况监视

与 Azure 监视终结点建立出站网络连接时,这些终结点将在下列域下解析,并根据 AzureMonitor 服务标记表示,以便与网络安全组配合使用。

指标和运行状况监视

与 Azure 监视终结点建立出站网络连接时,这些终结点将在下列域下解析,并根据 AzureMonitor 服务标记进行表示,以与网络安全组配合使用。

Azure 环境 终结点
Azure 中国
  • mooncake.warmpath.chinacloudapi.cn
  • global.prod.microsoftmetrics.com
  • shoebox2.prod.microsoftmetrics.com
  • shoebox2-red.prod.microsoftmetrics.com
  • shoebox2-black.prod.microsoftmetrics.com
  • prod3.prod.microsoftmetrics.com
  • prod3-red.prod.microsoftmetrics.com
  • prod5.prod.microsoftmetrics.com
  • prod5-black.prod.microsoftmetrics.com
  • prod5-red.prod.microsoftmetrics.com
  • gcs.prod.warm.ingestion.monitoring.azure.cn

SMTP 中继

允许在主机 smtpi-co1.msn.comsmtpi-ch1.msn.comsmtpi-db3.msn.comsmtpi-sin.msn.comies.global.microsoft.com 下解析的 SMTP 中继的出站网络连接

注意

只有 API 管理中提供的 SMTP 中继可用于从你的实例发送电子邮件。

开发人员门户验证码

允许在主机 client.hip.live.compartner.hip.live.com 下解析的开发人员门户 CAPTCHA 的出站网络连接。

发布开发人员门户

通过允许出站连接至中国北部区域的 blob 存储,即可在 VNet 中发布 API 管理实例的开发人员门户。 例如,在 NSG 规则中使用 Storage.ChinaNorth 服务标记。 当前若要针对任何 API 管理实例发布开发人员门户,都需要建立与中国北部区域的 blob 存储的连接。

Azure 门户诊断

从 VNet 内部使用 API 管理诊断扩展时,需要对端口 443 上的 dc.services.visualstudio.com 进行出站访问,以启用 Azure 门户的诊断日志流。 此访问有助于排查你在使用扩展时可能遇到的问题。

Azure 负载均衡器

无需允许来自开发人员 SKU 的 AzureLoadBalancer 服务标记的入站请求,因为其后只部署了一个计算单位。 但是,当扩展到更高 SKU(例如“高级”)时,来自 AzureLoadBalancer 的入站连接将变得关键,因为负载均衡器运行状况探测失败会阻止对控制平面和数据平面的所有入站访问。

Application Insights

如果已针对 API 管理启用 Azure Application Insights 监视功能,则允许从 VNet 到遥测终结点的出站连接。

KMS 终结点

将运行 Windows 的虚拟机添加到 VNet 时,请允许在端口 1688 上与云中的 KMS 终结点建立出站连接。 此配置会将 Windows VM 流量路由到 Azure 密钥管理服务 (KMS) 服务器,以完成 Windows 激活。

控制平面 IP 地址

以下 IP 地址是按 Azure 环境划分的。 允许入站请求时,必须允许标记有“全局”(Global) 的 IP 地址以及特定于区域的 IP 地址 。 在某些情况下,会列出两个 IP 地址。 请允许这两个 IP 地址。

重要

请仅在某些网络方案需要控制平面 IP 地址时,才为网络访问规则配置这些 IP 地址。 建议使用 ApiManagement 服务标记而不要使用控制平面 IP 地址,以防止在基础结构的改进需要对 IP 地址进行更改时出现停机。

Azure 环境 区域 IP 地址
Azure 中国世纪互联 中国北部(全球) 139.217.51.16
Azure 中国世纪互联 中国东部(全球) 139.217.171.176
Azure 中国世纪互联 中国北部 40.125.137.220
Azure 中国世纪互联 中国东部 40.126.120.30
Azure 中国世纪互联 中国北部 2 40.73.41.178
Azure 中国世纪互联 中国东部 2 40.73.104.4

后续步骤

了解有关以下方面的详细信息: