您可以从Google Compute VM实例中获取外部IP地址吗?

时间:2014-04-29 11:06:35

标签: google-compute-engine

查询网络接口只会返回内部实例IP地址信息 是否可以从正在运行的实例中的某个位置获取外部IP地址信息?

作为示例,AWS具有元数据REST端点,例如信息:
curl http://169.254.169.254/latest/meta-data/public-ipv4

(来源:http://tech-queries.blogspot.co.uk/2011/06/how-to-get-public-ip-for-amazon-ec2.html

2 个答案:

答案 0 :(得分:18)

您可以获取HTTP GET为http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip的公共IP地址。您必须按照the documentation将Metadata-Flavor标头设置为Google。

答案 1 :(得分:13)

以供将来参考。

这里是在各种云上获取公共IPv4的链接。

天蓝色

curl -H Metadata:true "http://169.254.169.254/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2017-08-01&format=text"

AWS

curl http://169.254.169.254/latest/meta-data/public-ipv4

GCP

curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip

由于169.254.169.254是上述云供应商的全局元数据服务器,因此无需使用其他域名。