Сине-зеленое развертывание на AWS с использованием ElasticBeanStalk - PullRequest
0 голосов
/ 08 апреля 2020

Мне нужна помощь для достижения сине-зеленого развертывания.

Что у меня в корзине -

  1. Одна среда Blue, размещенная на ElasticBeanStalk.
  2. Одна зеленая среда, размещенная на ElasticBeanStalk.
  3. Обе среды создаются CF-Template.Both имеют свои собственные ELB.

Что я ищу -

  1. Мне нужно переключить траффи c с синего на зеленый.
  2. Сначала мне нужно узнать, какая среда в настоящий момент активна, чтобы я мог планировать развертывание моего приложения в следующей среде.
  3. Как только я узнал свою текущую среду (в данном случае Blue), я развернул свою приложение к Green-Environment, и теперь эта среда готова принять трафик c.
  4. Мне нужно перенести 25% traffi c в Green и выполнить проверку работоспособности, если проверка работоспособности в порядке, я буду добавьте еще 25% и выполните проверку работоспособности и т. д.
  5. В любой момент, если проверка работоспособности не пройдена, я смогу перенаправить весь трафик c обратно в Синюю среду.

Мне нужно реализовать это решение в моей работе CI-CD. Моя работа CI заключается в создании пакета и его развертывании на S3. Моя работа на компакт-диске заключается в предоставлении инфраструктуры (ElasticBeanStalk) и загрузке пакета во вновь созданную среду.

1 Ответ

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

Вы не можете управлять развертыванием в AWS Elasti c Beanstalk подобным образом, поскольку он включает в себя наличие двух живых сред и обмен cname. Не совсем то, что вы пытаетесь достичь, но что-то близкое, это называется Неуязвимые развертывания, которые доступны из коробки .

Из документации:

Для выполнения неизменного обновления среды Elasti c Beanstalk создает вторую временную группу автоматического масштабирования за балансировщиком нагрузки вашей среды, чтобы содержать новые экземпляры. Во-первых, Elasti c Beanstalk запускает отдельный экземпляр с новой конфигурацией в новой группе. Этот экземпляр обслуживает трафик c вместе со всеми экземплярами в исходной группе автоматического масштабирования, на которых выполняется предыдущая конфигурация.

Когда первый экземпляр проходит проверки работоспособности, Elasti c Beanstalk запускает дополнительные экземпляры с новым Конфигурация, соответствующая числу экземпляров, запущенных в исходной группе автоматического масштабирования. Когда все новые экземпляры проходят проверку работоспособности, Elasti c Beanstalk переводит их в исходную группу автоматического масштабирования и завершает работу временной группы автоматического масштабирования и старых экземпляров.

...