AWS CodeDeploy Blue / Green архитектура развертывания ELB - PullRequest
0 голосов
/ 15 апреля 2020

Я выполняю AWS Развертывание CodeDeploy B / G с использованием метода автоматического масштабирования групп. Для этого я создал одну группу автоматического масштабирования с двумя экземплярами. Затем я создал две целевые группы originaltargetgroup и replacementtargetgroup. Затем я создал балансировщик нагрузки приложения со слушателями как originaltargetgroup (100% traffi c) и replacementtargetgroup (0% traffi c). Когда я инициировал развертывание B / G в codedeploy с целевой группой как replacementtargetgroup, он создал копию исходной группы автоматического масштабирования с двумя новыми экземплярами замены.

Мой вопрос заключается в том, что я не смог получить доступ к двум новым зеленым экземплярам с помощью ELB DNS. Я понял, что это потому, что зеленые экземпляры были помещены в replacementtargetgroup, который обслуживает 0% трафика c.

Почему ELB не переключил весь трафик c на replacementtargetgroup или возможно, я делаю что-то не так.

По сути, я запутался, как работает вышеуказанная архитектура. Нужно ли создавать только 1 целевую группу или две целевые группы для развертывания B / G. Я полностью сбит с толку и не могу понять это.

1 Ответ

0 голосов
/ 15 апреля 2020

Для развертывания Blue / Green с CodeDeploy не нужно иметь 2 группы ASG и 2 группы целей. Вы должны предоставить данные только в качестве существующей AutoScalingGroup и существующего ElasticLoadBalancer.

Когда вы запускаете развертывание B / G, запускается следующая последовательность:

  1. Новая группа AutoScalingGroup создается CodeDeploy, которая является точной копией вашей существующей ASG.
  2. После выполнения вышеуказанных шагов вы получаете новые экземпляры EC2. Если в существующей ASG было 2 сервера EC2, то в новой ASG также будут работать 2 сервера EC2.
  3. При подготовке новых серверов EC2 на этих серверах выполняется развертывание, поэтому приложение на них обновляется до нового. версия.
  4. После завершения развертывания новые серверы регистрируются в существующей TargetGroup.
  5. После регистрации новых экземпляров и их исправности трафик c перенаправляется со старых серверов на новые серверы. .
  6. Опубликовать это, старые серверы отменяются.
  7. Когда старые серверы отменяются, CodeDeploy может прекратить их на основании конфигурации
...