現在のインスタンスのパブリックDNSアドレスを使用してEC2インスタンスを起動するたびに設定ファイルを更新する必要があるプロジェクトがあります。私はこれにPerlやSedを使用しますので、実際には質問ではありませんが、実際の質問は次のとおりです。インスタンスのパブリックDNSアドレスを確認する方法はありますか?これを確認するためにインスタンスからアクセスできるEC2 APIはありますか?
ベストアンサー1
持っています。インスタンス内で以下を実行できます。
curl http://169.254.169.254/latest/meta-data/public-ipv4
パブリックDNSホスト名を取得するには、次のように変更できます。
curl http://169.254.169.254/latest/meta-data/public-hostname
インスタンスのプライベートIPを取得することもできます。
curl http://169.254.169.254/latest/meta-data/local-ipv4
参考までに、インターネット上の非AWSサイトについてこれを再確認することができます。http://ip4.me
#!/bin/bash
pubip=$( curl http://ip4.me 2>/dev/null | sed -e 's#<[^>]*>##g' | grep '^[0-9]' )
echo $pubip
通常、これはNATシステムの「パブリックIP」を確認するか、パブリックプロキシIPなどを見つけることです。
以下は、Amazon API から得られる情報の種類を理解するのに役立つ良いリンクです。 http://www.ducea.com/2009/06/01/howto-update-dns-hostnames-automatically-for-your-amazon-ec2-instances/