Я хотел бы запустить некоторый код с помощью Lambda в событии, когда я создаю новый экземпляр EC2. Глядя на проект config-rule-change-triggered
У меня есть возможность запускать код в зависимости от различных изменений конфигурации, но не при создании. Есть ли способ сделать то, что я хочу? Или я неправильно понял случай использования Лямбды?Запустите код AWS Lambda при создании нового экземпляра AWS EC2
ответ
Вы можете сделать это, вставив код в свои экземпляры экземпляра экземпляра EC2, и этот код явно вызывает функцию Lambda, но это не лучший способ сделать это.
Лучше всего использовать комбинацию CloudTrail и Lambda. Если вы включите ведение журнала CloudTrail (каждый а/c должен иметь это включенное, все время во всех регионах), CloudTrail будет регистрировать на S3 все вызовы API, сделанные в вашей учетной записи. Затем вы подключаете это к Lambda, настраивая S3 для публикации событий в Lambda. Функция Lambda получит событие S3, затем может получить журналы API, найти вызовы API RunInstances и выполнить любую работу, необходимую для запуска нового экземпляра.
Я не вижу триггер уведомления, например, запуск, однако то, что вы можете сделать, это написать сценарий запуска и передать его через пользовательские данные. Этот сценарий запуска должен будет загрузить и установить AWS CLI, а затем пройти аутентификацию в SNS и опубликовать сообщение в предварительно настроенном разделе. Сценарий запуска должен быть аутентифицирован для SNS и любых других сервисов AWS, необходимых для вашей роли IAM, поэтому вам нужно предоставить разрешение роли IAM для выполнения того, что вы хотите, чтобы скрипт выполнял. Это можно сделать в консоли IAM.
В этой теме будет включена ваша функция Lambda, которая будет выполняться. Как и в приведенной ниже статье (хотя автор делает что-то подобное для остановки, а не для запуска).
http://rogueleaderr.com/post/48795010760/how-to-notifyemail-yourself-when-an-ec2-instance
Если вы ставите экземпляры EC2 в AutoScale группу, я считаю, что есть триггер, который увольняет, когда группа автомасштаба запускает новый экземпляр, чтобы вы могли воспользоваться этим.
Я надеюсь, что это поможет.
Если у вас включен CloudTrail, вы можете запустить S3 PutObject/TrailBucket функцию Lambda. Функция Lambda анализирует объект, который ему передан, и если он находит событие RunInstances
, тогда запустите свой код.
Я делаю то же самое, чтобы уведомлять некоторых пользователей о запуске нового экземпляра. С Lambda/Python это ~ 20 строк кода.
Мы аналогичные требования пару дней назад (пользователи должны были получить электронную почту, когда новый экземпляр получает запущен)
1) Перейти к cloudwatch, а затем выберите Правила
2) Выберите имя службы (его EC2 для ваш случай), затем выберите «Уведомление об изменении состояния экземпляра Ec2» 3) Затем выберите ожидающий в раскрывающемся списке «Конкретное состояние»
4) Нажмите «Добавить целевую» и выберите свою лямбда-функцию.
Всякий раз, когда запускается новый экземпляр, Cloudwatch запускает вашу функцию лямбда.
Надеюсь, это поможет!
- 1. Назначение роли при создании нового экземпляра EC2 через AWS CLI
- 2. AWS EC2 и Lambda
- 3. Запустите экземпляр AWS с помощью ссылки и AWS-Lambda
- 4. Запустите AWS Lambda для создания AMI экземпляра в другом регионе
- 5. экземпляр экземпляра Amazon AWS EC2 при завершении
- 6. EC2 AWS Amazon: Остановка экземпляра
- 7. Как извлечь файлы из экземпляра AWS ec2?
- 8. Команда создания нового экземпляра Aws?
- 9. AWS EC2 Экземпляры
- 10. Ошибка создания экземпляра AWS
- 11. Скрыть Aws Функциональный код Lambda
- 12. AWS Lambda Boto describe_volumes
- 13. AWS Beanstalk - уведомление SNS для Lambda при создании новой среды
- 14. Почему AWS Lambda работает медленно при вызове службы EC2?
- 15. AWS Lambda - автоматически копирует EC2 между регионами?
- 16. Обработка изображений AWS (Lambda vs EC2)
- 17. Как изменить тип экземпляра aws-ec2?
- 18. AWS ASG + SNS + Lambda
- 19. Ограничения AWS Lambda
- 20. boto3 изменение AWS EC2 экземпляра состояния
- 21. Невозможно соединить AWS S3 с AWS Lambda
- 22. Почему мой AWS-скрипт Lambda возвращает «Экземпляры» вместо идентификатора экземпляра?
- 23. Связать Elastic IP при создании экземпляра EC2 с использованием Node.js
- 24. Развертывание Aws Lambda через CodePipeline
- 25. Укажите хранилище при запуске экземпляра ec2 с помощью AWS SDK
- 26. AWS EC2 цена
- 27. AWS EC2 Экземпляр - аренда
- 28. Импорт экземпляра экземпляра Amazon AWS
- 29. Точка Доменное имя для экземпляра AWS EC2
- 30. Загрузить файл AWS S3 из экземпляра EC2
Спасибо, я настроил код из материалов, предоставленных вами для достижения того, что я хотел. – TimothyBuktu