我已经创建并部署了一个产品堆栈:
const app = new cdk.App();
const stack = new cdk.Stack(app, 'myorg-production-api');
现在改变命名模式很重要,我需要这个堆栈为myorg-api-production-root
。
当然,我可以手动销毁旧的,并部署新的(由于"单例",两者不能同时存在)。资源(如DNS记录),但这意味着很长的停机时间,我需要不惜一切代价避免。
我能否以某种方式干预CDK的堆栈身份确定过程并在不停机的情况下更改堆栈名称?
不,无论是否使用CDK,都不可能更改现有堆栈的名称。
在底层,cdk deploy
在创建时使用CloudFormation CreateChangeSet API(然后是ExecuteChangeSet)设置堆栈名称。栈名是CloudFormation中唯一的、不可变的id。