Как получить идентификатор аккаунта и регион динамически при создании будильника через 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
может использоваться для идентификации определенных атрибутов учетных данных, используемых в настоящее время, в этом нет необходимости.