将 Azure API 管理实例与用于出站连接的专用虚拟网络集成

适用于:标准 v2 |高级 v2

本文将指导你完成为标准 v2 或高级 v2(预览版)Azure API 管理实例配置虚拟网络集成的过程。 使用虚拟网络集成时,只要正确配置了网络连接,实例就可以向在单个连接的虚拟网络或任何对等互连虚拟网络中隔离的 API 发出出站请求。

当 API 管理实例与用于出站请求的虚拟网络集成时,网关和开发人员门户终结点将保持可公开访问状态。 API 管理实例可以同时访问公共和网络隔离的后端服务。

将 API 管理实例与用于出站流量的虚拟网络集成的关系图。

如果要将高级 v2(预览版)API 管理实例注入虚拟网络以隔离入站和出站流量,请参阅 将 Premium v2 实例注入虚拟网络

重要

  • 本文中所述的出站虚拟网络集成仅适用于标准 v2 层和高级 v2 层中的 API 管理实例。 有关不同层中的网络选项,请参阅将虚拟网络与 Azure API 管理配合使用
  • 可以在标准 v2 或高级 v2 层中创建 API 管理实例时,或在创建实例后启用虚拟网络集成。
  • 目前,对于高级 v2 实例,无法在虚拟网络注入和虚拟网络集成之间切换。

先决条件

  • 标准 v2 或高级 v2 定价层中的 Azure API 管理实例
  • (可选)若要进行测试,示例后端 API 托管在虚拟网络中的不同子网中。 例如,请参阅教程:建立 Azure Functions 专用站点访问
  • 将您的 API 管理后端 API 托管在子网中的虚拟网络。 有关虚拟网络和子网的要求和建议,请参阅以下部分。

网络位置

  • 虚拟网络必须与 API 管理实例位于同一区域和 Azure 订阅中。

专用子网

  • 用于虚拟网络集成的子网只能由单个 API 管理实例使用, 无法与其他 Azure 资源共享。

子网大小

  • 最小值:/27(32 个地址)
  • 建议:/24(256 个地址)- 以适应 API 管理实例的缩放

网络安全组

网络安全组必须与该子网关联。 配置所需的任何网络安全组规则,使网关能够访问你的 API 后端。 网络安全组(NSG)还可用于阻止发到 Internet 的出站流量,并仅访问虚拟网络中的资源。 若要设置网络安全组,请参阅 “创建网络安全组”。

子网委派

需要将该子网委派给 Microsoft.Web/serverFarms 服务。

屏幕截图显示了子网在门户中委托给 Microsoft.Web/serverFarms。

注意

可能需要在订阅中注册 Microsoft.Web/serverFarms 资源提供程序,以便可以将子网委托给服务。

要详细了解如何配置子网委派,请参阅添加或删除子网委派

权限

必须至少具有子网的以下基于角色的访问控制权限或更高级别权限,才能配置虚拟网络集成:

行动 说明
Microsoft.Network/virtualNetworks/read 读取虚拟网络定义
Microsoft.Network/virtualNetworks/subnets/read 读取虚拟网络子网定义
Microsoft.Network/virtualNetworks/subnets/join/action 加入虚拟网络

配置虚拟网络集成

本部分指导你完成为现有 Azure API 管理实例配置外部虚拟网络集成的过程。 还可以在创建新的 API 管理实例时配置虚拟网络集成。

  1. Azure 门户,导航到 API 管理实例。
  2. 在左侧菜单中的 “部署 + 基础结构”下,选择“ 网络>编辑”。
  3. “网络配置 ”页上的 “出站功能”下,选择“ 启用 虚拟网络集成”。
  4. 选择要集成的虚拟网络和委派子网。
  5. 选择“保存”。 虚拟网络已集成。

(可选)测试虚拟网络集成

如果在虚拟网络中托管了 API,则可以将其导入管理实例并测试虚拟网络集成。 有关基本步骤,请参阅导入和发布 API