답변:
있습니다. 인스턴스 내부에서 다음을 실행할 수 있습니다.
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- 아마존 -EC2- 인스턴스 /
공개 IP 및 DNS를 검색하기 위해 .bashrc 내에이 함수를 정의합니다.
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)"
:) 당신은 금속입니다.