发现应用服务网络功能

已完成

默认情况下,应用服务中托管的应用可以直接通过 Internet 进行访问,并且只能访问 Internet 托管的终结点。 但对于许多应用程序,需要控制入站和出站网络流量。

Azure 应用服务有两种主要部署类型。 多租户公共服务在“免费”、“共享”、“基本”、“标准”、“高级”、“PremiumV2”和“PremiumV3”定价 SKU 中托管应用服务计划。 此外,还有单租户应用服务环境 (ASE) 直接在 Azure 虚拟网络中托管隔离的 SKU 应用服务计划。

多租户应用服务网络功能

Azure 应用服务是一种分布式系统。 处理传入 HTTP 或 HTTPS 请求的角色称为前端。 托管客户工作负荷的角色称为辅助角色。 应用服务部署中的所有角色均存在于多租户网络中。 由于同一应用服务缩放单元中包含许多不同的客户,因此无法将应用服务网络直接连接到你的网络。

在不连接网络的情况下,你需要使用相应的功能来处理应用程序通信的各个方面。 处理向应用发出的请求的功能不可用于解决从应用发出调用时出现的问题 。 同理,解决从应用发出的调用的问题的功能,不可用于解决向应用发出请求的问题。

入站功能 出站功能
应用分配的地址 混合连接
访问限制 需要网关的虚拟网络集成
服务终结点 虚拟网络集成
专用终结点

除了少数例外情况,可以混合使用这些功能来解决问题。 下面的入站用例演示如何使用应用服务网络功能来控制应用的入站流量。

入站用例 功能
支持应用的基于 IP 的 SSL 需求 应用分配的地址
支持应用的非共享专用入站地址 应用分配的地址
从一组妥善定义的地址限制对应用的访问 访问限制

默认网络行为

Azure 应用服务缩放单元为每个部署中的多个客户提供支持。 “免费”和“共享”SKU 计划在多租户辅助角色上托管客户工作负荷。 “基本”和更高的计划仅托管专用于一个应用服务计划的客户工作负荷。 如果你有“标准”应用服务计划,该计划中的所有应用都在同一个辅助角色上运行。 如果横向扩展辅助角色,则会在应用服务计划中每个实例的新辅助角色上复制该应用服务计划中的所有应用。

出站地址

辅助角色 VM 在很大程度上按应用服务计划划分。 “免费”、“共享”、“基本”、“标准”和“高级”计划均使用相同的辅助角色 VM 类型。 “PremiumV2”计划使用其他 VM 类型。 “PremiumV3”还使用其他 VM 类型。 更改 VM 系列时,将获得一组不同的出站地址。

有许多地址可用于出站调用。 应用的属性中列出了应用进行出站调用所使用的出站地址。 应用服务部署中同一辅助角色 VM 系列上运行的所有应用将共享这些地址。 如果要查看应用可能会在缩放单元中使用的所有地址,可通过名为 possibleOutboundIpAddresses 的属性查看,其中列出了这些地址。

查找出站 IP

若要在 Azure 门户中查找应用当前使用的出站 IP 地址,请选择应用左侧导航中的“属性”。

在 Cloud Shell 中运行以下 Azure CLI 命令可以找到相同的信息。 它们列出在“其他出站 IP 地址”字段中。

az webapp show \
    --resource-group <group_name> \
    --name <app_name> \ 
    --query outboundIpAddresses \
    --output tsv

若要查找应用可能使用的所有出站 IP 地址(不管定价层是什么),请在 Cloud Shell 中运行以下命令。

az webapp show \
    --resource-group <group_name> \ 
    --name <app_name> \ 
    --query possibleOutboundIpAddresses \
    --output tsv