如何将流量从我的 Azure 应用服务路由到特定的外部 IP 地址

How to route traffic from my Azure App Service to specific external IP address

我正在尝试按照此处找到的指南进行操作:https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-integrate-with-vnet

我已尝试连接到现有 VNET 和设置新 VNET,但结果是一样的。

我有一个连接到外部合作伙伴服务的现有 VNET。当我将 VM 连接到 VNET 时,我能够远程登录到外部合作伙伴的 IP:port。当我将 Azure 应用程序服务连接到同一个 VNET 时,我无法获取路由到该外部合作伙伴服务的流量。

根据指南,我似乎应该能够将 IP 地址范围添加到应用服务计划的网络配置中,如链接文章中的这张图片所示。

当我进入应用服务计划的网络配置时,我没有添加更多 IP 地址的选项。

当我直接查看 App Service(不是计划)时,我看到有一些默认路由(不确定它们来自哪里)。

我尝试将用户定义的路由添加到与子网关联的路由 table,但它没有出现在路由到 VNET 的 IP 地址中。

Site-to-Site地址中列出的地址范围space是我需要转发的范围。

因此,虽然文章显示您可以通过问题第一张图片中看到的门户添加路由,但该功能并不存在。要添加路线,您必须使用资源浏览器并编辑服务计划。

从这里,它将打开资源管理器到应用程序服务计划 selected。找到 virtualNetworkConnections 节点并将其打开。在里面你会看到一个 Routes 节点。选择路线。

在顶部栏中启用 Read/Write 功能。

如果有选择默认值的路线,请从列表中复制现有路线,然后选择创建选项以添加新路线。

粘贴现有路线并更新适当的字段或从头开始填写。这是一个例子...

{
  "id": "/subscriptions/<subid>/resourceGroups/<RG name>/providers/Microsoft.Web/serverFarms/<service plan name>/virtualNetworkConnections/<vnet name>/routes/<route name>",
  "name": "<route name>",
  "type": "Microsoft.Web/serverfarms/virtualNetworkConnections/routes",
  "location": "<location, eg East US 2>",
  "properties": {
    "name": "<route name>",
    "startAddress": "<start address>",
    "endAddress": "<end address>",
    "routeType": "DEFAULT",
    "denyRoute": false
  }
}

如果您已有路线,则只需更改 <route name><start address><end address>

{Resource Name} 字段应填充与模板中相同的值。填好后,selectPUT。新路线现在可用。

添加路线。它需要在应用程序服务计划级别完成。

“您可以在 VNet 集成的应用视图中执行的唯一操作是将您的应用与其当前连接到的 VNet 断开连接。要断开您的应用与 VNet 的连接,select 断开连接。您的当您与 VNet 断开连接时,应用程序将重新启动。断开连接不会更改您的 VNet。VNet 及其配置(包括网关)保持不变。如果您随后要删除 VNet,则需要先删除其中的资源,包括网关。

要实现 ASP VNet 集成 UI,请打开您的 ASP UI 和 select 网络。在 VNet 集成下,select 单击此处配置以打开网络功能状态 UI。"

“ASP VNet 集成 UI 将向您显示 ASP 中的应用程序使用的所有 VNet。您最多可以连接 5 个 VNet应用服务计划中的任意数量的应用。每个应用只能配置一个集成。若要查看每个 VNet 的详细信息,请单击您感兴趣的 VNet。您可以在此处执行两个操作。

同步网络。同步网络操作可确保您的证书和网络信息同步。如果添加或更改 VNet 的 DNS,则需要执行同步网络操作。此操作将重新启动使用此 VNet 的所有应用。 添加路由 添加路由会将出站流量驱动到您的 VNet。 路由 VNet 中定义的路由用于将流量从应用定向到 VNet。如果需要将额外的出站流量发送到 VNet,则可以在此处添加这些地址块。"