AQ Tech Blog

セッションマネージャーでEC2に接続できない理由が認知していないVPCエンドポイントだった話

作成者: sota.hashimoto|2024年07月22日

はじめに

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つあります。

  1. VPCエンドポイントに関連付けられたセキュリティグループでHTTPSのインバウンド通信を許可する
  2. VPCエンドポイントを削除し、インターネットゲートウェイ経由でインターネット接続を行う

まとめ

個人アカウントでの検証時にはないと思いますが、会社の検証用アカウント、業務用アカウントなどでは、自身が認知していないVPCエンドポイントが作成されていることがあるかもしれません。

その際にこの記事が参考になればと思います。

参考

Session Manager を使用して Amazon EC2 インスタンスに接続できないのはなぜですか?

Session Manager のトラブルシューティング

ステップ 6: (オプション) AWS PrivateLink を使用して Session Manager の VPC エンドポイントを設定する

【初心者向け】Session Manager でインスタンスが表示されない時のトラブルシュート