将 API 管理注入虚拟网络的网络资源要求
可用性
重要
此功能在 API 管理的“高级”和“开发人员”层中可用。
下面是将 API 管理开发人员或高级实例注入虚拟网络的虚拟网络资源要求。 某些要求因托管 API 管理实例的stv2
的版本(stv2
或 stv1
)而异。
- 需要 Azure 资源管理器虚拟网络。
- 用于连接到 API 管理实例的子网可能包含其他 Azure 资源类型。
- 用于连接到 API 管理实例的子网不应启用任何委派。 应将子网的设置“将子网委派给服务”设置为“无”。
- 附加到上述子网的网络安全组。 网络安全组 (NSG) 需要显式允许入站连接,因为 API 管理在内部使用的负载均衡器默认是安全的,并且会拒绝所有入站流量。
- 除了指定虚拟网络和子网外,你还可以提供标准 SKU 公共 IPv4 地址,具体取决于是在外部模式还是内部模式下将 API 管理实例注入到虚拟网络中。
- API 管理服务、虚拟网络和子网以及公共 IP 地址资源(如果提供)必须位于同一区域和订阅中。
- 对于多区域 API 管理部署,请分别为每个位置配置虚拟网络资源。
子网大小
可在其中部署 API 管理的子网的最小大小为 /29,其中提供 3 个可用的 IP 地址。 因此,每增加一个 API 管理缩放单元,即需要增加两个 IP 地址。 最小大小要求基于以下注意事项:
Azure 会保留每个子网中无法使用的五个 IP 地址。 为遵从协议,保留子网的第一个和最后一个 IP 地址。 另外三个地址将用于 Azure 服务。 有关详细信息,请参阅使用这些子网中的 IP 地址是否有任何限制?。
除 Azure 虚拟网络基础结构使用的 IP 地址外,子网中的每个 API 管理实例还会使用以下地址:
- 每单位基本、标准或高级 SKU 两个 IP 地址,或
- Developer SKU,一个 IP 地址。
当部署到内部虚拟网络时,实例需要使用相关内部负载均衡器的额外 IP 地址。
示例
/29 子网:8 个可能的 IP 地址 - 5 个预留的 Azure IP 地址 - 2 个适用于一个实例的 API 管理 IP 地址 - 1 个适用于内部负载均衡器的 IP 地址(如果在内部模式下使用)= 0 个适用于横向扩展单元的 IP 地址。
/28 子网:16 个可能的 IP 地址 - 5 个预留的 Azure IP 地址 - 2 个适用于一个实例的 API 管理 IP 地址 - 1 个适用于内部负载均衡器的 IP 地址(如果在内部模式下使用)= 8 个适用于四个横向扩展单元的 IP 地址(2 个 IP 地址/横向扩展单元),共五个单元。
/27 子网:32 个可能的 IP 地址 - 5 个预留的 Azure IP 地址 - 2 个适用于一个实例的 API 管理 IP 地址 - 1 个适用于内部负载均衡器的 IP 地址(如果在内部模式下使用)= 24 个适用于 12 个横向扩展单元的 IP 地址(2 个 IP 地址/横向扩展单元),共 13 个单元。
/26 子网:64 个可能的 IP 地址 - 5 个预留的 Azure IP 地址 - 2 个适用于一个实例的 API 管理 IP 地址 - 1 个适用于内部负载均衡器的 IP 地址(如果在内部模式下使用)= 56 个适用于 28 个横向扩展单元的 IP 地址(2 个 IP 地址/横向扩展单元),共 29 个单元。
/25 子网:128 个可能的 IP 地址 - 5 个预留的 Azure IP 地址 - 2 个适用于一个实例的 API 管理 IP 地址 - 1 个适用于内部负载均衡器的 IP 地址(如果在内部模式下使用)= 120 个适用于 60 个横向扩展单元的 IP 地址(2 个 IP 地址/横向扩展单元),共 61 个单元。 该横向扩展单元数很大,是一个理论上的数字。
注意
目前可以将高级 SKU 缩放成 31 个单元。 如果预计需求接近此限制,请考虑 /26 子网或 /25 子网。
重要
内部负载均衡器和 API 管理单元的专用 IP 地址是动态分配的。 因此,在部署 API 管理实例之前,无法预测其专用 IP。 此外,更改为其他子网,然后返回可能会导致专用 IP 地址发生变化。
路由
将 API 管理实例部署到外部虚拟网络或内部虚拟网络时,请参阅“路由指南”。
详细了解 API 管理的 IP 地址。
DNS
在外部模式下,虚拟网络默认为 API 管理终结点和其他 Azure 资源启用 Azure 提供的名称解析。 它不提供本地资源的名称解析。 你可以选择配置你自己的 DNS 解决方案。
在内部模式下,你必须提供自己的 DNS 解决方案,以确保 API 管理终结点和其他所需的 Azure 资源的名称解析。 建议配置 Azure 专用 DNS 区域。
有关详细信息,请参阅将 API 管理实例部署到外部虚拟网络或内部虚拟网络时的 DNS 指南。
相关信息:
重要
如果计划对 VNet 使用自定义 DNS 解决方案,则应先进行设置,再将 API 管理服务部署到 VNet 中。 否则,每次通过运行应用网络配置操作或在 Azure 门户中服务实例的网络配置窗口中选择“应用网络配置”来更改 DNS 服务器时,都需要更新 API 管理服务。
限制
某些虚拟网络限制因托管 API 管理实例的计算平台的版本(stv2
或 stv1
)而异。
- 无法在订阅之间移动包含 API 管理实例的子网。
- 对于在内部虚拟网络模式下配置的多区域 API 管理部署,用户拥有路由权限,并且负责跨多个区域管理负载均衡。
- 若要将 API 从 OpenAPI 规范导入 API 管理,规范 URL 必须托管在可公开访问的 Internet 地址上。