Что означает AWS CodeDeploy, когда экземпляр отключен? - PullRequest
0 голосов
/ 26 января 2019

Мы используем AWS с экземплярами CodeDeploy и EC2 для запуска нескольких веб-приложений.

У нас есть 4 экземпляра EC2, каждый из которых выполняет несколько приложений, доступных на разных портах.У нас есть группы развертывания CodeDeploy, настроенные для каждого приложения.Таким образом, для 5 приложений существует 5 групп приложений / развертывания.Поскольку каждое приложение развернуто во всех 4 экземплярах, каждая группа развертывания включает в себя все 4 экземпляра (с использованием тегов).Эти группы развертывания настроены для выполнения развертываний на месте.Несмотря на то, что мы используем балансировщик нагрузки приложения, эти группы развертывания не включены для балансировки нагрузки.(В основном из-за того, что мне неясно ответ на вопрос ниже.)

В документации AWS указано, что во время развертывания "Экземпляры в группе развертывания переводятся в автономный режим" . Что именно это означает? переводит ли весь экземпляр EC2 в автономный режим во время развертывания?Это означает, что все приложения, работающие на одном экземпляре, будут недоступны при развертывании одного приложения на этом экземпляре?

Или это действительно только «автономно» с точки зрения состояния конкретного приложения CodeDeploy и управления развертываниями?А фактическое состояние приложения действительно определяется тем, как события жизненного цикла реализуются / обрабатываются в конкретном файле appsec?Это означает, что экземпляр EC2 все еще технически доступен для трафика, независимо от того, доступно ли буквальное приложение или LB-трафик направляется на экземпляр?

И если неясно, сценарий использования:Выполняем ли несколько приложений на одном и том же экземпляре (ах), можем ли мы безопасно развернуть обновления для отдельного приложения, не влияя на доступность других приложений?

1 Ответ

0 голосов
/ 26 января 2019

Из документации - выделение:

Развертывание на месте: приложение на каждом экземпляре в группе развертывания остановлено, последняя версия приложения -установлена, и новая версия приложения запущена и проверена .Вы можете использовать балансировщик нагрузки, чтобы каждый экземпляр отменял регистрацию во время его развертывания, а затем восстанавливался для обслуживания после завершения развертывания.Только развертывания, использующие вычислительную платформу EC2 / On-Premises, могут использовать развертывания на месте.Для получения дополнительной информации о развертываниях на месте см. Обзор развертывания на месте.

В документации ничего не говорится о том, что экземпляр остановлен ...

Что происходитво время развертывания определяется вашим Appspec-файлом, для которого справочная документация здесь .

Важной частью в вашем случае являются ловушки , в которых вы указываетечто происходит во время развертывания.

На этом графике из документации AWS показан Порядок, в котором выполняются хуки (в вашем случае левый поток должен соответствовать:

enter image description here

...