답변
해당 URL ( http://169.254.169.254/latest/dynamic/instance-identity/document )이 더 이상 작동하지 않는 것 같습니다. 사용하려고하면 404가 나타납니다. 그래도 작동하는 다음 코드가 있습니다.
EC2_AVAIL_ZONE=`curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`
EC2_REGION="`echo \"$EC2_AVAIL_ZONE\" | sed 's/[a-z]$//'`"
도움이 되었기를 바랍니다.
편집 :sed
의견을 기반으로 개선
답변
이를 달성하는 또 다른 방법이 있습니다.
REGION=`curl http://169.254.169.254/latest/dynamic/instance-identity/document|grep region|awk -F\" '{print $4}'`
echo $REGION
us-east-1
답변
를 사용해도 괜찮다 jq
면 다음을 실행할 수 있습니다.
curl -s http://169.254.169.254/latest/dynamic/instance-identity/document | jq .region -r
가장 깨끗한 방법이라고 생각합니다.
답변
ec2-metadata --availability-zone | sed 's/.$//'
데비안 기반 시스템의 경우 명령에는 대시가 없습니다.
ec2metadata --availability-zone | sed 's/.$//'
답변
정규 표현식을 피하려면 다음을 사용하여 파이썬으로 할 수있는 한 줄짜리입니다.
curl -s http://169.254.169.254/latest/dynamic/instance-identity/document | python -c "import json,sys; print json.loads(sys.stdin.read())['region']"
답변
ec2-metadata를 사용할 수 있습니다 :
ec2-metadata -z | grep -Po "(us|sa|eu|ap)-(north|south|central)?(east|west)?-[0-9]+"
답변
내가 찾은 가장 쉬운
curl -s 169.254.169.254/latest/meta-data/placement/availability-zone | sed 's/.$//'