【小ネタ】 AWS CLI コマンドを利用して、SSM のマネージドノードとして登録されていない EC2 インスタンスの調査方法

【小ネタ】 AWS CLI コマンドを利用して、SSM のマネージドノードとして登録されていない EC2 インスタンスの調査方法

2025.12.09

はじめに

テクニカルサポートの 片方 です。
AWS Systems Manager(SSM)を利用すると、EC2 インスタンスをマネージドノードとして一元管理できて便利ですよね。
一方で、多くの EC2 インスタンスを起動している場合、どの EC2 インスタンスがマネージドノード登録されているか把握しづらくなるケースもあります。
基本的にはタグ付けを行えば管理可能ですが、今回は AWS CLI コマンドを利用して、マネージドノードとして登録されていない EC2 インスタンスの確認方法を小ネタとして紹介します。

補足

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/diagnose-and-remediate.html

AWS Systems Manager(SSM)のマネジメントコンソール画面より、Diagnose and remediate (診断と是正) から確認可能なのではないかと、疑問に思われるかと存じます。

001

こちらのマネジメントコンソール画面では、一度もマネージドノードとして登録されていない EC2 インスタンスに対しては出力されません。

確認してみた

今回は、AWS CLI コマンドを利用して、EC2 インスタンスと SSM マネージドノードに登録されているノードの差分を取る方法を試しました。
例) [EC2 インスタンスの一覧] - [SSM ManagedInstance 一覧]

bash -c 'comm -23 <(aws ec2 describe-instances --region ap-northeast-1 --filters "Name=instance-state-name,Values=running" --query "Reservations[].Instances[].InstanceId" --output text | tr "\t" "\n" | sort) <(aws ssm describe-instance-information --region ap-northeast-1 --query "InstanceInformationList[].InstanceId" --output text | tr "\t" "\n" | sort)'

もし特定の OS のみを対象にしたい場合は、platform フィルタを付与します。

bash -c 'comm -23 <(aws ec2 describe-instances --region ap-northeast-1 --filters "Name=platform,Values=windows" "Name=instance-state-name,Values=running" --query "Reservations[].Instances[].InstanceId" --output text | tr "\t" "\n" | sort) <(aws ssm describe-instance-information --region ap-northeast-1 --query "InstanceInformationList[].InstanceId" --output text | tr "\t" "\n" | sort)'

※ 適宜修正してください。

コマンド実行結果より出力された EC2 インスタンス ID が、マネージドノードとして登録されていないノードであることが確認可能です。

$ bash -c 'comm -23 <(aws ec2 describe-instances --region ap-northeast-1 --filters "Name=platform,Values=windows" "Name=instance-state-name,Values=running" --query "Reservations[].Instances[].InstanceId" --output text | tr "\t" "\n" | sort) <(aws ssm describe-instance-information --region ap-northeast-1 --query "InstanceInformationList[].InstanceId" --output text | tr "\t" "\n" | sort)'
i-004xxxxxxxxxxxxxx
i-00cxxxxxxxxxxxxxx
i-00dxxxxxxxxxxxxxx
i-010xxxxxxxxxxxxxx
i-010xxxxxxxxxxxxxx
i-011xxxxxxxxxxxxxx
i-017xxxxxxxxxxxxxx
i-018xxxxxxxxxxxxxx
i-01bxxxxxxxxxxxxxx
i-02xxxxxxxxxxxxxxx

まとめ

本ブログが誰かの参考になれば幸いです。

参考資料

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。

この記事をシェアする

FacebookHatena blogX

関連記事