2013-08-01 3 views
3

Учитывая эти параметры:Find My Instance Регион в AWS

  1. Экземпляр Ubuntu работает в любом месте (любой регион и свободных мест зоны в этом регионе)
  2. Только AWS PHP SDK2 установлен на экземпляре (нет других инструментов линии EC2 команд и т.д.)
  3. CURL и WGET доступны

самый элегантный способ для сценария экземпляра явно determin e какой регион он работает?

* **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, что Amazon не изменит это в будущем.

Конечная цель заключается в том, что наши задания cron и другие пользовательские сервисы могут определить, кто и где они находятся, чтобы они могли взаимодействовать с другими службами и экземплярами соответствующим образом.

ответ

1

с помощью PHP SDK вы можете сделать следующее:

$instance = \Aws\Common\InstanceMetadata\InstanceMetadataClient::factory() 
    ->get('dynamic/instance-identity/document') 
    ->send() 
    ->json(); 

echo $instance['region']; 
+0

Значение по умолчанию SDK загружается, но я получаю сообщение об ошибке: «Aws \ Common \ InstanceMetadata \ InstanceMetadataClient» не найден Пример пропустил что-то. – John

Смежные вопросы