You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取已横向扩展的Azure Web App各实例的IP地址?

我来帮你梳理几种获取Azure多实例Web App每个实例IP地址的实用方法:

方法1:使用Azure Resource Graph快速查询

这是最便捷的方式之一,不用逐个调用实例API就能批量获取所有实例的IP。

用Azure CLI执行查询

替换命令里的<your-site-name>为你的Web App名称,然后运行:

az graph query -q "
resources
| where type == 'microsoft.web/sites/instances'
| where name contains '<your-site-name>'
| project name, privateIpAddress = properties.privateIpAddress, location
"

用Azure Portal查询

打开Portal的Resource Graph Explorer,粘贴上面的Kusto查询语句,执行后就能看到所有实例的名称和对应私有IP。

方法2:调用Azure Management API获取实例详情

你已经能拿到实例名称列表了,接下来针对每个实例调用详情API即可获取IP:

API请求格式

替换所有占位符({SubscriptionID}、{ResourceGroupName}、{SiteName}、{InstanceName}):

https://management.azure.com/subscriptions/{SubscriptionID}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Web/sites/{SiteName}/instances/{InstanceName}?api-version=2022-03-01

这里的{InstanceName}就是你从之前的实例列表API中拿到的name字段值。

响应示例

API返回的内容里,properties节点下的privateIpAddress就是该实例的私有IP:

{
  "id": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Web/sites/xxx/instances/xxx",
  "name": "xxx",
  "properties": {
    "privateIpAddress": "10.2.3.4",
    // 其他实例属性...
  }
}

注意:Azure Web App实例本身没有独立的公网IP,公网流量通过前端负载均衡器转发,所以你获取到的是实例的私有IP。

方法3:从Web App实例内部获取IP

如果你的应用代码需要获取当前运行实例的IP,可以通过Azure实例元数据服务(IMDS)直接获取:

在应用中发起GET请求到以下地址(无需身份验证):

http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/privateIpAddress?api-version=2021-02-01&format=text

这个请求会直接返回当前实例的私有IP。如果需要完整的网络信息,可以把路径改为:

http://169.254.169.254/metadata/instance/network?api-version=2021-02-01&format=json

内容的提问来源于stack exchange,提问作者Umesh Deshmukh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:34:38