AWS CloudFormation 为开发人员和系统管理员提供了一种简便方法,用于创建一批相关的 AWS 资源,通过有序且可预测的方式对其进行资源配置。以下文章和文档就构建模板和使用各种 AWS CloudFormation 功能来调配 AWS 资源提供了指导。
AWS CloudFormation Designer 是一种可视化工具,让您能够通过拖放界面创建和修改 CloudFormation 模板。您可以轻松地添加、修改或删除资源,底层的 JSON 会做出相应地更改。如果您修改了与正在运行的堆栈关联的模板,您可以更新该堆栈,以使其符合模板。
AWS CloudFormation 为您提供了简单的方法,用于创建运行应用程序所需的资源,Amazon EC2 实例、Amazon RDS 数据库实例和 Elastic Load Balancer。此模板描述了您需要哪些资源,以及 AWS CloudFormation 处理的任务,如:如何依次以可预测的方式调配资源、处理并进行故障恢复等问题。尽管 AWS CloudFormation 负责调配所有资源,它还是会提出如何在 Amazon EC2 实例上部署、配置和执行应用程序软件等显而易见的问题。我们提供了许多选项,每个都可以就需要以多快的速度备妥应用程序、部署新版软件时需要多大幅度的灵活性等方面,为您提供建议。
AWS CloudFormation 可以帮助您配置或安装应用程序,启动您可能已在您的环境中使用的部署和管理工具。Chef 是 Opscode 推出的开源基础设施自动化解决方案,它是以 Ruby 语言编写的,可允许您自动配置系统及其应用程序。AWS CloudFormation 和 Chef 可配合使用,以自动执行整个部署和管理流程,从 AWS 资源到您的应用程序工件,全部包揽。
AWS CloudFormation 可以帮助您配置或安装应用程序,启动您可能已在您的环境中使用的部署和管理工具。Puppet 是一个开源平台,用于调配、配置和修补应用程序与操作系统组件。AWS CloudFormation 和 Puppet 可结合使用,以自动执行整个部署和管理流程,从 AWS 资源到您的应用程序工件。
如今,许多人已经在我们称之为烹饪模型的模型中使用 AWS。他们启动实例、分配弹性 IP 地址、创建信息队列等。有时候,这是通过脚本或模板以半自动的方式执行的,有时候是手动过程。随着系统整体复杂性的增长,启动合适的 AMI 组合、向其分配角色、处理错误条件以及将所有移动的部件放到合适的位置,这一系列操作变得越来越具有挑战性。当今时代要求所有“厨师”都要成为“面包师”!
这篇文章显示了如何将 Amazon Linux AMI 与 AWS CloudFormation 配合使用,以便在启动时动态配置应用程序。示例使用了 AWS CloudFormation 支持的新 WaitCondition 资源,等到系统任务堆栈创建成功之后,再配置 Ruby on Rails 应用程序。该示例还利用了适用于 Cloud-init 的 Amazon Linux AMI 支持,而 Cloud-init 是按规范构建的开源应用程序。Cloud-init 使您能够使用 Amazon Elastic Compute Cloud (Amazon EC2) 用户数据参数来指定启动时实例运行的操作。
这个简单的介绍能帮助您了解为什么需要在云中进行编制和自动调配操作。