Как получить идентификатор аккаунта и регион динамически при создании будильника через API

Я делаю сигнал тревоги AutoRecovery через API, и я хочу, чтобы мой код работал в любой системе, просто вызывая скрипт python. но так как у каждого есть уникальный идентификатор учетной записи AWS, регион также может быть разным, поэтому я хочу получать идентификатор учетной записи и регион динамически. get-caller-identity используется для идентификатора учетной записи. но я не могу понять, как использовать эту функцию в принципе!

1 ответ

Чтобы идентифицировать эти атрибуты конкретного экземпляра EC2 из кода, работающего на самом экземпляре EC2, используйте документ удостоверения личности экземпляра.

Используйте любую утилиту HTTP-клиента для получения этого URL:

http://169.254.169.254/latest/dynamic/instance-identity/document

Вы можете проверить это из командной строки с помощью curl,

Это возвращает документ JSON, содержащий - среди прочего - instanceId, accountId, а также region для примера.

IP-адрес 169.254.169.254 всегда одинаков для каждого экземпляра в каждом регионе. См. Также Что особенного в IP-адресе 169.254.169.254 для AWS?

Пока СТС GetCallerIdentity может использоваться для идентификации определенных атрибутов учетных данных, используемых в настоящее время, в этом нет необходимости.

Другие вопросы по тегам