ナスです。
前回、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 を使っていきましょう。