什么是 AWS CloudFormation? - AWS CloudFormation

什么是 AWS CloudFormation?

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

简化基础设施管理

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

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

快速复制您的基础设施

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

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

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

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

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