Поскольку вы выполняете развертывание Blue / Green и вам нужны два TG (синий и зеленый), чтобы CodeDeploy мог создать новый набор задач ECS, присоедините этот набор задач к зеленому TG и затем начните переносить трафики c с Blue TG на Green TG , Без двух целевых групп не будет большого количества синего / зеленого, все будет синим.
Вот поведение ECS CodeDeploy Blue / Green:
Application load balancer (ALB) -> ALB DNS URL
|
|-- Port 80 (Production Listener) -> website-tg-blue on port 80 at container
|-- Port 8080 (Test Listener) -> website-tg-green on port 80 at container
В настоящее время сайт целевой группы- tg-blue указывает на рабочий трафик c через порт 80 прослушивателя, и теперь давайте предположим, что вы обновляете свой образ ECS, внося новую редакцию в определение задачи и обновляя службу ECS. Сначала Code deploy создает задачу замены ECS с новым определением задачи и получает прослушивание порта 8080 тестового прослушивателя из ALB, который будет перенаправлен в целевую группу website-tg-green, а затем выполняет ловушки развертывания кода на основе вашей логики. c вашей лямбда-функцией, если вы связались с соответствующими хуками. Если все тесты пройдены с помощью хуков или если у вас не настроены какие-либо хуки, то развертывание кода обновит правило прослушивателя ALB, переключив traffi слушателя порта 80 слушателя c на целевую группу замены, которая является website-tg-green и производственный трафик c будет обслуживаться с новыми изменениями.
Затем развертывание кода будет ожидать настроенное время ожидания и удалит исходный набор задач. Наконец, оба порта прослушивателя ALB 80 и тестовый порт 8080 будут указывать на целевую группу website-tg-green.
Если вы выполните дополнительное обновление для той же службы ECS, то целевая группа производственного прослушивателя website-tg-green переключится на website-tg-blue и продолжит наоборот при дальнейших обновлениях уровня обслуживания ECS.
Ссылки на документацию: