【发布时间】:2019-01-16 12:42:02
【问题描述】:
我有一个现有的 AWS 堆栈,可以使用 Cloud Formation 通过控制台手动更新,没有任何问题。
通过 GUI,我可以上传堆栈 json 文件并进行部署,仅更新模板的更改或返回正确的输出(如果不包含更改)。还有许多默认值已经作为参数更新并在 json 中定义。
错误\
我的问题是当我使用下面的示例代码通过 CLI 运行相同的更新时
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 和客户网关。当通过 GUI 更新时,这些值在 UI 中不会默认作为 EC2 实例 ami 以外的参数。
我希望通过构建类型服务器将通过 gui 的手动更新转移到自动化过程。
我是否需要在命令中使用如下命令
--使用前一个模板
或者我需要为所有资源/参数设置,UsePreviousValue=true
仅供参考:我已经在只有一个 EC2 实例和安全组的较小堆栈上进行了测试,并且无需重新创建资源即可正常更新。
【问题讨论】:
-
这可能与元数据有关吗?
标签: amazon-cloudformation aws-cli