Статьи

Управление AMI и снимками с помощью AWS Lambda

Создавайте AMI автоматически с помощью AWS Lambda

Автоматизация задач и постоянное улучшение рабочих процессов являются ключевыми частями DevOps. В конвейере CI / CD возможность упростить процессы — огромный плюс. Упрощение системных процессов не только облегчит вам, как разработчику, но и другие дополнительные преимущества. Например, вы можете значительно снизить стоимость запуска сервисов в облаке с помощью усовершенствованного и автоматизированного масштабирования инфраструктуры.

AWS Lambda — это новейшая технология в области облачных вычислений, которая позволяет выполнять код «без сервера». Это означает, что AWS предоставит нам платформу времени исполнения. Теперь мы привыкли использовать образы машин Amazon (AMI) для хранения конфигурации программного обеспечения и других переменных. AMI, безусловно, сводят к минимуму человеческие ошибки в конвейере CI / CD. Таких проблем, как неправильная конфигурация, можно полностью избежать. AWS Lambda просто опережает использование AMI. сделав их полностью безсерверными.

Вам также могут понравиться:  AWS Lambda Best Practices

Почему Go Serverless?

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

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

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

В этом посте мы расскажем, как автоматизировать AMI для ваших экземпляров с помощью AWS Lambda и CloudWatch . Для этого мы создали две функции: одну для создания AMI, а другую для удаления старых AMI с помощью retention.d

AWS Lambda идеально подходит для этих задач. Служба предназначена для небольших приложений и служб по требованию, которые должны запускаться определенными событиями. AWS обеспечивает постоянный мониторинг за вами, предоставляя вам больше ресурсов, чтобы сосредоточиться на остальной части процесса. В настоящее время Lambda поддерживает следующие языки: Node.js, Java, C # и Python. Мы будем использовать Python3.7 для написания наших функций в этом посте. Мы будем использовать CloudWatch Events для запуска функции Lambda, и мы можем создавать правила CloudWatch с помощью выражений Cron.

Настройка AWS Lambda

Как и в случае с другими сервисами Amazon, вам нужно запустить процесс настройки, предоставив AWS Lambda достаточные роли служб для доступа к остальной среде. Лямбда нуждается в доступе для описания экземпляров, создания / отмены регистрации изображений и удаления снимков. Вы можете сделать это из меню IAM из Консоли управления AWS или напрямую создав политику. Войдите в консоль управления AWS и щелкните службу IAM, которая перенаправит вас на консоль IAM.

  • Нажмите «Политики» на левой панели консоли.

полисы

  1. Нажмите «Создать политику», затем выберите вкладку «JSON» и вставьте приведенные ниже данные JSON в поле.

JSON