

# 查看 CloudFormation 堆栈事件
<a name="view-stack-events"></a>

可以查看堆栈事件来监控堆栈及堆栈中资源的进度和状态。堆栈事件有助于您了解何时创建、更新或删除资源，以及堆栈部署是否按预期进行。

**Topics**
+ [查看堆栈事件（控制台）](#view-stack-events-console)
+ [查看堆栈事件（AWS CLI）](#view-stack-events-cli)
+ [堆栈状态代码](#cfn-console-view-stack-data-resources-status-codes)

## 查看堆栈事件（控制台）
<a name="view-stack-events-console"></a>

**查看堆栈事件**

1. 通过以下网址打开 CloudFormation 控制台：[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)。

1. 在屏幕顶部的导航栏中，选择您在其中创建了堆栈的 AWS 区域。

1. 在 CloudFormation 控制台的 **Stacks**（堆栈）页面中，选择堆栈名称。CloudFormation 将显示选定堆栈的堆栈详细信息。

1. 选择**事件**选项卡以查看 CloudFormation 为堆栈生成的堆栈事件。

CloudFormation 每分钟自动刷新堆栈事件。此外，CloudFormation 会在新堆栈事件发生时显示**新事件可用**徽章。选择“刷新”图标可将这些事件加载到列表中。通过查看堆栈创建事件，您可以了解导致堆栈创建（或失败，如果您正在调试堆栈）的事件的顺序。

创建堆栈时，该堆栈会在**堆栈**页面列出，其状态为 `CREATE_IN_PROGRESS`。堆栈创建成功后，其状态将变为 `CREATE_COMPLETE`。

有关更多信息，请参阅[了解 CloudFormation 堆栈创建事件](stack-resource-configuration-complete.md)和[监控堆栈更新的进度](using-cfn-updating-stacks-monitor-stack.md)。

## 查看堆栈事件（AWS CLI）
<a name="view-stack-events-cli"></a>

您也可以在创建堆栈时使用 [describe-stack-events](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html) 命令查看所报告的事件。

以下 **describe-stack-events** 命令会描述 `my-stack` 堆栈事件。

```
aws cloudformation describe-stack-events --stack-name my-stack
```

以下为响应示例。

```
{
    "StackEvents": [
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "7b755820-7edf-11f0-ab15-0673b09f3847",
            "StackName": "my-stack",
            "LogicalResourceId": "my-stack",
            "PhysicalResourceId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "ResourceType": "AWS::CloudFormation::Stack",
            "Timestamp": "2025-08-21T22:37:56.243000+00:00",
            "ResourceStatus": "CREATE_COMPLETE",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServer-CREATE_COMPLETE-2025-08-21T22:37:54.356Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServer",
            "PhysicalResourceId": "i-099df76cb31b866a9",
            "ResourceType": "AWS::EC2::Instance",
            "Timestamp": "2025-08-21T22:37:54.356000+00:00",
            "ResourceStatus": "CREATE_COMPLETE",
            "ResourceProperties": "{\"UserData\":\"IyEvYmluL2Jhc2gKeXVtIGluc3RhbGwgLXkgYXdzLWNmbi1ib290c3RyYXAKL29wdC9hd3MvYmluL2Nmbi1pbml0IC12IC0tc3RhY2sgc2Rmc2RhZnNhZHNka2wgLS1yZXNvdXJjZSBXZWJTZXJ2ZXIgLS1yZWdpb24gdXMtd2VzdC0yCg==\",\"ImageId\":\"ami-0bbc328167dee8f3c\",\"InstanceType\":\"t2.micro\",\"SecurityGroupIds\":[\"my-stack-WebServerSecurityGroup-n8A43bQT1ty2\"],\"Tags\":[{\"Value\":\"Bootstrap Tutorial Web Server\",\"Key\":\"Name\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServer-CREATE_IN_PROGRESS-2025-08-21T22:37:31.226Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServer",
            "PhysicalResourceId": "i-099df76cb31b866a9",
            "ResourceType": "AWS::EC2::Instance",
            "Timestamp": "2025-08-21T22:37:31.226000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceStatusReason": "Resource creation Initiated",
            "ResourceProperties": "{\"UserData\":\"IyEvYmluL2Jhc2gKeXVtIGluc3RhbGwgLXkgYXdzLWNmbi1ib290c3RyYXAKL29wdC9hd3MvYmluL2Nmbi1pbml0IC12IC0tc3RhY2sgc2Rmc2RhZnNhZHNka2wgLS1yZXNvdXJjZSBXZWJTZXJ2ZXIgLS1yZWdpb24gdXMtd2VzdC0yCg==\",\"ImageId\":\"ami-0bbc328167dee8f3c\",\"InstanceType\":\"t2.micro\",\"SecurityGroupIds\":[\"my-stack-WebServerSecurityGroup-n8A43bQT1ty2\"],\"Tags\":[{\"Value\":\"Bootstrap Tutorial Web Server\",\"Key\":\"Name\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServer-CREATE_IN_PROGRESS-2025-08-21T22:37:29.210Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServer",
            "PhysicalResourceId": "",
            "ResourceType": "AWS::EC2::Instance",
            "Timestamp": "2025-08-21T22:37:29.210000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceProperties": "{\"UserData\":\"IyEvYmluL2Jhc2gKeXVtIGluc3RhbGwgLXkgYXdzLWNmbi1ib290c3RyYXAKL29wdC9hd3MvYmluL2Nmbi1pbml0IC12IC0tc3RhY2sgc2Rmc2RhZnNhZHNka2wgLS1yZXNvdXJjZSBXZWJTZXJ2ZXIgLS1yZWdpb24gdXMtd2VzdC0yCg==\",\"ImageId\":\"ami-0bbc328167dee8f3c\",\"InstanceType\":\"t2.micro\",\"SecurityGroupIds\":[\"my-stack-WebServerSecurityGroup-n8A43bQT1ty2\"],\"Tags\":[{\"Value\":\"Bootstrap Tutorial Web Server\",\"Key\":\"Name\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServerSecurityGroup-CREATE_COMPLETE-2025-08-21T22:37:28.803Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServerSecurityGroup",
            "PhysicalResourceId": "my-stack-WebServerSecurityGroup-n8A43bQT1ty2",
            "ResourceType": "AWS::EC2::SecurityGroup",
            "Timestamp": "2025-08-21T22:37:28.803000+00:00",
            "ResourceStatus": "CREATE_COMPLETE",
            "ResourceProperties": "{\"GroupDescription\":\"Allow HTTP access from my IP address\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"Description\":\"HTTP\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServerSecurityGroup-CREATE_IN_PROGRESS-2025-08-21T22:37:22.626Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServerSecurityGroup",
            "PhysicalResourceId": "my-stack-WebServerSecurityGroup-n8A43bQT1ty2",
            "ResourceType": "AWS::EC2::SecurityGroup",
            "Timestamp": "2025-08-21T22:37:22.626000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceStatusReason": "Resource creation Initiated",
            "ResourceProperties": "{\"GroupDescription\":\"Allow HTTP access from my IP address\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"Description\":\"HTTP\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "WebServerSecurityGroup-CREATE_IN_PROGRESS-2025-08-21T22:37:20.186Z",
            "StackName": "my-stack",
            "LogicalResourceId": "WebServerSecurityGroup",
            "PhysicalResourceId": "",
            "ResourceType": "AWS::EC2::SecurityGroup",
            "Timestamp": "2025-08-21T22:37:20.186000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceProperties": "{\"GroupDescription\":\"Allow HTTP access from my IP address\",\"SecurityGroupIngress\":[{\"CidrIp\":\"0.0.0.0/0\",\"Description\":\"HTTP\",\"FromPort\":\"80\",\"ToPort\":\"80\",\"IpProtocol\":\"tcp\"}]}",
            "ClientRequestToken": "token"
        },
        {
            "StackId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "EventId": "64740fe0-7edf-11f0-8a36-06453a64f325",
            "StackName": "my-stack",
            "LogicalResourceId": "my-stack",
            "PhysicalResourceId": "arn:aws:cloudformation:aws-region:123456789012:stack/my-stack/64726230-7edf-11f0-8a36-06453a64f325",
            "ResourceType": "AWS::CloudFormation::Stack",
            "Timestamp": "2025-08-21T22:37:17.819000+00:00",
            "ResourceStatus": "CREATE_IN_PROGRESS",
            "ResourceStatusReason": "User Initiated",
            "ClientRequestToken": "token"
        }
    ]
}
```

最新发生的事件先报告。下表列出了 **describe-stack-events** 命令返回的字段：


| 字段 | 说明 | 
| --- | --- | 
| EventId |  事件标识符。  | 
| StackName |  事件对应的堆栈名称。  | 
| StackId |  事件对应的堆栈标识符。  | 
| LogicalResourceId |  资源的逻辑标识符。  | 
| PhysicalResourceId |  资源的物理标识符。  | 
| ResourceProperties |  资源的属性。  | 
| ResourceType |  资源类型。  | 
| Timestamp |  事件发生的时间。  | 
| ResourceStatus |  资源的状态，可以是以下状态代码之一：`CREATE_COMPLETE` \$1 `CREATE_FAILED` \$1 `CREATE_IN_PROGRESS` \$1 `DELETE_COMPLETE` \$1 `DELETE_FAILED` \$1 `DELETE_IN_PROGRESS` \$1 `DELETE_SKIPPED` \$1 `IMPORT_COMPLETE` \$1 `IMPORT_IN_PROGRESS` \$1 `IMPORT_ROLLBACK_COMPLETE` \$1 `IMPORT_ROLLBACK_FAILED` \$1 `IMPORT_ROLLBACK_IN_PROGRESS` \$1 `REVIEW_IN_PROGRESS` \$1 `ROLLBACK_COMPLETE` \$1 `ROLLBACK_FAILED` \$1 `ROLLBACK_IN_PROGRESS` \$1 `UPDATE_COMPLETE` \$1 `UPDATE_COMPLETE_CLEANUP_IN_PROGRESS` \$1 `UPDATE_FAILED` \$1 `UPDATE_IN_PROGRESS` \$1 `UPDATE_ROLLBACK_COMPLETE` \$1 `UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS` \$1 `UPDATE_ROLLBACK_FAILED` \$1 `UPDATE_ROLLBACK_IN_PROGRESS` `DELETE_SKIPPED` 状态适用于带保留的删除策略属性的资源。  | 
| DetailedStatus |  堆栈的具体状态。如果 `CONFIGURATION_COMPLETE` 存在，则堆栈资源配置阶段已完成，资源的稳定化正在进行中。  | 
| ResourceStatusReason |  有关状态的更多信息。  | 

## 堆栈状态代码
<a name="cfn-console-view-stack-data-resources-status-codes"></a>

下表说明了堆栈状态代码：


| 堆栈状态和可选的详细状态 | 说明 | 
| --- | --- | 
|  `CREATE_COMPLETE`  |  成功创建一个或多个堆栈。  | 
|  `CREATE_IN_PROGRESS`  |  正在创建一个或多个堆栈。  | 
|  `CREATE_FAILED`  |  一个或多个堆栈创建失败。查看堆栈事件可了解所有相关错误消息。创建失败的可能原因包括：没有足够的权限使用堆栈中的所有资源，参数值被 AWS 服务拒绝，或者在资源创建期间超时。  | 
|  `DELETE_COMPLETE`  |  成功删除一个或多个堆栈。已删除的堆栈在 90 天内保留可供查看。  | 
|  `DELETE_FAILED`  |  一个或多个堆栈删除失败。由于删除失败，您可能有一些资源仍在运行，但是您无法使用或更新堆栈。再次删除堆栈或查看堆栈事件可了解所有相关错误消息。  | 
|  `DELETE_IN_PROGRESS`  |  正在删除一个或多个堆栈。  | 
| `REVIEW_IN_PROGRESS` | 正在创建一个或多个具有预期 StackId 但没有任何模板或资源的堆栈。 具有此状态代码的堆栈将针对[可能的最大堆栈数量](cloudformation-limits.md)进行计数。  | 
|  `ROLLBACK_COMPLETE`  |  在堆栈创建失败或明确取消堆栈创建后成功删除一个或多个堆栈。堆栈返回到之前的工作状态。在创建堆栈操作期间创建的所有资源都被删除。 此状态仅在堆栈创建失败后存在。它表示已适当清除未完全创建的堆栈中的所有操作。在此状态下，只能执行删除操作。  | 
|  `ROLLBACK_FAILED`  |  在堆栈创建失败或明确取消堆栈创建后删除一个或多个堆栈失败。删除堆栈或查看堆栈事件了解所有相关错误消息。  | 
|  `ROLLBACK_IN_PROGRESS`  |  在堆栈创建失败或明确取消堆栈创建后正在删除一个或多个堆栈。  | 
|  `UPDATE_COMPLETE`  | 成功更新一个或多个堆栈。 | 
|  `UPDATE_COMPLETE_CLEANUP_IN_PROGRESS`  |  成功更新一个或多个堆栈后正在删除堆栈的旧资源。对于需要替换资源的堆栈更新，CloudFormation 首先创建新资源，然后删除旧资源，以帮助减少堆栈中断。在这种状态下，堆栈已更新并且可用，但 CloudFormation 仍然会删除旧资源。  | 
|  `UPDATE_FAILED`  | 未成功更新一个或多个堆栈。查看堆栈事件可了解所有相关错误消息。 | 
|  `UPDATE_IN_PROGRESS`  |  正在更新一个或多个堆栈。  | 
|  `UPDATE_ROLLBACK_COMPLETE`  |  在堆栈更新失败后将一个或多个堆栈成功返回之前的工作状态。  | 
|  `UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS`  |  堆栈更新失败后正在删除一个或多个堆栈的新资源。在这种状态下，堆栈已回滚到之前的工作状态并且可用，但 CloudFormation 仍会删除它在堆栈更新期间创建的所有新资源。  | 
|  `UPDATE_ROLLBACK_FAILED`  |  在堆栈更新失败后将一个或多个堆栈返回之前的工作状态失败。在这种状态下，您可以删除堆栈或[继续回滚](using-cfn-updating-stacks-continueupdaterollback.md)。您可能需要修复错误，然后堆栈才能返回工作状态。您也可以联系 支持 将堆栈恢复到可用状态。  | 
|  `UPDATE_ROLLBACK_IN_PROGRESS`  |  堆栈更新失败后正在将一个或多个堆栈返回之前的工作状态。  | 
|  `IMPORT_IN_PROGRESS`  |  当前正在执行导入操作。  | 
|  `IMPORT_COMPLETE`  |  对于堆栈中支持 `resource import` 的所有资源，已成功完成导入操作。  | 
|  `IMPORT_ROLLBACK_IN_PROGRESS`  |  导入将回滚到以前的模板配置。  | 
|  `IMPORT_ROLLBACK_FAILED`  |  对于堆栈中的至少一个资源，导入回滚操作失败。将提供 CloudFormation 成功导入的资源的结果。  | 
|  `IMPORT_ROLLBACK_COMPLETE`  |  导入成功回滚到以前的模板配置。  | 