- EC2にSSMエージェントがインストールされているかどうか
- 必要なVPCエンドポイントがあるか
- EC2とVPCエンドポイントは接続できるセキュリティグループの設定になっているか
- EC2にSSMを使えるようにするIAMロール(ポリシー)を割り当ててるか
- CLIの場合Session Managerプラグインをインストールしているか。またパスが通っているか(特にWindowsの場合注意)
1.EC2にSSMエージェントがインストールされているかどうか
ほどんどの場合、またはAmazon Linuxを選択していれば手動でインストールする必要はない。
参照:https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-ssm-agent.html
2. 必要なVPCエンドポイントがあるか
ssm.region.amazonaws.comssmmessages.region.amazonaws.comec2messages.region.amazonaws.com
以上のVPCエンドポイントが必要。また、プライベートDNSが有効になっているか要確認。
参照:https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/setup-create-vpc.html
3.EC2とVPCエンドポイントは接続できるセキュリティグループの設定になっているか
- VPCエンドポイントでインバウンドルールとしてEC2からのHTTPSを許可
- EC2でアウトバウンドルールとしてHTTPSを許可
4.EC2にSSMを使えるようにするIAMロール(ポリシー)を割り当ててるか
EC2に対してAmazonSSMManagedInstanceCoreポリシーが割り当たっている必要がある
5. Session Managerプラグインをインストールしているか
セッションマネージャを使う場合AWS CLIに加えてプラグインが必要になる。
パスが通っているか確認。多段SSHではパスが通っていても認識しなかったのでC:\Windows\System32にプラグインの中身(binの中身)を配置して認識するようになりました。