Предоставляет ли AWS CDK конструкции для развертывания приложений ECS? - PullRequest
3 голосов
/ 05 марта 2020

Обычно мы используем стратегию развертывания BlueGreen & Rolling,

для docker контейнеров в экземплярах контейнеров ECS, для развертывания и обновления.


Ansible Модули ECS позволяют внедрять такие стратегии развертывания с нижеприведенными модулями:

https://docs.ansible.com/ansible/latest/modules/ecs_taskdefinition_module.html

https://docs.ansible.com/ansible/latest/modules/ecs_task_module.html

https://docs.ansible.com/ansible/latest/modules/ecs_service_module.html


Предоставляет ли AWS CDK такие конструкции для реализации стратегий развертывания?

1 Ответ

3 голосов
/ 07 марта 2020

CDK поддерживает конструкции более высокого уровня для ECS, называемые «шаблонами ECS». Одним из них является ApplicationLoadBalancedFargateService , который позволяет определить службу ECS Fargate за балансировщиком нагрузки приложения. В этом случае обновляемое обновление поддерживается из коробки. Вы просто запускаете cdk deploy с более новым Docker образом, и ECS позаботится о развертывании. Будет:

  1. Запустить новое задание с новым Docker образом.
  2. Дождаться нескольких успешных проверок работоспособности нового развертывания.
  3. Начать отправку нового переместите c к новой задаче, позволяя существующим соединениям изящно завершить sh для старой задачи.
  4. Как только все старые подключения выполнены, ECS автоматически остановит старую задачу.

Если ваша новая задача не запускается или не работает, ECS продолжит выполнение исходной задачи.

Что касается развертывания Blue-Green, я думаю, что еще не поддерживается в CloudFormation, Как только это будет сделано, это может быть реализовано в CDK. Если вы можете жить без BlueGreen как Ia C, вы можете определить свой CodeDeploy вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...