使用 Amazon CloudFormation 堆栈将 Amazon 资源作为单个单元进行管理 - Amazon CloudFormation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Amazon CloudFormation 堆栈将 Amazon 资源作为单个单元进行管理

堆栈是可作为单个单元管理的一系列 Amazon 资源。换句话说,您可通过创建、更新和删除堆栈来创建、更新和删除一组资源。

创建堆栈涉及部署一个指定了资源及其配置的 CloudFormation 模板,然后 CloudFormation 会预置和配置资源。

更新堆栈涉及对模板或参数进行更改。CloudFormation 将您提交的更改与堆栈的当前状态进行比较,然后仅更新有更改的资源。CloudFormation 可能会中断资源或者替换更新的资源,具体取决于您所更新的属性。有关资源更新行为的更多信息,请参阅理解堆栈资源的更新行为

CloudFormation 提供了两种堆栈更新方法:

  • 堆栈集 – 使用更改集,您可以预览 CloudFormation 将对堆栈进行的更改,然后决定是否应用这些更改。更改集是 JSON 格式的文档,其中汇总了 CloudFormation 将对堆栈进行的更改。如果您希望确保 CloudFormation 不会进行意外的更改或者希望考虑多个选项,可使用更改集。例如,在更新期间可以使用更改集来验证 CloudFormation 不会替换堆栈中的数据库实例。

  • 直接更新 – 直接更新堆栈时,您负责提交更改,而 CloudFormation 会立即进行部署。在您需要快速部署更新时,请使用直接更新。

删除堆栈会删除与其关联的资源。例如,某个堆栈可能包含运行 Web 应用程序所需的所有资源,如 Web 服务器、数据库和联网规则。如果您不再需要该 Web 应用程序,则只需删除该堆栈及其所有相关资源。

注意

将按照堆栈资源运行的时间 (即使您已立即删除堆栈) 向您收取费用。

CloudFormation 会确保所有堆栈资源都已创建或删除(视情况)。由于 CloudFormation 将堆栈资源视为单个单元,因此必须成功创建或删除所有这些资源后才能创建或删除该堆栈。如果有任何资源无法创建,CloudFormation 将回滚该堆栈,并自动删除已创建的任何资源。如果资源无法删除,则任何剩余的资源都将保留,直到能够成功删除堆栈。

用于管理堆栈的界面

您可以通过以下界面来管理 CloudFormation 堆栈:

  • CloudFormation 控制台 – 提供您可用来访问堆栈的 Web 界面。要使用 CloudFormation 控制台,您可以登录 Amazon Web Services Management Console,使用导航栏顶部的搜索框来搜索 CloudFormation,然后从搜索结果中选择 CloudFormation

  • Amazon Command Line Interface – 提供了适用于大量 Amazon 服务的命令,包括 CloudFormation,并且 Windows、Mac 和 Linux 上均支持这些命令。有关 CloudFormation 命令的信息,请参阅《Amazon CLI 命令参考》中的 cloudformation

  • Amazon Tools for PowerShell – 一组根据 Amazon SDK for .NET 公开的功能构建的 PowerShell 模块。借助 Tools for PowerShell,您可以从 PowerShell 命令行,为针对 Amazon 资源的操作编写脚本。您可以在 Amazon Tools for PowerShell Cmdlet 参考中找到适用于 CloudFormation 的 cmdlets。

  • 查询 API – 提供了您使用 HTTPS 请求调用的低级别 API 操作。如果您在应用程序中发出 API 调用,则必须编写代码来处理低级别的详细信息,例如生成哈希值以签署请求。有关适用于 CloudFormation 的 API 操作的更多信息,请参阅《Amazon CloudFormation API 参考》中的操作

  • Amazon SDK – 提供特定语言的 API,并处理多种连接详细信息,例如计算签名、处理请求重试和错误处理。有关更多信息,请参阅用于 Amazon Web Services 的工具