AWS SSM(Systems Manager)とは

目次

SSM(Systems Manager)とは

AWS SSM(Systems Manager)は、AWS上やオンプレミスのサーバーを一元的に管理・運用するためのサービス群です。

サーバーにログインせずに、設定変更・コマンド実行・運用管理ができます。

主な機能

Session Manager ブラウザやCLIからEC2にセキュアにアクセス可能です(SSHキー不要、踏み台サーバー不要、セキュリティグループのポート開け不要)。
SSHの代替として使われる。
操作ログをS3やCloudWatch Logsに保存できるため、監査が容易です。
Run Command 複数のサーバーに対して、一斉にシェルスクリプトやOSコマンドを実行できます。
Parameter Store DBの接続先やAPIキーなどの機密情報を、コードに直接書かずに安全に保管・呼び出しができます。
Patch Manager OSのセキュリティパッチの適用をスケジュール化し、自動で実行できます。
Automation 定型的な運用タスク(AMI作成、インスタンス停止など)をワークフロー化
Inventory インストール済みソフトウェアやOS情報を収集・可視化

 

Session ManagerとSSHの違い

SSM Session Manager SSH
ポート開放 不要 インバウンド22番が必要
キーペア 不要 必要
踏み台サーバー 不要 必要なケースあり
操作ログ CloudTrailに自動記録 別途設定が必要
アクセス制御 IAMで管理 OSユーザー管理

 

SSMを利用するための条件

1.SSM Agentのインストール

管理対象のサーバーにエージェントが導入されている必要があります(Amazon Linuxなどには標準インストールされています)。

 

2.IAMロールの付与

インスタンスがSSMサービスと通信するための権限(AmazonSSMManagedInstanceCoreポリシーなど)が必要です。

 

3.ネットワーク環境

インスタンスからSSMのAPIエンドポイントへ通信できる必要があります(インターネット経由、またはVPCエンドポイント経由)。

SSM Agentとは

SSM Agentとは、AWSが提供するソフトウェアで、EC2インスタンスやオンプレミスサーバーにインストールすることで、AWS Systems Managerからの命令を受け取り実行するエージェントです。

 

通信の流れ

AWS Systems Manager
 ↑ 
SSM Endpoint
 ↑
SSM Agent (EC2内) ← エージェントが自発的に接続しに行く

サーバー(EC2)側のインバウンドのポート開放は不要で、エージェント側からAWSエンドポイントにアウトバウンド通信(HTTPS/443)するだけで動作します。

コンソールやCLIで操作すると、その命令がSSM側にキューイングされ、次のポーリングのタイミングでAgentが取得して実行します。

 

最初からインストール済みのAMI (AWSが提供)

  • Amazon Linux 2 / Amazon Linux 2023
  • Windows Server 2008以降
  • Ubuntu Server 16.04以降
  • RHEL 7以降

AWS提供ではない、オンプレミスのOSには入っていません。

オンプレミスにSSM Agentを手動でインストールは可能です。

 

よく使うコマンド

# エージェントの状態確認(Amazon Linux 2)
sudo systemctl status amazon-ssm-agent

# 再起動
sudo systemctl restart amazon-ssm-agent

# バージョン確認
amazon-ssm-agent -version

 

Session Managerなどで接続できない時

以下を確認します。

  1. SSM Agentが起動しているか
  2. IAMロール(インスタンスプロファイル)がアタッチされているか
  3. SSMエンドポイントに到達できるか(セキュリティグループ・ルートテーブル)
  4. Agentのバージョンが古すぎないか

VPCエンドポイントとの関係

プライベートサブネットでSSMを使う場合、以下の3つのVPCエンドポイントが必要です。

エンドポイント 用途
com.amazonaws.region.ssm 主な用途:API全般
リクエスト/レスポンス、Agent→SSM
com.amazonaws.region.ec2messages 主な用途:Run Command
ポーリング、Agent→SSM(問い合わせ)
com.amazonaws.region.ssmmessages 主な用途:Session Manager
常時接続(双方向)、Agent⇔SSM

 

EC2Messages → Run Commandなどのコマンド実行に使う

SSMMessages → Session Managerのインタラクティブなターミナル接続に使う

関連の記事

AWS Systems ManagerのRun Commandを実行

△上に戻る