给定这些参数:
运行在任何地方的ubuntu实例(该区域中的任何区域和任何可用区域)
只有安装在实例上的aws php sdk2(没有其他ec2命令行工具等)
提供卷曲和Wget
对于一个实例脚本来说,最优雅的方式是什么来显式地确定它运行在哪个区域?

* **Instance ID:** wget -q -O - http://169.254.169.254/latest/meta-data/instance-id
* **Availability Zone:** wget -q -O - http://169.254.169.254/latest/meta-data/placement/availability-zone

meta-data does not当前提供此信息。
我们知道,目前的尾部字符可以剥离可用性区域,以便天真地确定该地区,但是,有no guarantee亚马逊不会改变这一点。
最终的目标是,我们的CRON作业和其他定制服务可以确定他们是谁和他们在哪里,以便他们可以适当地与其他服务和实例交互。

最佳答案

这应该对你有用:

REGION=`curl -s http://169.254.169.254/latest/dynamic/instance-identity/document|grep region|awk -F\" '{print $4}'`

echo $REGION

这是从这个线索:
Find region from within an EC2 instance

08-26 12:24