AWS CloudFormation 向开发人员和系统管理员提供了一种简便地创建和管理一批相关的 AWS 资源的方法,并通过有序且可预测的方式对其进行资源配置和更新。
可以使用 AWS CloudFormation 的示例模板或自己创建模板来描述亚马逊 AWS 资源以及应用程序运行时所需的任何相关依赖项或运行时参数。可以不需要了解亚马逊 AWS 服务需要配置的顺序,也不必弄清楚让这些依赖项正常运行的细枝末节。 CloudFormation 为妥善处理。 当设置完成后,可通过按受控制、可预测的方式修改和更新 AWS 资源,可像做软件版本控制一样对的 AWS 基础结构进行版本控制。
简化基础设施管理
对于还包括后端数据库的可扩展 Web 应用程序,可使用 Auto Scaling 组、Elastic Load Balancing 负载均衡器和 Amazon Relational Database Service 数据库实例。通常,可使用每个单独的服务来配置这些资源。在创建资源后,必须将这些资源配置为结合使用。在应用程序启动并正常运行之前,所有这些 任务会增加复杂性和时间。
相反,可创建或修改现有 AWS CloudFormation 模板。一个描述了所有资源及其属性的模板。当使用该模板创建 AWS CloudFormation 堆栈时,AWS CloudFormation 将为配置 Auto Scaling 组、负载均衡器和数据库。成功创建堆栈之后, AWS 资源将正常运行。可以轻松删除堆栈,这将删除堆栈中的所有资源。通过使用 AWS CloudFormation,可以轻松地将一组资源作为一个单元进行管理。
快速复制基础设施
如果应用程序需要其他可用性,可在多个区域中复制它,以便在一个区域变得不可用的情况下,用户仍可在其他区域中使用应用程序。复制应用程序的 难点在于它还需要复制资源。不仅需要记录应用程序所需的所有资源,还必须在每个区域中设置和配置这些资源。
在使用 AWS CloudFormation 时,可重复使用模板来不断地重复设置资源。仅描述资源一次,然后在多个区域中反复配置相同的资源。
轻松控制和跟踪对基础设施所做的更改
在某些情况下,可能拥有增量升级所需的基础资源。例如,可能在 Auto Scaling 启动配置中更改为更高的执行实例类型,以便能减小 Auto Scaling 组中的最大实例数。如果完成更新后出现问题,可能需要将基础设施回滚到原始设置。要手动执行此操作,不仅必须记住已发生更改的资源,还必须知道原始设 置是什么。
当使用 AWS CloudFormation 配置基础设施时,AWS CloudFormation 模板准确描述了所配置的资源及其设置。由于这些模板是文本文件,因此只需跟踪模板中的区别即可跟踪对基础设施所做的更改,其方式类似于开发人员控制对源 代码所做的修订的方式。例如,可使用将版本控制系统用于模板,以便准确了解所做的更改、执行更改的人员和时间。如果在任何时候需要撤消基础设施所做的 更改,则可使用模板的上一个版本。