У меня есть стек AWS, и я могу обновлять его вручную через консоль с помощью Cloud Formation без проблем.
через графический интерфейс, я могу выгрузить стек json-файла и развернуть его только с изменениями, внесенными в обновленный шаблон, или вернет правильный вывод, если изменения не включены. Также есть много значений по умолчанию, которые уже обновлены как параметры и определены в json.
Ошибка \
Моя проблема возникает, когда я запускаю то же обновление через интерфейс командной строки, используя приведенный ниже пример кода
aws cloudformation update-stack --stack-name $stackname --template-url https://s3-myregion.amazonaws.com/mybucket --parameters ParameterKey=MasterUsername,UsePreviousValue=true ParameterKey=MasterUserPassword,UsePreviousValue=true --capabilities CAPABILITY_NAMED_IAM
При этом начинается обновление стека, но начинается изменение базы данных RDS, создание нового экземпляра EC2, уже созданного, повторное создание нового vpn и клиентского шлюза, который уже существует. эти значения не устанавливаются по умолчанию в пользовательском интерфейсе как параметры, отличные от ami экземпляра EC2 при обновлении через графический интерфейс.
Я хочу переместить ручное обновление через графический интерфейс в автоматизированный процесс через сервер типа сборки.
Нужно ли использовать, как показано ниже в команде
- использовать предыдущий шаблон
или мне нужно установить для всех ресурсов / параметров, UsePreviousValue = true
К вашему сведению: я провел тестирование на меньшем стеке только с экземпляром EC2 и группой безопасности, и это обновление прекрасно, без необходимости повторного создания ресурсов.