aws php 站,关于php:在AWS中查找我的实例区域

给出以下参数:

在任何地方(任何区域以及该区域中的任何可用区域)运行的Ubuntu实例

仅实例上安装了AWS PHP SDK2(没有其他EC2命令行工具等)

提供CURL和WGET

实例脚本显式确定其在哪个Region中运行的最优雅方式是什么?

* **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作业和其他自定义服务可以弄清楚他们的身份和位置,以便它们可以与其他服务和实例进行适当的交互。

这应该为您工作:

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

echo $REGION

来自此线程:

从EC2实例中查找区域

使用PHP SDK,您可以执行以下操作:

$instance = \\Aws\\Common\\InstanceMetadata\\InstanceMetadataClient::factory()

->get('dynamic/instance-identity/document')

->send()

->json();

echo $instance['region'];

默认的SDK已加载,但出现意外错误:找不到类Aws \\\\ Common \\\\ InstanceMetadata \\\\ InstanceMetadataClient示例丢失了一些东西。

正如我在另一个问题上已经回答的那样,AWS已实施一种干净的方法来从元数据服务器确定您的区域:

REGION="$(wget -q -O - http://169.254.169.254/latest/meta-data/placement/region)"

REGION="$(curl http://169.254.169.254/latest/meta-data/placement/region)

这将要求使用2019-10-01或更高版本的元数据API。通过单击根端点并在输出中检查它来确保可用。

我的原始答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值