如何获取实例的 AWS 状态检查

use*_*528 3 amazon-ec2 amazon-web-services aws-cli

我正在尝试通过 AMAZON CLI 工具检索控制台中 EC2 实例显示的“状态检查”信息。例如“待处理”或“2/2 检查已通过”。我使用了以下命令:

  ec2-describe-instances [instance_id ...]
Run Code Online (Sandbox Code Playgroud)

但是,它仅返回实例状态信息,例如“正在运行”、“正在停止”等。我想要 AWS 控制台的“状态检查”列中显示的更详细信息。有谁知道为实例检索此信息的命令?

Ant*_*ace 5

您正在寻找描述实例状态。除其他外,这将返回 EC2 Web 控制台的“状态检查”选项卡上显示的系统状态和实例状态。

针对运行正常的实例发出的示例请求:

aws ec2 describe-instance-status --instance-ids i-abcd1234
Run Code Online (Sandbox Code Playgroud)

为运行正常的实例生成的示例输出:

{
    "InstanceStatuses": [
        {
            "InstanceId": "i-abcd1234",
            "InstanceState": {
                "Code": 16,
                "Name": "running"
            },
            "AvailabilityZone": "us-east-1a",
            "SystemStatus": {
                "Status": "ok",
                "Details": [
                    {
                        "Status": "passed",
                        "Name": "reachability"
                    }
                ]
            },
            "InstanceStatus": {
                "Status": "ok",
                "Details": [
                    {
                        "Status": "passed",
                        "Name": "reachability"
                    }
                ]
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

如果您想查看历史状态检查,可以通过CloudWatch(链接文档)查看以下 EC2 指标来执行此操作:

  • StatusCheckFailed_Instance
  • StatusCheckFailed_System