2

コマンドラインを使用して、インスタンスが 2 つのステータス チェック (システム/インスタンスの到達可能性チェック) に合格したことを確認したいと考えています。

これを実行すると

ec2-describe-instance-status
ec2-describe-instance-status XX($InstanceID)

次のような実行中のインスタンスが表示されます

INSTANCE    $InstanceID $REGION running 16

しかし、インスタンスがステータスチェックに合格したことを確認するためにフィルターを追加しようとしたとき

ec2-describe-instance-status XX($InstanceID) --filter instance-status.reachability=passed
ec2-describe-instance-status XX($InstanceID) --filter "instance-status.reachability=passed"
ec2-describe-instance-status --filter instance-status.reachability=passed

何も返されませんでした。

インスタンスが正常に動作していることを再確認し、実際に 2 つのステータス チェックに合格しましたが、フィルタを適用した後に何も返されないのはなぜですか?

更新: リコに応えて、-vオプションを試してみました

ec2-describe-instance-status -v

次のフィールドを含む、instanceStatusSet 内の 1 つのアイテムを返します。

    <item>
      <instanceId>i-XXX</instanceId>
      <availabilityZone>us-east-1d</availabilityZone>
      <instanceState>
        <code>16</code>
        <name>running</name>
      </instanceState>
    </item>

その間

ec2-describe-instance-status --filter instance-status.reachability=passed -v
ec2-describe-instance-status --filter "instance-status.reachability=passed" -v

どちらも空の instanceStatusSet を返します...

4

1 に答える 1

2

代わりに、AWS Command Line Interface統合ツールを使用してください。

aws ec2 describe-instance-status --instance-ids i-01234567 --filters Name=instance-status.reachability,Values=passed
{
"InstanceStatuses": [
    {
        "InstanceId": "i-01234567",
        "InstanceState": {
            "Code": 16,
            "Name": "running"
        },
        "AvailabilityZone": "us-west-2c",
        "SystemStatus": {
            "Status": "ok",
            "Details": [
                {
                    "Status": "passed",
                    "Name": "reachability"
                }
            ]
        },
        "InstanceStatus": {
            "Status": "ok",
            "Details": [
                {
                    "Status": "passed",
                    "Name": "reachability"
                }
            ]
        }
    }
]
}
于 2014-02-13T19:20:01.387 に答える