2024年07月22日
セッションマネージャーでEC2に接続できない理由が認知していないVPCエンドポイントだった話
![セッションマネージャーでEC2に接続できない理由が認知していないVPCエンドポイントだった話](https://techblog.asia-quest.jp/hubfs/TechBlog/202407_ec2_thum.webp)
目次
はじめに
AWSマネジメントコンソールからセッションマネージャーを利用してEC2へ接続しようとした際に「SSM エージェントはオンラインではありません」と表示され接続ができなかったので、その原因と解決策を記載します。
環境情報
- Amazon Linux 2023
確認した箇所
エラー解決のため以下の項目を確認しましたが、問題はありませんでした。
- SSM Agentがインストールされているか?
- EC2のIAMロールにセッションマネージャーのポリシー(AmazonSSMManagedInstanceCore)が紐づいているか?
- EC2からインターネットゲートウェイへのルートがあり、インターネット接続できているか?
- セキュリティグループでHTTPSのアウトバウンドが設定されているか?
原因
自身が認知していない以下のセッションマネージャー接続用VPCエンドポイントが作成されており、VPCエンドポイントに関連付けられたセキュリティグループでHTTPSのインバウンド通信を許可していなかったことが原因でした。
- com.amazonaws.ap-northeast-1.ssm
- com.amazonaws.ap-northeast-1.ssmmessages
- com.amazonaws.ap-northeast-1.ec2messages
AWSの仕様で、インターネットへのアクセスの経路とVPCエンドポイントの経路があった場合、VPCエンドポイントが優先されるようです。
解決策
解決策は2つあります。
- VPCエンドポイントに関連付けられたセキュリティグループでHTTPSのインバウンド通信を許可する
- VPCエンドポイントを削除し、インターネットゲートウェイ経由でインターネット接続を行う
まとめ
個人アカウントでの検証時にはないと思いますが、会社の検証用アカウント、業務用アカウントなどでは、自身が認知していないVPCエンドポイントが作成されていることがあるかもしれません。
その際にこの記事が参考になればと思います。
参考
Session Manager を使用して Amazon EC2 インスタンスに接続できないのはなぜですか?
ステップ 6: (オプション) AWS PrivateLink を使用して Session Manager の VPC エンドポイントを設定する
アジアクエスト株式会社では一緒に働いていただける方を募集しています。
興味のある方は以下のURLを御覧ください。