亚马逊AWS官方博客

使用 AWS CloudFormation 快速模式将基础设施部署速度提升多达 4 倍

今天,我们宣布推出 AWS CloudFormation 快速模式,这是一种新的部署模式,可以为反复调试基础设施的开发人员和人工智能工具加快部署速度。在快速模式下,CloudFormation 只要确认资源配置已完成下发,部署任务即可结束,无需等待漫长的稳定性检查。对于迭代开发工作流程和生产场景,部署时间最多可缩短至原来的四分之一。

工作原理
所有 CloudFormation 部署在应用资源配置后,都会执行稳定性检查。如果您需要在切换负载前确认资源具备提供流量的能力,这些检查能够发挥重要作用。

但是,许多工作流程不需要完全稳定即可继续进行。快速模式有两个主要的使用场景:迭代开发工作流程以及您能够接受最终稳定状态的生产场景。这些使用场景包括在开发期间迭代基础设施配置、测试应用程序的各个组件,以及受益于亚分钟反馈回路的人工智能辅助基础设施开发。

在快速模式下,CloudFormation 可以在应用资源配置时完成部署,无需等待稳定性检查。资源会在后台继续变为可用状态。对于在同一堆栈内预置依赖项时出现的临时性故障,CloudFormation 会自动重试依赖的资源,无需客户进行任何干预。这种内置的韧性可以在资源稳定时处理资源之间的时序问题。快速模式会改变部署完成的时间,不会改变资源的预置方式

例如,当我使用死信队列(DLQ)创建 Amazon Simple Queue Service(SQS)队列时,标准模式需要 64 秒,但快速模式在 10 秒钟内就能完成。如果删除带有网络接口附件的 AWS Lambda 函数,标准模式需要 20—30 分钟,但根据我的基准测试,快速模式最多需要 10 秒即可完成。

CloudFormation 快速模式入门
AWS 管理控制台中创建 CloudFormation 堆栈时,在堆栈部署选项下的快速模式中选择启用

您还可以使用 AWS 命令行界面(AWS CLI)AWS SDKAWS 云开发工具包(CDK),以及 Kiro 等人工智能工具来启用该模式。

在创建、更新或删除堆栈时,将参数 --deployment-config 设置为 EXPRESS 即可激活快速模式。无需更改模板。为保障快速迭代体验,快速模式默认禁用回滚功能。要重新启用回滚功能,请在生产环境的部署 deployment-config 中将 disableRollback 设置为 false,或者对失败的部署实施监控/清理机制。

aws cloudformation create-stack \ 
   --stack-name my-app \ 
   --template-body file://template.yaml \ 
   --deployment-config '{"mode": "EXPRESS", "disableRollback": true}' \

例如,在逐步构建基础架构时使用快速模式,一次添加一个资源。确保您的 IAM 角色模板遵循最低权限原则。

# Iteration 1: Deploy IAM role
aws cloudformation create-stack \
--stack-name my-microservice \
--template-body file://iteration1-iam.yaml \
--deployment-config '{"mode": "EXPRESS"}' \
--capabilities CAPABILITY_IAM
--role-arn arn:aws:iam::123456789012:role/CloudFormationDeployRole

# Iteration 2: Add Lambda function
aws cloudformation update-stack \
--stack-name my-microservice \
--template-body file://iteration2-lambda.yaml \
--deployment-config '{"mode": "EXPRESS"}' \
--capabilities CAPABILITY_IAM
--role-arn arn:aws:iam::123456789012:role/CloudFormationDeployRole

# Iteration 3: Add SQS queue and event source mapping
aws cloudformation update-stack \
--stack-name my-microservice \
--template-body file://iteration3-sqs.yaml \
--deployment-config '{"mode": "EXPRESS"}' \
--capabilities CAPABILITY_IAM
--role-arn arn:aws:iam::123456789012:role/CloudFormationDeployRole

对于 AWS CDK,在部署 CDK 堆栈时使用 cdk deploy --express 命令激活快速模式。此命令将检索您生成的 CloudFormation 模板并通过 CloudFormation 快速模式部署该模板,该模式会将您的资源作为 CloudFormation 堆栈的一部分进行预配置。

快速模式适用于所有现有的 CloudFormation 模板,并支持所有 CloudFormation 功能,包括变更集和嵌套堆栈。当您在父堆栈上启用快速模式时,所有嵌套堆栈也将使用快速模式。如果您需要资源完全就绪后才能继续处理流量或开展测试,请继续使用默认部署行为,该行为会在完成之前执行稳定性检查。

现已推出
AWS CloudFormation 快速模式现已在所有 AWS 商业区域推出,无需额外付费。有关区域可用性和未来路线图,请访问按区域列出的 AWS 功能。如果您想调用 API、搜索文档、查找区域可用性并查看有关此新功能的疑难解答,请尝试在首选人工智能工具中使用 AWS MCP 服务器插件。要了解更多信息,请访问 CloudFormation 文档

立即开始加快部署,并向 AWS re:Post for AWS CloudFormation 或通过您常用的 AWS Support 联系方式发送反馈。

Channy