修改AWS CDK代码后需执行哪些部署命令?是否需要运行cdk destroy?
AWS CDK 代码更新部署问题解答
代码更新后的部署命令
本地完成代码修改后,走标准增量部署流程即可,按实际场景选择执行以下命令:
- (生产环境推荐必跑,测试环境可选)执行
cdk diff:对比本地CDK栈定义和云端已部署版本的资源差异,提前核对所有预期变更,避免误操作修改核心资源。 - 执行
cdk synth:和初次部署的作用一致,将你编写的CDK代码编译合成标准CloudFormation模板,提前排查代码语法、配置逻辑错误。 - 执行
cdk deploy:CDK会自动将合成后的模板提交到AWS,按照CloudFormation的资源更新规则完成增量部署:自动创建新增资源、更新支持热修改的资源、重建需要替换的资源、移除代码中已经删除的废弃资源,等命令执行完成就代表变更已经同步到云端。
如果是本地开发调试阶段,也可以直接用cdk watch命令,它会自动监听本地代码文件变更,自动完成合成和增量部署,省去手动敲命令的步骤,调试效率更高,不建议在生产部署流程中使用。
更新部署是否需要先执行cdk destroy
完全不需要。cdk destroy是栈销毁命令,执行后会删除当前CDK栈关联的所有云端资源,会直接导致服务中断,存储在资源上的业务数据(比如DynamoDB表存储的数据、S3桶内未开启版本保护的文件)也会被永久删除,属于服务下线场景才会用到的操作,正常版本更新绝对不要执行。
CDK底层基于CloudFormation实现资源编排,原生支持无停机增量更新,直接执行cdk deploy就可以自动完成资源差异计算和变更,不需要先删栈再重新部署。只有当你确定要永久下线整个服务、清理所有对应资源时,才需要使用cdk destroy命令。
内容的提问来源于stack exchange,提问作者Moyshe Zuchmir
相关产品推荐
相关产品推荐

