Я внедряю автоматическое масштабирование Amazon EC2 и AWS CodeDeploy (сине-зеленое развертывание). Я назначил запеченный AMI группе автоматического масштабирования.
Автоматическое масштабирование работает без проблем без CodeDeploy.
AWS CodeDeploy для сине-зеленого развертывания работает без проблем. Я назначил группу автоматического масштабирования в группе развертывания.
Однако, чтобы протестировать развертывание Blue Green, я завершаю один из экземпляров вручную, чтобы автоматическое масштабирование могло запустить еще один экземпляр. Однако экземпляр запускается и внезапно завершается .
Я вижу, что в AWS CodeDeploy есть ошибка:
Не удалось выполнить развертывание, поскольку указанный файл уже существует в этом месте: webserver / server.js
Я использую конфигурацию AWS CodeDeploy OneAtTime
и параметры содержимого: Overwrite the content
.
У меня есть только 1 группа развертывания для приложения.
В настоящее время я удалил автоматическое масштабированиегруппа из AWS CodeDeploy, изменив «Автоматически копировать группу автоматического масштабирования Amazon EC2» на «Вручную подготовить экземпляры», что привело к прекращению завершения экземпляров. Однако новый экземпляр, созданный автоматическим масштабированием, не имеет нового кода. Разве CodeDeploy не обновляет или не заменяет AMI новым кодом?
Вопросы:
Почему возникает ошибка «Развертывание не выполнено, поскольку указанный файл уже существует вэто местоположение: webserver / server.js "?
Экземпляр EC2, созданный при автоматическом масштабировании, не имеет последнего кода развертывания?
Есть лилучший подход для сине-зеленого развертывания и автоматического масштабирования. или есть какие-либо проблемы с вышеуказанным подходом?
Я прочитал учебник AWS CodeDeploy, но что-то пропустил.