web-dev-qa-db-ja.com

Google Compute VMインスタンス内から外部IPアドレスを取得できますか?

ネットワークインターフェイスにクエリを実行すると、内部インスタンスの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

27
Cloud66

今後の参考のために。

さまざまなクラウドでパブリックIPv4を取得するためのリンクは次のとおりです。

Azure

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はこれらの上記のクラウドベンダーのグローバルメタデータサーバーであるため、異なるドメイン名を使用する必要はありません。

18
sanster_23

パブリックIPアドレスは、HTTPGETがhttp://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ipの場合に取得できます。 ドキュメント に従って、Metadata-FlavorヘッダーをGoogleに設定する必要があります。

18
David