SSM Agent 3.3.40.0 以降でも ec2messages エンドポイントへの通信が発生するタイミングを確認してみた

SSM Agent 3.3.40.0 以降でも ec2messages エンドポイントへの通信が発生するタイミングを確認してみた

SSM Agent バージョン 3.3.40.0 以降で、ec2messages と ssmmessages のエンドポイント使い分けがどのように動作しているのか、ログから詳しく検証した結果をお伝えします。
2026.08.02

はじめに

テクニカルサポートの 片方 です。
SSM Agent バージョン 3.3.40.0 以降では、利用可能な場合に ec2messages エンドポイントよりも ssmmessages エンドポイントが優先して使用されます。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-setting-up-messageAPIs.html

SSM Agent のバージョン 3.3.40.0 以降、Systems Manager は、使用可能な場合には ec2messages:* エンドポイント (Amazon Message Delivery Service) の代わりに ssmmessages:* エンドポイント (Amazon Message Gateway Service) を使用するようになりました。

一方、VPC フローログを確認したところ、SSM Agent バージョン 3.3.40.0 以降を使用している環境でも、ec2messages VPC エンドポイント宛ての通信が記録されていました。
そこで本ブログでは、SSM Agent のログを確認し、次の点を検証します。

  • MDS の処理が開始・停止するタイミング
  • SSM Agent が使用する接続チャネル
  • Session Manager セッションで使用されるエンドポイント

検証環境

検証環境は以下のとおりです。

AWS リージョン:アジアパシフィック(東京)
OS:Amazon Linux 2023
ネットワーク:プライベートサブネット
SSM Agent:3.3.40.0 以降 (検証では 3.3.4624.0)
EC2 インスタンスへの接続方法:Session Manager
以下のインターフェイス VPC エンドポイントを作成しています。

  • com.amazonaws.ap-northeast-1.ssm
  • com.amazonaws.ap-northeast-1.ssmmessages
  • com.amazonaws.ap-northeast-1.ec2messages

01

02

先に結論から

今回使用した SSM Agent バージョン 3.3.4624.0 では、SSM Agent の起動時に MDS のポーリングが開始されていました。
その後、MGS Control Channel の確立に成功すると、SSM Agent の接続チャネルが ssmmessages に設定され、約 1 分後に MDS のポーリングが停止していました。
また、Session Manager の開始要求は、SSM Agent の MGS Control Channel を通じて受信されていました。個別の Session Manager セッションで使用する Data Channel についても、ssmmessages エンドポイントへの WebSocket 接続が確立されていました。
今回の検証で確認できた流れは、次のとおりです。

  1. SSM Agent の起動時に MGS と MDS の両方を初期化
  2. MDS のポーリングを開始
  3. ssmmessages エンドポイントに MGS Control Channel を確立
  4. SSM Agent の接続チャネルを ssmmessages に設定
  5. 約 1 分後に MDS のポーリングを停止
  6. Session Manager の開始時に、ssmmessages エンドポイントへ Data Channel を確立

確認してみた

Session Manager で EC2 インスタンスに接続し、SSM Agent のログを確認します。Linux の場合、SSM Agent のログは /var/log/amazon/ssm/ に出力されます。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/ssm-agent-logs.html?utm_source=openai

MDS、MGS および WebSocket 接続に関するログを抽出します。

sudo grep -Ei \
'MGSInteractor|MDSInteractor|ssmmessages|ec2messages|websocket|control channel|channel status' \
/var/log/amazon/ssm/amazon-ssm-agent.log | tail -n 200

ログ内の MDS と MGS は、それぞれ以下に対応します。

ログ上の名称 対応するサービス
MDS ec2messages
MGS ssmmessages

SSM Agent 起動時の動作

SSM Agent の起動直後、MDS と MGS の両方が初期化され、MDS のポーリングが開始されていました。
ログから確認できた流れは、次のとおりです。

  1. MGS と MDS の両方を初期化
  2. MDS のポーリングを開始
  3. ssmmessages エンドポイントに MGS Control Channel を確立
  4. SSM Agent の接続チャネルを ssmmessages に設定
  5. MDS の停止処理を開始
  6. 約 1 分後に MDS のポーリングを停止
SSM Agent 起動時のログ
2026-08-02 06:32:30.6116 INFO [ssm-agent-worker] [MessageService] Appending MGSInteractor to MessageService interactors
2026-08-02 06:32:30.6117 INFO [ssm-agent-worker] [MessageService] Appending MDSInteractor to MessageService interactors
2026-08-02 06:32:30.6144 INFO [ssm-agent-worker] [MessageService] [MessageHandler] initializing message handler
2026-08-02 06:32:30.6145 INFO [ssm-agent-worker] [MessageService] [MessageHandler] [Idempotency] Successfully created Idempotent directory
2026-08-02 06:32:30.6146 INFO [ssm-agent-worker] [MessageService] [MDSInteractor] Starting message polling
2026-08-02 06:32:30.6146 INFO [ssm-agent-worker] [MessageService] [MDSInteractor] Starting send failed replies to MDS
2026-08-02 06:32:30.6146 INFO [ssm-agent-worker] [MessageService] supported workers for the interactor MDSInteractor: [ssm-document-worker]
2026-08-02 06:32:30.6149 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] SSM Agent is trying to setup control channel for MGSInteractor
2026-08-02 06:32:30.6150 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] agent telemetry cloudwatch metrics disabled
2026-08-02 06:32:30.6150 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] Setting up websocket for controlchannel for instance: i-0eb704f3d61855b87, requestId: 2dd2a03f-41cb-4a01-9c34-faf1349870e3
2026-08-02 06:32:30.6153 INFO [ssm-agent-worker] [MessageService] [MDSInteractor] listen reply thread started
2026-08-02 06:32:30.6155 INFO [ssm-agent-worker] [MessageService] [MDSInteractor] MDS Polling job started.
2026-08-02 06:32:30.6489 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] Opening websocket connection to: wss://ssmmessages.ap-northeast-1.amazonaws.com/v1/control-channel/i-0eb704f3d61855b87?role=subscribe&stream=input
2026-08-02 06:32:30.6831 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] Successfully opened websocket connection to: 10.0.132.160:443
2026-08-02 06:32:30.6832 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] Starting websocket pinger
2026-08-02 06:32:30.6832 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] Setting up agent telemetry scheduler
2026-08-02 06:32:30.6833 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] Set up control channel successfully
2026-08-02 06:32:30.6833 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] SSM Connection channel status is set to ssmmessages
2026-08-02 06:32:30.6833 INFO [ssm-agent-worker] [MessageService] supported workers for the interactor MGSInteractor: [ssm-document-worker ssm-session-worker]
2026-08-02 06:32:30.6833 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] Starting websocket listener
2026-08-02 06:32:30.6833 INFO [ssm-agent-worker] [MessageService] [MDSInteractor] MDS Polling stop job started.
2026-08-02 06:32:30.6853 INFO [ssm-agent-worker] [MessageService] [SessionProcessorWrapper] listening session reply.
2026-08-02 06:32:55.4923 INFO [ssm-agent-worker] [MessageService] [Association] No associations on boot. Requerying for associations after 30 seconds.
2026-08-02 06:33:25.5203 INFO [ssm-agent-worker] [MessageService] [Association] Schedule manager refreshed with 0 associations, 0 new associations associated
2026-08-02 06:33:32.7094 INFO [ssm-agent-worker] [MessageService] [MDSInteractor] Moving to stop poll job after a minute
2026-08-02 06:33:32.7095 INFO [ssm-agent-worker] [MessageService] [MDSInteractor] Sent termination signal to message poll job.
2026-08-02 06:33:32.7095 INFO [ssm-agent-worker] [MessageService] [MDSInteractor] MDS Polling job stopped.

03

MGS と MDS の初期化

ログに示されているとおり、SSM Agent の起動直後に MGS と MDS の両方が初期化され、MDS のポーリングが開始されていました。

[MessageService] Appending MGSInteractor to MessageService interactors
[MessageService] Appending MDSInteractor to MessageService interactors
[MDSInteractor] Starting message polling
[MDSInteractor] MDS Polling job started.

この時点では、MDS の処理が開始されています。

MGS Control Channel の確立

MDS のポーリング開始とほぼ同時に、MGSInteractor は ssmmessages エンドポイントへの WebSocket 接続を開始していました。

[MGSInteractor] Opening websocket connection to: wss://ssmmessages.ap-northeast-1.amazonaws.com/v1/control-channel/i-0eb704f3d61855b87?role=subscribe&stream=input

このログから、MGS Control Channel の接続先として、ssmmessages.ap-northeast-1.amazonaws.com が使用されていることを確認できます。

続いて、WebSocket 接続と Control Channel の確立に成功したことを示すログが出力されていました。

[MGSInteractor] Successfully opened websocket connection to: 10.0.132.160:443
[MGSInteractor] Set up control channel successfully
[MGSInteractor] SSM Connection channel status is set to ssmmessages

Successfully opened websocket connection に出力されている IP アドレスは、今回の検証環境では ssmmessages VPC エンドポイントのネットワークインターフェイスに割り当てられたプライベート IP アドレスでした。
また、次のログから、SSM Agent の接続チャネルが ssmmessages に設定されたことを確認できます。

[MGSInteractor] SSM Connection channel status is set to ssmmessages

MDS のポーリング停止

MGS Control Channel の確立直後、MDS のポーリングを停止する処理が開始されていました。

[MDSInteractor] MDS Polling stop job started.

その後、約 1 分が経過したタイミングで、MDS のポーリングが停止していました。

[MDSInteractor] Moving to stop poll job after a minute
[MDSInteractor] Sent termination signal to message poll job.
[MDSInteractor] MDS Polling job stopped.

今回使用した SSM Agent バージョン 3.3.4624.0 では、起動時に MDS のポーリングが開始されるものの、MGS Control Channel の確立後、約 1 分で停止することを確認できました。

Session Manager 実行時の動作

続いて、Session Manager 実行時のログを確認します。

Session Manager 開始時のログ
2026-08-02 06:36:23.2206 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] Processing AgentMessage: MessageType - interactive_shell, Id - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
2026-08-02 06:36:23.4686 INFO [ssm-session-worker] [example-session-id] [DataBackend] [pluginName=Standard_Stream] Opening websocket connection to: wss://ssmmessages.ap-northeast-1.amazonaws.com/v1/data-channel/example-session-id?role=publish_subscribe
2026-08-02 06:36:23.4977 INFO [ssm-session-worker] [example-session-id] [DataBackend] [pluginName=Standard_Stream] Successfully opened websocket connection to: 10.0.132.160:443
2026-08-02 06:36:23.4985 INFO [ssm-session-worker] [example-session-id] [DataBackend] [pluginName=Standard_Stream] Starting websocket pinger
2026-08-02 06:36:23.4986 INFO [ssm-session-worker] [example-session-id] [DataBackend] [pluginName=Standard_Stream] Starting websocket listener

※マスクしています

Session Manager の開始要求

Session Manager の開始要求は、MGSInteractor が受信していました。

[MGSInteractor] Processing AgentMessage:
MessageType - interactive_shell

これは、Session Manager の開始要求が、SSM Agent によって確立された MGS Control Channel を介して受信されたことを示しています。
なお、この Control Channel は Session Manager の個別セッション専用ではなく、SSM Agent が Systems Manager からメッセージを受信するための接続です。

Data Channel の確立

Session Manager の開始要求を受信した後、セッションワーカーが個別のセッションで使用する Data Channel を確立していました。

[DataBackend] Opening websocket connection to:
wss://ssmmessages.ap-northeast-1.amazonaws.com/v1/data-channel/example-session-id?role=publish_subscribe

接続先の URL から、Data Channel についても ssmmessages エンドポイントが使用されていることを確認できます。
続いて、WebSocket 接続の確立に成功したことを示すログが出力されていました。

[DataBackend] Successfully opened websocket connection to: 10.0.132.160:443
[DataBackend] Starting websocket pinger
[DataBackend] Starting websocket listener

今回確認したログでは、次の接続で ssmmessages エンドポイントが使用されていました。

  • SSM Agent がメッセージを受信するための MGS Control Channel
  • Session Manager セッションで使用する Data Channel

また、確認したログの範囲では、Session Manager セッションの開始後に MDS が使用されたことを示すログは確認できませんでした。

まとめ

SSM Agent のログを確認したところ、SSM Agent 起動時に MDS(ec2messages)のポーリングが開始され、MGS(ssmmessages)への接続成功後、約 1 分で停止することを確認できました。
また、Session Manager の Control Channel と Data Channel は、いずれも ssmmessages エンドポイントを使用していました。
今回の検証結果から、VPC フローログで確認された ec2messages エンドポイントへの通信は、SSM Agent 起動時の一時的な通信と考えられました。
全ての SSM Agent でバージョン 3.3.40.0 以降を利用されている場合、ec2messages の VPC エンドポイントは削除して問題はないものの、念のため対象ノードの SSM Agent バージョンや ssmmessages エンドポイントへの接続性を確認することもご検討ください。

参考資料

クラスメソッドオペレーションズ株式会社について

クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事