给定这些参数:
- 在任何地方运行的 Ubuntu 实例(任何区域和该区域中的任何可用性区域)
- 仅安装在实例上的 AWS PHP SDK2(没有其他 EC2 命令行工具等)
- CURL 和 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
来自这个线程:
关于php - 在 AWS 中查找我的实例区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17999723/