给定这些参数:
- 一个在任何地方运行的 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
元数据当前不提供此信息。
我们知道,目前,可以从可用区中删除尾随字符,以便天真地确定区域,但是,不能保证亚马逊将来不会改变这一点。
最终目标是我们的 cron 作业和其他自定义服务可以确定他们的身份和位置,以便他们可以与其他服务和实例进行适当的交互。