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

如何自动获取谷歌云GCE托管实例组(MIG)中实例的内网IP地址

实现MIG实例内部IP自动化导出的方法

前置条件

  • 已安装并配置好Google Cloud SDK(gcloud CLI)
  • 已拥有对应GCP项目、MIG所属区域的读取权限
  • 已提前切换到目标项目:gcloud config set project <你的项目ID>

方法1:单命令直接导出(单MIG场景最便捷)

直接调用gcloud内置的过滤、格式化能力,一步拉取指定MIG下所有实例的内网IP,命令如下:

gcloud compute instance-groups managed list-instances <你的MIG名称> \
  --zone <MIG所在可用区> \
  --format="value(instance.networkInterfaces[0].networkIP)" \
  > mig_internal_ips.txt

参数说明:

  • 替换<你的MIG名称>和<MIG所在可用区>为实际值,如果是区域级MIG,把--zone参数改为--region并填写对应区域即可
  • --format参数指定只输出实例第一张网卡的内网IP,自动过滤其他无关字段
  • 末尾的重定向命令会把结果直接写入TXT文件,完成导出

方法2:批量导出所有MIG的实例内网IP(多MIG场景)

如果需要导出当前项目下所有MIG的所有实例内网IP,可以直接运行以下Shell脚本:

#!/bin/bash
# 拉取当前项目下所有可用区级、区域级MIG列表
mig_list=$(gcloud compute instance-groups managed list --format="value(name,location,location_scope)")

while read -r name location scope; do
  if [ "$scope" = "zone" ]; then
    location_flag="--zone=$location"
  else
    location_flag="--region=$location"
  fi
  gcloud compute instance-groups managed list-instances "$name" $location_flag \
    --format="value(instance.name,instance.networkInterfaces[0].networkIP)" >> all_mig_internal_ips.txt
done <<< "$mig_list"

该脚本导出的结果会同时包含实例名和对应内网IP,方便资源对照。

扩展说明

  • 如果实例配置了多张网卡,把命令中networkInterfaces[0]的序号修改为对应网卡的序号,即可获取对应网卡的内网IP
  • 如果需要导出可直接用Excel打开的CSV格式,把--format参数改为csv(instance.name,instance.networkInterfaces[0].networkIP)即可

内容的提问来源于stack exchange,提问作者cloud jockey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:15:01