适用于:高级
网络隔离是 API 管理中 工作区网关 资源的可选功能。 本文提供在 Azure 虚拟网络中集成或注入网关时的网络资源要求。 根据所需的入站和出站访问模式,某些要求会有所不同。 支持以下模式:
- 虚拟网络集成:公共入站访问、专用出站访问
- 虚拟网络注入:专用入站访问、专用出站访问
有关 API 管理中的网络选项的背景信息,请参阅 使用虚拟网络保护 Azure API 管理的入站或出站流量。
网络位置
虚拟网络必须与 API 管理实例位于同一区域,并属于同一 Azure 订阅。
专用子网
- 用于虚拟网络集成或注入的子网只能由单个工作区网关使用。 你不能和其他 Azure 资源共享。
子网大小
- 最小值:/27(32 个地址)
- 最大值:/24(256 个地址)- 推荐
子网委托
按照以下各节中的说明委托该子网,以启用所需的入站和出站访问。
若要了解如何配置子网委托,请参阅添加或删除子网委托。
对于虚拟网络集成,将子网委派给Microsoft。Web/serverFarms服务。
注意
必须在 Microsoft.Web 订阅中注册资源提供商,从而能够将子网委托给服务。 有关使用门户注册资源提供程序的步骤,请参阅 “注册资源提供程序”。
要详细了解如何配置子网委派,请参阅添加或删除子网委派。
网络安全组
你必须将网络安全组(NSG)与该子网关联。 若要设置网络安全组,请参阅 “创建网络安全组”。
- 配置下表中的规则,允许对 Azure 密钥保管库 进行外部访问,该 Vault 是 API 管理的一个依赖。
- 配置网关需要的其他出站规则,以访问 API 后端。
- 配置其他NSG规则以满足您组织的网络访问需求。 例如,使用NSG规则阻止向互联网的外发流量,只允许访问虚拟网络中的资源。
| 方向 | 源 | 源端口范围 | 目标 | 目标端口范围 | 协议 | 行动 | 目的 |
|---|---|---|---|---|---|---|---|
| 出站 | 虚拟网络 | * | AzureKeyVault | 443 | TCP | 允许 | 在 Azure 密钥保管库 上的依赖 |
重要
- 当你在虚拟网络中集成工作区网关进行私有出站访问时,入站NSG规则不适用。 若要强制实施入站 NSG 规则,请使用虚拟网络注入而不是集成。
- 这种行为不同于经典高级层的网络,后者在外部和内部虚拟网络注入模式下都强制执行入站NSG规则。 了解详细信息
虚拟网络注入的 DNS 设置
对于虚拟网络注入,你需要管理自己的DNS,以启用对工作区网关的入站访问。
虽然可以选择使用专用或自定义 DNS 服务器,但建议:
- 配置 Azure DNS 专用区域。
- 将 Azure DNS 专用区域链接到虚拟网络。
了解如何在 Azure DNS 中设置专用区域。
注意
如果在用于注入的虚拟网络中配置专用或自定义 DNS 解析程序,则必须确保 Azure 密钥保管库 终结点的名称解析(*.vault.azure.cn)。 建议配置 Azure 专用 DNS 区域,无需进行其他配置即可启用它。
通过默认主机名访问
当你创建 API 管理工作区网关时,你会为它分配一个默认主机名。 你可以在 Azure 门户的 Workspace 网关概览页面看到主机名及其私有虚拟 IP 地址。 默认主机名使用格式 <gateway-name>-<random hash>.gateway.<region>-<number>.azure-api.cn。 例如,team-workspace-123456abcdef.gateway.chinanorth3-01.azure-api.cn。
注意
工作区网关仅响应发往其端点上配置的主机名的请求,而不响应发往其私有 VIP 地址的请求。
配置 DNS 记录
在 DNS 服务器中创建 A 记录,以便从虚拟网络中访问工作区。 将终结点记录映射到工作区网关的专用 VIP 地址。
出于测试目的,可以在连接到部署 API 管理的虚拟网络的子网中的虚拟机上更新主机文件。 假设工作区网关的专用虚拟 IP 地址为 10.1.0.5,则可按照以下示例所示映射 hosts 文件。 主机映射文件位于 %SystemDrive%\drivers\etc\hosts (Windows) 或 /etc/hosts(Linux、macOS)。
| 内部虚拟 IP 地址 | 网关主机名 |
|---|---|
| 10.1.0.5 | teamworkspace.gateway.chinanorth3.azure-api.cn |