如何通过AWS CloudFormation的create-change-set创建新栈?遇错求助
解决AWS CloudFormation创建新栈变更集的报错问题
你碰到的这个报错其实很常见,核心原因是默认情况下create-change-set命令是用来更新现有栈的,它会自动查找你指定的--stack-name对应的栈是否存在,找不到就抛出这个ValidationError。
如果是要为新栈创建变更集,你必须明确指定变更集的类型为CREATE——AWS CloudFormation不会自动推断你是要创建新栈还是更新旧栈。
正确的命令示例
给你的命令加上--change-set-type CREATE参数即可:
aws cloudformation create-change-set --change-set-name ChangeSet-82 --stack-name test-bucket-xx --region eu-west-1 --template-body file://xxx --change-set-type CREATE
后续操作与验证
- 生成变更集后,你需要执行它来实际创建栈:
aws cloudformation execute-change-set --change-set-name ChangeSet-82 --stack-name test-bucket-xx --region eu-west-1 - 如果你不确定栈是否真的不存在,可以先运行这个命令确认:
如果返回栈不存在的错误,就说明确实需要用aws cloudformation describe-stacks --stack-name test-bucket-xx --region eu-west-1CREATE类型的变更集来创建新栈。
内容的提问来源于stack exchange,提问作者DenCowboy
相关产品推荐
相关产品推荐

