Инициализировать AWS EC2 машину с ключами доступа при запуске - PullRequest
0 голосов
/ 30 января 2020

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

Я успешно запустил машину, используя:

aws ec2 run-instances --image-id ami-062f7200baf2fa504 --count 1 \
--instance-type t2.micro --key-name MyFirstKey --security-group-ids \
launch-wizard-3 --user-data file://aws_setup_script.txt 

мой aws_setup_script.txt равен

sudo yum update -y
aws configure set aws_access_key_id AAAAABBBBBCCCCCDDDDD
aws configure set aws_secret_access_key AAAAABBBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHH
aws configure set default.region us-east-1

sudo yum update -y успешно выполняется, но шаги aws configure не выполняются.

Ответы [ 2 ]

2 голосов
/ 30 января 2020
  1. Передача секретов в пользовательских данных небезопасна.
  2. Ваш сценарий не выполняется, поскольку он не работает как ec2-user, поэтому в нем нет aws дорожка. Даже если бы он работал, он не настроил бы инструмент CLI для учетной записи ec2-user, поэтому он не будет работать так, как вы хотите.

  3. Самое главное, что есть гораздо лучший способ выполнить это. Вы должны назначить профиль экземпляра IAM этому экземпляру. При запуске инструмента aws cli на экземпляре с назначенной ролью IAM он автоматически использует эти учетные данные.

1 голос
/ 30 января 2020

В соответствии с рекомендациями всегда лучше использовать роль экземпляра IAM, прикрепленную к Ec2, вместо установки учетных данных AWS в Ec2.

  1. Создать роль экземпляра IAM ( см. AWS Выполните c) с необходимым разрешением, которое хотите дать Ec2.

  2. Используйте команду --iam-instance-profile в aws cli для присоединения Ec2 с указанием c роли Iam.

    aws ec2 run-instances --image-id ami-062f7200baf2fa504 --count 1 \
    --instance-type t2.micro --key-name MyFirstKey --security-group-ids \
    launch-wizard-3 --iam-instance-profile 
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...