Что я должен использовать для управления конфигурацией в AWS
Я пытаюсь найти решение для управления конфигурацией с помощью AWS OpsWorks. Я вижу, что AWS предлагает три сервиса для OpsWorks
- Шеф-повар Автомат
- Марионетка
- Стеки AWS
Я прочитал основы всех трех из них, но не могу сравнить между тремя из них. Я не могу понять, когда использовать какое решение.
Я хочу реализовать решение для нескольких моих экземпляров EC2, используя которое я могу доставлять обновления всем своим экземплярам из центрального репозитория (github). И, если необходимо, откат меняется.
Итак, мои запросы следующие:
- Какое из трех решений лучше для этого варианта использования?
- Что я должен использовать, если мои экземпляры находятся в разных регионах?
Я не могу найти ничего полезного по этим темам, чтобы я мог принять решение. Было бы здорово, если бы я мог получить ссылки на некоторые полезные статьи.
Заранее спасибо.
1 ответ
Terraform, Packer и Ansible являются отличным ресурсом, я использую их каждый день для настройки AMI и построения всей моей инфраструктуры.
Terraform - Управление конфигурацией для инфраструктуры, оно позволяет вам предоставлять все компоненты AWS, Azure, GCE, необходимые для запуска приложения.
Упаковщик - создает повторно используемые образы, предварительно установив программное обеспечение, которое является общим для ваших приложений.
Ansible - управление конфигурацией до и после предоставления. Вы можете использовать Ansible с Packer для предоставления программного обеспечения в AMI, а затем, если необходимо, использовать Ansible, чтобы настроить его после предоставления. Нет необходимости в шеф-сервере или марионеточном мастере, вы можете запустить Ansible со своего рабочего стола, если у вас есть доступ к облачным серверам.
В этих примерах предоставляется вся инфраструктура для сайта Wordpress и используется Ansible для его настройки после предоставления.
https://github.com/strongjz/tf-wordpress
Все это также можно автоматизировать в конвейере Jenkins или с помощью других инструментов непрерывного развертывания, таких как CircleCI и т. Д.
Ansible не имеет ограничений по регионам, как и Terraform. Packer - это локальный инструмент сборки или на CD-сервере.
Примеры:
https://www.terraform.io/intro/examples/aws.html
https://github.com/ansible/ansible-examples
https://www.packer.io/intro/getting-started/build-image.html