Мы используем AWS с экземплярами CodeDeploy и EC2 для запуска нескольких веб-приложений.
У нас есть 4 экземпляра EC2, каждый из которых выполняет несколько приложений, доступных на разных портах.У нас есть группы развертывания CodeDeploy, настроенные для каждого приложения.Таким образом, для 5 приложений существует 5 групп приложений / развертывания.Поскольку каждое приложение развернуто во всех 4 экземплярах, каждая группа развертывания включает в себя все 4 экземпляра (с использованием тегов).Эти группы развертывания настроены для выполнения развертываний на месте.Несмотря на то, что мы используем балансировщик нагрузки приложения, эти группы развертывания не включены для балансировки нагрузки.(В основном из-за того, что мне неясно ответ на вопрос ниже.)
В документации AWS указано, что во время развертывания "Экземпляры в группе развертывания переводятся в автономный режим" . Что именно это означает? переводит ли весь экземпляр EC2 в автономный режим во время развертывания?Это означает, что все приложения, работающие на одном экземпляре, будут недоступны при развертывании одного приложения на этом экземпляре?
Или это действительно только «автономно» с точки зрения состояния конкретного приложения CodeDeploy и управления развертываниями?А фактическое состояние приложения действительно определяется тем, как события жизненного цикла реализуются / обрабатываются в конкретном файле appsec?Это означает, что экземпляр EC2 все еще технически доступен для трафика, независимо от того, доступно ли буквальное приложение или LB-трафик направляется на экземпляр?
И если неясно, сценарий использования:Выполняем ли несколько приложений на одном и том же экземпляре (ах), можем ли мы безопасно развернуть обновления для отдельного приложения, не влияя на доступность других приложений?