share facebook facebook twitter menu hatena pocket slack

2017.08.07 MON

SSM でコマンド実行できるかどうか確認するコマンド [cloudpack OSAKA blog]

那須隆

WRITTEN BY 那須隆

ナスです。

前回、SSM でコマンド実行するための IAM ロールについて書きました。今回は、GUI で確認してたことを aws cli でやってみただけの記事です。これ知ってるだけで確認時間短縮になりますので、忘れずに書き残してこうと思います。

ドキュメント

ドキュメントにも記載があります。前回の記事でも紹介したトラブルシューティングのドキュメントです。


docs.aws.amazon.com

試したコマンド

オンラインになっている EC2 インスタンスの情報を表示するコマンドです。もうこれだけで十分な気がしています。

$ aws ssm describe-instance-information --instance-information-filter-list key=PingStatus,valueSet=Online
{
    "InstanceInformationList": [
        {
            "IsLatestVersion": true,
            "ComputerName": "ip-172-31-31-244.ap-northeast-1.compute.internal",
            "PingStatus": "Online",
            "InstanceId": "i-********************",
            "IPAddress": "172.31.31.244",
            "ResourceType": "EC2Instance",
            "AgentVersion": "2.0.847.0",
            "PlatformVersion": "2016.09",
            "PlatformName": "Amazon Linux AMI",
            "PlatformType": "Linux",
            "LastPingDateTime": 1499692626.203
        },
        {
            "IsLatestVersion": false,
            "ComputerName": "WIN-43V67ICDPJJ.WORKGROUP",
            "PingStatus": "Online",
            "InstanceId": "i-********************",
            "IPAddress": "172.31.17.78",
            "ResourceType": "EC2Instance",
            "AgentVersion": "2.0.805.0",
            "PlatformVersion": "6.3.9600",
            "PlatformName": "Microsoft Windows Server 2012 R2 Standard",
            "PlatformType": "Windows",
            "LastPingDateTime": 1499692626.651
        }
    ]
}

AWS 管理コンソールでも確認すると、確かに 2 台オンラインになっていますね。

ちなみに、全台オフラインだとこんな結果になります。

$ aws ssm describe-instance-information --instance-information-filter-list key=PingStatus,valueSet=Online
{
    "InstanceInformationList": []
}

SSM でコマンド実行前にこういったコマンドで状況を確認することで、後続のスクリプトでエラーになる可能性を減らせる場面もあるかと思います(実際ここまで確認する場面があるかどうかは不明…)ので、積極的に aws cli を使っていきましょう。

元記事はこちら

SSM でコマンド実行できるかどうか確認するコマンド [cloudpack OSAKA blog]

那須隆

那須隆

ネットワークエンジニア、SAPコンサルタントを経て、cloudpackにJOIN。Webサイトや基幹システムのインフラ構築および運用を主に行い、シェルやPythonなどでスクリプトを組んで、インフラ運用の効率化を目指している。