回答:
有る。インスタンス内から、次を実行できます。
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
サイドノートとして、http://ip4.meのようなインターネット上の非AWSサイトに対してダブルチェックできます
#!/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 /
.bashrc内でこの関数を定義して、パブリックIPとDNSを取得します。
export PUBLIC_DNS=`curl http://169.254.169.254/latest/meta-data/public-hostname 2>/dev/null`
export PUBLIC_IP=`curl http://169.254.169.254/latest/meta-data/public-ipv4 2>/dev/null`
function get-pub() {
if [ $# -ne 1 ]; then
echo "Invalid number of arguments"
return 1
else
case $1 in
dns)
echo $PUBLIC_DNS
;;
ip)
echo $PUBLIC_IP
;;
*)
echo $"Usage: get-pub {dns|ip}"
return 2
esac;
fi
return 0
}
PUBLIC_HOSTNAME="$(curl http://169.254.169.254/latest/meta-data/public-hostname 2>/dev/null)"
:)あなた、先生、金属です。