Обнаружение членов подсети aws из экземпляра этой подсети - PullRequest
0 голосов
/ 11 февраля 2019

Я с нетерпением жду, чтобы получить информацию о том, как я могу опрашивать API-интерфейс aws без настройки CLI-интерфейса aws в экземпляре EC2?На самом деле, я хочу автоматически создать туннель GRE на экземплярах в той же подсети.Чтобы сделать это, в каждом экземпляре EC2 мне нужно «обнаружить» других экземпляров EC2, входящих в эту подсеть, но я не хочу настраивать секреты в aws cli для этого.Я знаю, что могу использовать:

aws ec2 describe-network-interfaces --filters "Name=subnet-id,Values=${SUBNET}" "Name=status,Values=in-use"

Это приводит ко всем ENI из подсети, членом которой является мой EC2.Однако, чтобы иметь возможность сделать это, я должен сделать aws configure для каждого экземпляра, и я не хочу передавать секреты.Есть ли другой способ сделать это?

Заранее спасибо

1 Ответ

0 голосов
/ 11 февраля 2019

Роли IAM экземпляра EC2 доступны в течение многих лет именно для этой цели и не требуют сохранения каких-либо секретов в экземпляре.Aws-cli использует их автоматически, если настроено на экземпляре.Назначенной роли экземпляра требуются необходимые разрешения для выполнения запросов API, которые вы хотите сделать.

https://aws.amazon.com/blogs/aws/iam-roles-for-ec2-instances-simplified-secure-access-to-aws-service-apis-from-ec2/

Невозможно получить доступ к API службы без каких-либо учетных данных.Роли экземпляров предоставляют автоматически повернутые, ограниченные по времени временные учетные данные для каждого экземпляра с назначенной ролью.

Обратите также внимание, что aws ec2 describe-network-interfaces также будет возвращать интерфейсы для вещей, которые не являются экземплярами, если они у вас есть,например, балансировщики нагрузки, конечные точки RDS и EFS.

...