はじめに
AWS Systems Manager Session Manager(セッションマネージャー) は、SSHなしでEC2やオンプレミスのサーバーにアクセスできる便利なサービスです。
通常、EC2 に入るには SSH(22番ポート)を開けて、キーペアでログイン しますよね?
でもセッションマネージャーを使えば、ポートを開ける必要なし!キーペアも不要になるという優れもののサービス!
AWS マネジメントコンソールや CLI から直接サーバーに入れるんです✨
セキュリティ的にも超優秀で、
- インバウンドルール不要(ポート開放しなくてOK)
- IAMロールにあるIAMポリシーでアクセス管理できる
- 操作履歴をCloudWatch Logs や S3 に保存できる
っていう、まさに「運用の味方!」なツールです。
AWS公式ドキュメントはこちら👇
要するに、「SSH いらずで安全&手軽に EC2 にアクセスできるツール」って覚えておけばOK!💡
今回設定するのにえらい時間がかかりました
EC2を起動させてからだったので、およそ39分ぐらい。
sh-5.2$ w
02:08:19 up 39 min, 0 users, load average: 1.58, 1.42, 1.21
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
sh-5.2$
今回の構成
至ってシンプルな構成として構築していました。
Private subnetにあるEC2からPublic Subnetに配置してあるNAT Gatewayを用いてIGWを経由し、SSMに到達という通信経路です。
状況
最初からずっとコンソール画面上には以下のメッセージが表示されていました。
SSM エージェントはオンラインではありません
SSM エージェントは Systems Manager エンドポイントに接続して自身をサービスに登録できませんでした。
最初はなにか設定を間違ったのかな??と思っていましたが、
以下ブログ参照し、確認点を一つずつ潰していきましたが設定自体誤っておりませんでした。
いずれもIAMロールに誤りもないし、セキュリティグループも設定は問題ない状態だったので、何が原因かなとずっとモヤモヤしていました。。
他にはインターネットまでルートが届いていないのかな?とも考えまして、
Network Managerを使用して到達確認もしましたが問題なし。
うーーんと考えていて、再度コンソール確認したら接続できるやん!!となりびっくり。
以上、謎に40分近く時間をSSMに取られた話でした。。