监控堆栈进度
本节介绍如何监控当前正在进行的堆栈部署。CloudFormation 提供了按时间顺序排列的详细部署事件列表,显示部署进度和部署过程中遇到的任何问题。
查看堆栈事件(控制台)
查看堆栈事件
-
打开 AWS CloudFormation 控制台,地址:https://console.aws.amazon.com/cloudformation
。 -
在屏幕顶部的导航栏中,选择您在其中创建了堆栈的 AWS 区域。
-
在 CloudFormation 控制台的 Stacks(堆栈)页面中,选择堆栈名称。CloudFormation 将显示选定堆栈的堆栈详细信息。
-
选择事件选项卡以查看 CloudFormation 为堆栈生成的堆栈事件。
CloudFormation 每分钟自动刷新堆栈事件。此外,CloudFormation 会在新堆栈事件发生时显示新事件可用徽章。选择“刷新”图标可将这些事件加载到列表中。通过查看堆栈创建事件,您可以了解导致堆栈创建(或失败,如果您正在调试堆栈)的事件的顺序。
创建堆栈时,该堆栈会在堆栈页面列出,其状态为 CREATE_IN_PROGRESS
。堆栈创建成功后,其状态将变为 CREATE_COMPLETE
。
有关更多信息,请参阅了解 CloudFormation 堆栈创建事件 和监控堆栈更新的进度。
查看堆栈事件(AWS CLI)
您也可以在创建堆栈时使用 describe-stack-events 命令查看所报告的事件。
以下 describe-stack-events 命令会描述
堆栈事件。myteststack
aws cloudformation describe-stack-events --stack-name
myteststack
以下为响应示例。
{
"StackEvents": [
{
"StackId": "arn:aws:cloudformation:aws-region
:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"EventId": "af67ef60-0b8f-11e3-8b8a-500150b352e0",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": "2013-08-23T01:02:30.070Z",
"StackName": "myteststack",
"PhysicalResourceId": "arn:aws:cloudformation:aws-region
:123456789012:stack/myteststack/a69442d0-0b8f-11e3-8b8a-500150b352e0",
"LogicalResourceId": "myteststack"
},
{
"StackId": "arn:aws:cloudformation:aws-region
:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"EventId": "S3Bucket-CREATE_COMPLETE-1377219748025",
"ResourceStatus": "CREATE_COMPLETE",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": "2013-08-23T01:02:28.025Z",
"StackName": "myteststack",
"ResourceProperties": "{\"AccessControl\":\"PublicRead\"}",
"PhysicalResourceId": "myteststack-s3bucket-jssofi1zie2w",
"LogicalResourceId": "S3Bucket"
},
{
"StackId": "arn:aws:cloudformation:aws-region
:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"EventId": "S3Bucket-CREATE_IN_PROGRESS-1377219746688",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": "2013-08-23T01:02:26.688Z",
"ResourceStatusReason": "Resource creation Initiated",
"StackName": "myteststack",
"ResourceProperties": "{\"AccessControl\":\"PublicRead\"}",
"PhysicalResourceId": "myteststack-s3bucket-jssofi1zie2w",
"LogicalResourceId": "S3Bucket"
},
{
"StackId": "arn:aws:cloudformation:aws-region
:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"EventId": "S3Bucket-CREATE_IN_PROGRESS-1377219743862",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::S3::Bucket",
"Timestamp": "2013-08-23T01:02:23.862Z",
"StackName": "myteststack",
"ResourceProperties": "{\"AccessControl\":\"PublicRead\"}",
"PhysicalResourceId": null,
"LogicalResourceId": "S3Bucket"
},
{
"StackId": "arn:aws:cloudformation:aws-region
:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896",
"EventId": "a69469e0-0b8f-11e3-8b8a-500150b352e0",
"ResourceStatus": "CREATE_IN_PROGRESS",
"ResourceType": "AWS::CloudFormation::Stack",
"Timestamp": "2013-08-23T01:02:15.422Z",
"ResourceStatusReason": "User Initiated",
"StackName": "myteststack",
"PhysicalResourceId": "arn:aws:cloudformation:aws-region
:123456789012:stack/myteststack/a69442d0-0b8f-11e3-8b8a-500150b352e0",
"LogicalResourceId": "myteststack"
}
]
}
最新发生的事件先报告。下表列出了 describe-stack-events 命令返回的字段:
字段 | 描述 |
---|---|
EventId |
事件标识符。 |
StackName |
事件对应的堆栈名称。 |
StackId |
事件对应的堆栈标识符。 |
LogicalResourceId |
资源的逻辑标识符。 |
PhysicalResourceId |
资源的物理标识符。 |
ResourceProperties |
资源的属性。 |
ResourceType |
资源类型。 |
Timestamp |
事件发生的时间。 |
ResourceStatus |
资源的状态,可以是以下状态代码之一:
|
DetailedStatus |
堆栈的具体状态。如果 |
ResourceStatusReason |
有关状态的更多信息。 |
堆栈状态代码
下表说明了堆栈状态代码:
堆栈状态和可选的详细状态 | 描述 |
---|---|
|
成功创建一个或多个堆栈。 |
|
正在创建一个或多个堆栈。 |
|
一个或多个堆栈创建失败。查看堆栈事件可了解所有相关错误消息。创建失败的可能原因包括:没有足够的权限使用堆栈中的所有资源,参数值被 AWS 服务拒绝,或者在资源创建期间超时。 |
|
成功删除一个或多个堆栈。已删除的堆栈在 90 天内保留可供查看。 |
|
一个或多个堆栈删除失败。由于删除失败,您可能有一些资源仍在运行,但是您无法使用或更新堆栈。再次删除堆栈或查看堆栈事件可了解所有相关错误消息。 |
|
正在删除一个或多个堆栈。 |
|
正在创建一个或多个具有预期 StackId 但没有任何模板或资源的堆栈。重要具有此状态代码的堆栈将针对可能的最大堆栈数量进行计数。 |
|
在堆栈创建失败或明确取消堆栈创建后成功删除一个或多个堆栈。堆栈返回到之前的工作状态。在创建堆栈操作期间创建的所有资源都被删除。 此状态仅在堆栈创建失败后存在。它表示已适当清除未完全创建的堆栈中的所有操作。在此状态下,只能执行删除操作。 |
|
在堆栈创建失败或明确取消堆栈创建后删除一个或多个堆栈失败。删除堆栈或查看堆栈事件了解所有相关错误消息。 |
|
在堆栈创建失败或明确取消堆栈创建后正在删除一个或多个堆栈。 |
|
成功更新一个或多个堆栈。 |
|
成功更新一个或多个堆栈后正在删除堆栈的旧资源。对于需要替换资源的堆栈更新,CloudFormation 首先创建新资源,然后删除旧资源,以帮助减少堆栈中断。在这种状态下,堆栈已更新并且可用,但 CloudFormation 仍然会删除旧资源。 |
|
未成功更新一个或多个堆栈。查看堆栈事件可了解所有相关错误消息。 |
|
正在更新一个或多个堆栈。 |
|
在堆栈更新失败后将一个或多个堆栈成功返回之前的工作状态。 |
|
堆栈更新失败后正在删除一个或多个堆栈的新资源。在这种状态下,堆栈已回滚到之前的工作状态并且可用,但 CloudFormation 仍会删除它在堆栈更新期间创建的所有新资源。 |
|
在堆栈更新失败后将一个或多个堆栈返回之前的工作状态失败。在这种状态下,您可以删除堆栈或继续回滚。您可能需要修复错误,然后堆栈才能返回工作状态。您也可以联系 AWS Support 将堆栈恢复到可用状态。 |
|
堆栈更新失败后正在将一个或多个堆栈返回之前的工作状态。 |
|
当前正在执行导入操作。 |
|
对于堆栈中支持 |
|
导入将回滚到以前的模板配置。 |
|
对于堆栈中的至少一个资源,导入回滚操作失败。将提供 CloudFormation 成功导入的资源的结果。 |
|
导入成功回滚到以前的模板配置。 |