AWS CloudFormation 功能

为什么选择 AWS CloudFormation?

AWS CloudFormation 通过将基础设施视为代码,为您提供一种简单的方式,为一系列相关 AWS 资源和第三方资源建模,快速而又一致地对这些资源进行预置并在它们的整个生命周期内对其进行管理。CloudFormation 模板描述了您所需的资源及其依赖项,这样,您就可以将它们一起作为一个堆栈进行启动和配置。您可以根据需要,使用模板将整个堆栈作为一个单元进行创建、更新和删除,无需单独管理资源。您可以跨多个 AWS 账户和 AWS 区域管理和预置堆栈。

Page Topics

功能

功能

使用 AWS CloudFormation Registry,您可以建模并预置 AWS 合作伙伴网络 (APN) 合作伙伴以及开发人员社区发布的第三方资源和模块。第三方资源的示例包括监控、团队生产效率、事件管理和版本控制工具,以及来自 MongoDB、Datadog、Atlassian Opsgenie、JFrog、Trend Micro、Splunk、Aqua Security、FireEye、Sysdig、Snyk、Check Point、Spot by NetApp、Gremlin、Stackery 和 Iridium 这样的 APN 合作伙伴的资源。您还可以浏览和发现 JFrog 和 Stackery 的众多预构建模块以及 AWS Quick Starts 维护的模块,并从中做出选择。

您可以使用 AWS CloudFormation CLI 构建自己的资源提供程序。AWS CloudFormation CLI 是一个简化开发流程的开源工具,具备本地测试和代码生成功能。

CloudFormation StackSets 可让您使用单个 CloudFormation 模板跨多个账户和区域预置常见 AWS 资源集。StackSets 能够以自动且安全的方式预置、更新或删除堆栈,无论这些堆栈位于何处。

CloudFormation 使您可以在文本文件中为整个云环境建模。您可以使用 JSON 或 YAML 等开源声明性语言描述您要创建和配置的 AWS 资源。如果您想以直观的方式进行设计,则可以使用 AWS CloudFormation Designer 来帮助您开始使用 AWS CloudFormation 模板。

借助 AWS Cloud Development Kit (AWS CDK),您可以使用 TypeScript、Python、Java 和 .NET 定义云环境。AWS CDK 是一种开源软件开发框架,可帮助您使用熟悉的编程语言对云应用程序资源进行建模,然后通过 IDE 直接使用 CloudFormation 预置基础设施。CDK 提供高级组件,使用经过验证的默认值预置云资源,因此您无需成为专家即可构建云应用程序。了解有关 AWS CDK 的更多信息。

您可以使用 AWS Serverless Application Model (SAM) 更快构建无服务器应用程序,这是一种开源框架,它提供了简约语法来表达函数、API、数据库和事件源映射。您可以使用 YAML 定义所需应用程序并对其进行建模,且每个资源只有几行代码。在部署期间,SAM 会将 SAM 语法转换并扩展为 CloudFormation 语法。 

CloudFormation 能够以安全、可控的方式自动执行基础设施的预置和更新,其中不涉及任何可能导致错误的手动步骤或控制措施。您可以使用 Rollback Trigger 来指定 CloudFormation 应在堆栈创建和更新过程中监控的 CloudWatch 警报。如果触发任意警报,则 CloudFormation 会将整个堆栈操作回滚到之前部署的状态。

使用 ChangeSets,您可以在执行之前,预览 CloudFormation 要对您的基础设施和应用程序资源进行的建议更改,这样您的部署就可以完全按计划进行。CloudFormation 可确定要执行的正确操作,以最有效的方式预置资源,并在遇到错误时自动回滚。这可以将基础设施和应用程序资源的状态回滚到上一个已知的良好状态。使用偏差检测,您可以持续跟踪 CloudFormation 外部资源的更改情况,从而确保您始终掌握基础设施的最新状况。

借助 AWS CloudFormation 更改集,您可以预览对堆栈的建议更改如何影响您正在运行的资源,例如,检查您的更改是否会删除或替换任何关键资源。仅当您决定执行更改集之后,CloudFormation 才会对您的堆栈执行更改。 

AWS CloudFormation 会在堆栈管理操作过程中自动管理资源之间的依赖项。您无需担心资源的创建、更新或删除顺序的指定问题;CloudFormation 会在执行堆栈操作时确定要对每个资源执行的操作的正确顺序。 

AWS CloudFormation 支持使用存储在远程 Git 存储库中的 CloudFormation 模板更新堆栈。使用此功能,您无需离开远程存储库即可知道堆栈部署成功与否,从而通过避免环境切换节省时间。