3

Похоже, у Amazon есть готовая IAM-роль, предоставляющая экземпляры доступа к CloudWatch. (Более ограничительный один could also be created if necessary)Возможно ли включить CloudWatch в исполняемый экземпляр EC2?

Но, похоже, вы cannot attach an IAM role to a running instance.

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

+0

Обновление: в частности, я пытался добавить монитор использования диска. Эта и связанные с ними показатели (например, использование процессора и памяти) требуют определенного агента или процесса, выполняющегося на хосте. Скрипты Amazon cloudwatch, вызываемые из cron с локально сохраненными учетными данными для пользователя IAM с облачным экраном, сделали трюк. – jorfus

ответ

1

Предполагаю, что вы говорите о пользовательских метриках CloudWatch. Вам не нужно перезапускать какие-либо экземпляры для их включения. Вы можете создать группу в IAM со следующей политикой и добавить пользователя в группу:

{ 
"Version": "2012-10-17", 
"Statement": [ 
    { 
     "Sid": "****************", 
     "Effect": "Allow", 
     "Action": [ 
      "cloudwatch:PutMetricData" 
     ], 
     "Resource": [ 
      "*" 
     ] 
    } 
] 
} 

Тогда вы в основном копировать учетные данные этого пользователя в awscred файл и добавить скрипт на языке Perl, чтобы хрон. Да, мне пришлось копировать учетные данные на каждую машину, где включена коллекция настраиваемых показателей.

+0

Это работает, спасибо. Я закончил его реализацию с ограниченной учетной записью IAM специально для этой цели. Я также создал роль IAM, которую я могу прикрепить к будущим экземплярам. Это должно устранить необходимость хранения учетных данных локально на экземпляре (хотя они ограничены). – jorfus

0

Вы считали, что просто изменяете существующую роль IAM, чтобы включить запись в CloudWatch? Это изменение должно вступить в силу немедленно и не требует перезагрузки или перезапуска экземпляра.

+0

Это тоже сработает, но у меня не было никаких роли IAM. Так что в моем случае это было невозможно. В итоге я создал нового пользователя IAM специально для этой задачи и использовал это. – jorfus