Связать роль с исполняемым экземпляром AWS

Чтобы запустить сценарии мониторинга AWS (http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts-perl.html) на одном из существующих экземпляров ec2, мне нужна роль IAM, связанная с экземпляром.

Я нашел много документации для запуска экземпляра с ролью... Но ничего не связать роль с существующим экземпляром.

Возможно ли это?

Если нет, что я могу сделать? Запустить новый экземпляр с ролью и передать ему тома?

Ответы

Ответ 1

Доступен новый метод associate-iam-instance-profile для связывания профиля экземпляра IAM с запущенным или остановленным экземпляром.

Пример:

aws ec2 associate-iam-instance-profile --instance-id YourInstanceId --iam-instance-profile Name=YourNewRole-Instance-Profile

Doco

Ответ 2

Если нет, что я могу сделать? Запустить новый экземпляр с ролью и передать объемы к нему?

Это один из вариантов, но может потребоваться много времени, если у вас много экземпляров.

Другой вариант - просто использовать IAM, создав нового пользователя, а затем добавьте разрешение Amazon CloudWatch PutMetricData operation этому пользователю. Затем создайте учетные данные AWS для этого пользователя и, наконец, используйте их в соответствии с docs, который вы указали:

Необязательно: если вы не используете роль IAM, обновите Файл awscreds.template, который вы загрузили ранее. Содержание этот файл должен использовать следующий формат:

AWSAccessKeyId = YourAccessKeyID

AWSSecretKey = YourSecretAccessKey

Также установите переменную среды AWS_CREDENTIAL_FILE, чтобы указать, что awscreds.template в среде пользователя, на котором выполняется mon-scripts-perl

Ответ 3

AWS не позволяет вам изменять роль экземпляра после запуска экземпляра.

Вы можете:

1) Запустите новый экземпляр с ролью, необходимой для принятия AMI уже запущенного экземпляра и переназначения EIP.

или

2) Создайте безгласного пользователя, сгенерируйте ключ доступа и секретный ключ для пользователя с определенным permssion и используйте эти ключи.

Ответ 4

Раньше решения не было. Вам нужно было создать и AMI и снова запустить сервер с соответствующей ролью.

9 февраля AWS запустила эти новые параметры CLI, которые помогут вам решить вашу проблему. См. Эту ссылку: https://aws.amazon.com/blogs/security/new-attach-an-aws-iam-role-to-an-existing-amazon-ec2-instance-by-using-the-aws-cli/