什么是 Amazon CloudFormation? - Amazon CloudFormation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

什么是 Amazon CloudFormation?

Amazon CloudFormation 是一项服务,可帮助您对 Amazon 资源进行建模和设置,以便能花较少的时间管理这些资源,而将更多的时间花在运行于 Amazon 中的应用程序上。您创建一个描述您所需的所有 Amazon 资源(如 Amazon EC2 实例或 Amazon RDS 数据库实例)的模板,并且 CloudFormation 将负责为您预置和配置这些资源。您无需单独创建和配置 Amazon 资源并了解 what; CloudFormation 句柄处理该工作时所依赖的内容。以下方案演示 CloudFormation 如何提供帮助。

简化基础设施管理

对于还包括后端数据库的可扩展 Web 应用程序,您可使用自动扩缩组、Elastic Load Balancing 负载均衡器和 Amazon Relational Database Service 数据库实例。您可以使用每个单独的服务来预置这些资源, 创建资源后, 您需要将它们进行配置从而一起生效。在您的应用程序启动并正常运行之前,所有这些任务会增加复杂性和时间。

相反,您可创建或修改现有 CloudFormation 模板。模板描述了您的所有资源及其属性。当您使用该模板创建 CloudFormation 堆栈时,CloudFormation 将为您预置自动扩缩组、负载均衡器和数据库。成功创建堆栈之后,您的 Amazon 资源将正常运行。您可以轻松删除堆栈,这将删除堆栈中的所有资源。通过使用 CloudFormation,您可以轻松地将一组资源作为一个单元进行管理。

快速复制您的基础设施

如果您的应用程序需要其他可用性,您可在多个区域中复制它,以便在一个区域变得不可用的情况下,您的用户仍可在其他区域中使用您的应用程序。复制应用程序的难点在于它还需要您复制您的资源。您不仅需要记录您的应用程序所需的所有资源,还必须在每个区域中设置和配置这些资源。

重复使用 CloudFormation 模板,从而以一致且可重复的方式创建资源。要重复使用模板,仅描述您的资源一次,然后在多个区域中反复配置相同的资源。

轻松控制和跟踪对您的基础设施所做的更改

在某些情况下,您可能拥有增量升级所需的基础资源。例如,您可能在 Auto Scaling 启动配置中更改为更高的执行实例类型,以便您能减小自动扩缩组中的最大实例数。如果完成更新后出现问题,您可能需要将基础设施回滚到原始设置。要手动执行此操作,您不仅必须记住已发生更改的资源,还必须知道原始设置是什么。

当您使用 CloudFormation 配置基础设施时,CloudFormation 模板准确描述了所配置的资源及其设置。由于这些模板是文本文件,因此您只需跟踪模板中的区别即可跟踪对基础设施所做的更改,其方式类似于开发人员控制对源代码所做的修订的方式。例如,您可使用将版本控制系统用于模板,以便准确了解所做的更改、执行更改的人员和时间。如果您在任何时候需要撤消基础设施所做的更改,则可使用模板的上一个版本。

CloudFormation 入门

CloudFormation 可通过 CloudFormation 控制台APIAmazon CLI、、Amazon SDK 以及通过多种集成来使用。

有关 CloudFormation 的简介,请参阅 CloudFormation 的工作原理

要开始使用 CloudFormation,请参阅演练:创建您的第一个堆栈

您可以在本用户指南以及以下资源中了解有关 CloudFormation 的更多信息: