自由気ままに書いちゃおう

好きなことをつらつらと・・・

AWS SSM Agentについて

今回は、「SystemsManager Agent」(略して、SSMAgent)についてです。

ちなみに、SystemsManagerは過去に
・Amazon Simple Systems Manager (SSM)
・Amazon EC2 Systems Manager (SSM)
と呼ばれていました。
その名残から今でもSSMという名称が引き続き使われている箇所があります。

 

■SSM Agentとは?

SystemsManagerで管理したいサーバ(EC2、オンプレサーバ、他の仮想マシン)にインストールするエージェントです。

尚、SystemsManagerによって管理されているサーバのことを、「マネージドインスタンス」と呼びます。

■SSM Agentの役割は?


SystemsManagerからのリクエスト(API等)を処理し、リクエスト通りに実行します。
また、実行結果はSSM AgentからSystemsManagerに返します。
※返す際には、ec2messagesサービスプレフィックスを利用します。
※サービスプレフィックスについては後述します。

<

■SSM Agentの通信の流れは?


実は前述の記載(From、To)は少し語弊があります。
確信はないのですが、
SystemsManagerが発行したリクエストを、SSM Agentが定期的に取得しに行くような動作になるようです。

↓多分こんな感じ↓
① SSM Agent:  SSM Manager!!何か処理ある?? <定期的に確認するよ。
② SSM :      あるよー。実行してほしいリクエストはコレね。
③ SSM Agent:  はいよー、それでは実行します。
④ SSM Agent:  実行終わったから、その結果を報告するね。
⑤ SSM :      実行結果の報告を受け取ったよ、ありがとね。

そのため、SSM AgentからSSMへの通信(=アウトバウンド)は発生しますが、SSMからSSM Agentへの通信(=インバウンド通信)は発生しないようです。
SSM AgenとからSSMへの通信(=アウトバウンド)はhttps/443で行います。


図にすると、こんな感じ。

f:id:guri2o1667:20200508145906p:plain

■SSM AgentがSSMと通信する際に使用するVPCエンドポイントについて


SSM AgentがSSMと通信する際に作成するVPCエンドポイントは必須が3つ、オプションが1つです。

【必須】
1. com.amazonaws.region.ssmcom.amazonaws.region.ssm
   ⇒ Systems Manager サービスのエンドポイント。

2. com.amazonaws.region.ec2messages
   ⇒ Systems Manager はこのエンドポイントを使用して、SSM エージェント エージェントから Systems Manager サービスに呼び出しを行います。

3.com.amazonaws.region.ec2
   ⇒ Systems Manager を使用して VSS 対応のスナップショットを作成する場合は、EC2 サービスへのエンドポイントがあることを確認します。 EC2 エンドポイントが定義されていない場合、アタッチした EBS ボリュームを列挙する呼び出しは失敗し、Systems Manager コマンドが失敗します。

【オプション】
4.com.amazonaws.region.ssmmessages
   ⇒ このエンドポイントは、Session Manager を使用して安全なデータチャネルを経由してインスタンスに接続する場合にのみ必要です。

f:id:guri2o1667:20200508151211p:plain




以上です。