监控堆栈更新的进度 - Amazon CloudFormation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

监控堆栈更新的进度

您可以通过查看堆栈事件来监控堆栈更新进度。控制台的 Events (事件) 选项卡会显示堆栈创建和更新过程中的每个重要步骤(按照每个事件的时间进行排序,最新的事件显示在最上方)。

成功更新堆栈期间生成的事件

堆栈更新流程开始有堆栈 UPDATE_IN_PROGRESS 事件作为标记:

2011-09-30 09:35 PDT AWS::CloudFormation::Stack MyStack UPDATE_IN_PROGRESS

接下来显示的事件标明更新模板中已发生更改的各个资源的更新开始和完成。例如,更新名为 MyDB 的 AWS::RDS::DBInstance 资源将产生以下条目:

2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_COMPLETE 2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS

UPDATE_IN_PROGRESS 事件,在 Amazon CloudFormation 报告已开始更新资源时记录。UPDATE_COMPLETE 事件,在资源创建成功时记录。

Amazon CloudFormation 成功更新堆栈时,您会看到以下事件:

2011-09-30 09:35 PDT AWS::CloudFormation::Stack MyStack UPDATE_COMPLETE
重要

在堆栈更新操作期间,如果 CloudFormation 需要替换现有资源,它会首先创建一个新资源,然后删除旧资源。但是,在某些情况下,CloudFormation 可能无法删除旧资源(例如,当用户不具有删除给定类型的资源的权限时)。

CloudFormation 会尝试删除旧资源三次。如果 CloudFormation 无法删除旧资源,其会将旧资源从堆栈中移除并继续更新堆栈。堆栈更新完成后,CloudFormation 会发出 UPDATE_COMPLETE 堆栈事件,但同时会包含一个 StatusReason,以说明无法删除一个或多个资源。CloudFormation 还会针对特定资源发布一个 DELETE_FAILED 事件,以及相应的 StatusReason,以详细说明 CloudFormation 未能删除资源的原因。

旧资源仍然存在并会继续产生费用,但无法再通过 CloudFormation 进行访问。要删除旧资源,请使用基础服务的控制台或 API 直接访问旧资源。

对于已从堆栈模板中移除的资源也是如此,因此将在堆栈更新期间从堆栈中将它们删除。

资源更新失败时生成的事件

如果资源更新失败,Amazon CloudFormation 将报告一个包含失败原因的 UPDATE_FAILED 事件。例如,如果您的更新模板指定了资源不支持的属性更改,如缩减 AWS::RDS::DBInstance 资源的 AllocatedStorage 大小,您将看到以下事件:

2011-09-30 09:36 PDT AWS::RDS::DBInstance MyDB UPDATE_FAILED Size cannot be less than current size; requested: 5; current: 10 2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS

如果资源更新失败,Amazon CloudFormation 将在更新之前回滚在配置升级期间更新的资源。下面列出了您将在更新回滚期间看到的事件示例:

2011-09-30 09:38 PDT AWS::CloudFormation::Stack MyStack UPDATE_ROLLBACK_COMPLETE 2011-09-30 09:38 PDT AWS::RDS::DBInstance MyDB UPDATE_COMPLETE 2011-09-30 09:37 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS 2011-09-30 09:37 PDT AWS::CloudFormation::Stack MyStack UPDATE_ROLLBACK_IN_PROGRESS The following resource(s) failed to update: [MyDB]

要查看堆栈事件,请使用控制台

  1. Amazon CloudFormation控制台中,选择已更新的堆栈,然后单击事件选项卡,查看堆栈事件。

  2. 要更新具有最新事件的事件列表,请选择 Amazon CloudFormation 控制台中的刷新按钮。

要查看堆栈事件,请使用命令行