Автоматизация установки агента CloudWatch

Я просто хочу знать, есть ли другие способы решения этой проблемы:

У меня настроена несколько учетных записей AWS. EC2 будут контролироваться по всем учетным записям, и когда оповещения запускаются через sns, будет отправлено письмо. Для всех EC2 с Windows Server 2016 и более поздних версий, Amazon Linux и Ubuntu 16.04 и 18.04 агенты SSM поставляются предустановленными. Таким образом, я могу протолкнуть агент CloudWatch через команду запуска системного менеджера в EC2 для каждой учетной записи AWS.

Мне было интересно, есть ли более простой способ принудительно установить агент CloudWatch с каждым новым EC2, развернутым в учетной записи AWS, без установки агента вручную на экземпляр или с помощью команды запуска?

Я думал о работе с тегами, например: «IsMonitored» и значением true или false. например, каждый день в 17 часов функция Lambda будет перебирать все экземпляры в этой учетной записи и искать IsMonitored = false, получать этот идентификатор экземпляра и с помощью скрипта (boto3?) подтолкнуть агента к этому экземпляру. Это казалось сложным, поэтому я хотел проверить, есть ли другие простые решения, которые будут делать то же самое.

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

Иман




Ответы (1)


Один из более простых подходов - использовать предварительно запеченный AMI. Во-первых, раскрутите EC2 с помощью обычного AMI, который вы используете. Затем установите агент CloudWatch и создайте образ. С этого момента вы можете запускать EC2 с помощью нового AMI, в котором предустановлен агент CloudWatch.

Если предварительно запеченный AMI вам не подходит, я рекомендую использовать инструмент «Инфраструктура как код» (IaC), например Ansible, для автоматизации процесса установки.

person jellycsc    schedule 13.05.2020
comment
Amazon очень часто обновляет свои стандартные AMI, при таком подходе мне также нужно обновлять свои AMI, а это требует большого количества ручной работы. Я надеялся, что у Amazon есть встроенный способ принудительной установки агента CloudWatch Agent на каждом экземпляре. - person Iman.A; 13.05.2020
comment
@ Iman.A Еще один подход - добавить фрагмент пользовательских данных в EC2 при запуске. - person jellycsc; 13.05.2020
comment
Я просто думал об этом, но проблема в том, что у меня есть проблема: люди, которые создают эти EC2, в основном разработчики или исследователи, и они ковбои, если вы меня понимаете, поэтому я стараюсь создавать решения, в которых я не зависим от их действия. С пользовательскими данными человек, создающий EC2, должен будет предоставить эти данные во время создания, и я на 100% уверен, что они забудут или что-то еще. - person Iman.A; 13.05.2020