你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:高级
网络隔离是 API 管理工作区网关的一项可选功能。 本文提供在 Azure 虚拟网络中集成或注入网关时的网络资源要求。 根据所需的入站和出站访问模式,某些要求会有所不同。 支持以下模式:
- 虚拟网络集成:公共入站访问、专用出站访问
- 虚拟网络注入:专用入站访问、专用出站访问
有关 API 管理中的网络选项的背景信息,请参阅 使用虚拟网络保护 Azure API 管理的入站或出站流量。
注意
- 工作区网关的网络配置独立于 API Management 实例的网络配置。
- 目前,只有在创建网关时,才可以在虚拟网络中配置工作区网关。 稍后无法更改网关的网络配置或设置。
网络位置
虚拟网络必须与 API 管理实例位于同一区域和 Azure 订阅中。
专用子网
- 用于虚拟网络集成或注入的子网只能由单个工作区网关使用。 无法与其他 Azure 资源共享。
addressPrefix 属性
高级 v2 层和工作区网关中的虚拟网络注入要求将 addressPrefix
子网属性设置为有效的 CIDR 块。
如果使用 Azure 门户配置子网,子网将设置一个由地址前缀列表组成的 addressPrefixes
(复数)属性。 但是,API 管理需要单个 CIDR 块作为 addressPrefix
属性的值。
要创建或更新具有 addressPrefix
的子网,请使用 Azure PowerShell、Azure 资源管理器模板或 REST API 等工具。 例如,使用 Set-AzVirtualNetworkSubnetConfig Azure PowerShell cmdlet 更新子网:
# Set values for the variables that are appropriate for your environment.
$resourceGroupName = "MyResourceGroup"
$virtualNetworkName = "MyVirtualNetwork"
$subnetName = "ApimSubnet"
$addressPrefix = "10.0.3.0/24"
$virtualNetwork = Get-AzVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupName
Set-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $virtualNetwork -AddressPrefix $addressPrefix
$virtualNetwork | Set-AzVirtualNetwork
子网大小
- 最小值:/27(32 个地址)
- 最大值:/24(256 个地址)- 推荐
子网委派
为了启用所需的入站和出站访问,子网必须按如下方式进行配置。
有关配置子网委派的信息,请参阅添加或移除子网委派。
对于虚拟网络集成,子网需要委托给 Microsoft.Web/serverFarms 服务。
注意
可能需要在订阅中注册 Microsoft.Web/serverFarms
资源提供程序,以便可以将子网委托给服务。
网络安全组 (NSG) 规则
必须将网络安全组 (NSG) 附加到子网才能显式允许特定的入站或出站连接。 请在 NSG 中配置以下规则。 将这些规则的优先级设置为高于默认规则的优先级。
配置其他 NSG 规则以满足组织的网络访问要求。
方向 | 源 | 源端口范围 | 目标 | 目标端口范围 | 协议 | 行动 | 目的 |
---|---|---|---|---|---|---|---|
入站 | Azure负载均衡器 | * | 工作区网关子网范围 | 80 | TCP | 允许 | 允许内部运行状况 ping 流量 |
入站 | Internet | * | 工作区网关子网范围 | 80,443 | TCP | 允许 | 允许入站流量 |
虚拟网络注入的 DNS 设置
对于虚拟网络注入,你必须管理自己的 DNS 以启用对工作区网关的入站访问。
虽然可以选择使用专用或自定义 DNS 服务器,但建议:
- 配置 Azure DNS 专用区域。
- 将 Azure DNS 专用区域链接到虚拟网络。
了解如何在 Azure DNS 中设置专用区域。
注意
如果在用于注入的虚拟网络中配置专用或自定义 DNS 解析程序,则必须确保 Azure Key Vault 终结点的名称解析(*.vault.azure.net
)。 建议配置 Azure 专用 DNS 区域,无需进行其他配置即可启用它。
基于默认主机名的访问权限
创建 API 管理工作区时,工作区网关会被分配一个默认主机名。 主机名及其专用虚拟 IP 地址可在 Azure 门户的工作区网关的“概述”页上看到。 默认主机名的格式为 <gateway-name>-<random hash>.gateway.<region>-<number>.azure-api.net
。 示例:team-workspace-123456abcdef.gateway.uksouth-01.azure-api.net
。
注意
工作区网关仅响应对其终结点上配置的主机名(而非其专用 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.westus.azure-api.net |