AWS CDK:如何在不失去更新能力的情况下重命名现有堆栈?
AWS CDK: How to rename existing stacks without losing the ability to update?
我已经创建并部署了一个生产堆栈:
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 (then ExecuteChangeSet) 设置堆栈名称。堆栈名称是 CloudFormation 中唯一的、不可变的 ID。
我已经创建并部署了一个生产堆栈:
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 (then ExecuteChangeSet) 设置堆栈名称。堆栈名称是 CloudFormation 中唯一的、不可变的 ID。