▪️目的

AWSでEC2インスタンスを運用する場合、インスタンスへの接続やコマンド実行、設定情報の管理など、さまざまな作業が発生します。

例えば、次のような作業です。

  • EC2インスタンスにリモート接続する
  • 複数のインスタンスにコマンドを実行する
  • インスタンスの設定情報を管理する
  • ソフトウェアやパッチの適用状況を確認する
  • 運用に必要なパラメータを保存する

こうした運用作業を支援するサービスが、AWS Systems Manager(SSM) です。

Systems Managerを利用すると、AWS上のリソースやサーバーを一元的に管理し、運用作業を効率化できます。

この記事では、Systems Managerの基本的な仕組みから、Session Manager・Run Command・Parameter Storeなどの主要機能まで、初心者向けに解説します。

目次

  1. AWS Systems Managerとは
  2. Systems Managerの基本的な仕組み
  3. Session Manager
  4. Run Command
  5. Parameter Store
  6. Patch ManagerとInventory
  7. IAM・SSM Agentとの関係
  8. Systems Managerを利用するメリット
  9. 利用する際の注意点
  10. まとめ

▪️AWS Systems Managerとは

AWS Systems Managerは、AWS上のインフラやサーバーの運用管理を支援するサービスです。

EC2インスタンスの管理をはじめ、コマンド実行、リモート接続、設定情報の管理、パッチ適用など、さまざまな運用作業に利用できます。

Systems Managerは単一の機能だけを提供するサービスではなく、複数の運用管理機能をまとめて提供しています。

♦︎Systems Managerでできること

機能主な用途
Session Managerサーバーへリモート接続する
Run Commandサーバー上でコマンドを実行する
Parameter Store設定値や機密情報を管理する
Patch ManagerOSなどのパッチ適用を管理する
Inventoryサーバーの構成情報を収集する
State Managerサーバーの設定状態を維持するための管理を行う

これらの機能を活用することで、サーバーの運用作業を効率化できます。

なお、利用できる機能や対象リソースには、それぞれ前提条件があります。実際に利用する際は、対象OSや必要な権限などを確認しましょう。

▪️Systems Managerの基本的な仕組み

Systems Managerを利用してEC2インスタンスを管理する場合、代表的な構成は次のとおりです。

管理者
  ↓
AWSマネジメントコンソール
または AWS CLI
  ↓
AWS Systems Manager
  ↓
SSM Agent
  ↓
EC2インスタンス

管理者がコンソールやAWS CLIから操作すると、Systems Managerを通じて対象インスタンスの管理処理が実行されます。

ここで重要になるのが、SSM Agent です。

SSM Agentは、EC2インスタンスなどの管理対象マシン上で動作し、Systems Managerからの要求を処理するためのエージェントです。

ただし、SSM Agentがインストールされているだけで、必ずSystems Managerを利用できるわけではありません。

必要なIAM権限やネットワーク接続なども適切に設定する必要があります。

♦︎Systems Managerを利用するための主な要件

EC2インスタンスをSystems Managerで管理するには、主に次の点を確認します。

  • SSM Agentがインストールされ、正常に動作している
  • インスタンスに必要なIAM権限が付与されている
  • Systems Managerのエンドポイントへ通信できる
  • 対象インスタンスやOSが利用する機能の要件を満たしている

例えば、インターネットへの直接アクセスがないプライベートサブネット内のEC2でも、適切なVPCエンドポイントなどを設定することで、Systems Managerを利用できる構成があります。

▪️Session Manager

Session Managerは、Systems Managerの機能のひとつで、管理対象のサーバーへ安全にリモート接続するための仕組みです。

従来、LinuxのEC2インスタンスへ接続する場合、SSHを利用する構成がよく使われてきました。

SSH接続では、一般的に接続元からインスタンスへ通信できる経路を確保し、認証情報などを適切に管理する必要があります。

一方、Session Managerを利用すると、AWSマネジメントコンソールやAWS CLIなどからセッションを開始できます。

♦︎Session Managerのイメージ

管理者
  ↓
Systems Manager
  ↓
SSM Agent
  ↓
EC2インスタンスのシェル

Session Managerを利用することで、SSH用のインバウンドポートを開放せずに接続できる構成を作れます。

また、SSH秘密鍵を個別に配布・管理する運用を減らせる点もメリットです。

ただし、接続するためのIAM権限やネットワーク経路などは必要です。Session Managerを利用するだけで、すべてのアクセス制御が自動的に完成するわけではありません。

♦︎Session Managerの主なメリット

  • SSH用のインバウンドポートを開放せずに接続できる
  • SSH秘密鍵の配布・管理を減らせる
  • IAMを使って接続権限を制御できる
  • 設定によってセッションのログを記録できる

運用担当者がEC2インスタンスへ安全に接続するための選択肢として、押さえておきたい機能です。

▪️Run Command

Run Commandは、Systems Managerから管理対象のサーバーへコマンドを実行する機能です。

例えば、複数のEC2インスタンスに対して、同じコマンドを実行したい場合に利用できます。

♦︎Run Commandのイメージ

管理者
  ↓
Systems Manager
  ↓
 ┌────────┬────────┐
 ↓        ↓        ↓
EC2-A    EC2-B    EC2-C
 ↓        ↓        ↓
コマンド実行  コマンド実行  コマンド実行

管理対象のインスタンスを指定し、用意されたコマンドドキュメントなどを利用して処理を実行します。

例えば、次のような用途があります。

  • サービスの状態を確認する
  • ログや設定ファイルを調査する
  • ソフトウェアのインストール処理を実行する
  • 複数のサーバーで同じ運用コマンドを実行する

Linuxであれば、サービスの状態確認やディスク使用量の確認など、日常的な運用作業にも活用できます。

ただし、実行するコマンドや対象インスタンスを誤ると、意図しない変更が発生する可能性があります。

本番環境で利用する場合は、対象範囲や実行内容を事前に確認しましょう。

▪️Parameter Store

Parameter Storeは、Systems Managerが提供する機能のひとつで、設定値などのパラメータを保存・管理できます。

例えば、アプリケーションの接続先や環境ごとの設定値などを管理する用途があります。

♦︎Parameter Storeのイメージ

アプリケーション
      ↓
Systems Manager
      ↓
Parameter Store
      ↓
設定値を取得

設定値をプログラムに直接書き込むのではなく、Parameter Storeから取得する構成にすることで、設定値をコードから分離できます。

♦︎Parameter Storeで管理できる情報

例えば、次のような情報を保存できます。

  • アプリケーションの設定値
  • 接続先のURL
  • 環境ごとのパラメータ
  • 暗号化して保存する必要がある機密情報

Parameter Storeには、通常の文字列を保存するString、複数行などの文字列を保存するStringList、KMSによる暗号化を利用するSecureStringといったパラメータの種類があります。

機密情報を保存する場合は、SecureStringやKMSの権限設定などを適切に検討しましょう。

♦︎Secrets Managerとの違い

AWSには、機密情報を管理するためのサービスとして、AWS Secrets Managerもあります。

両者には共通する用途もありますが、得意とする領域が異なります。

項目Parameter StoreSecrets Manager
主な用途設定値やパラメータの管理認証情報などのシークレット管理
暗号化SecureStringでKMS暗号化を利用できるシークレットをKMSで暗号化して保管する
自動ローテーションSecrets Managerのような組み込みのシークレットローテーション機能は基本的にないシークレットの自動ローテーションをサポートする
料金標準パラメータは無料枠の範囲で利用できるなど、階層や機能によって異なる保存するシークレット数やAPI呼び出しなどに応じて料金が発生する

設定値を管理したい場合はParameter Store、データベースの認証情報などをローテーションも含めて管理したい場合はSecrets Managerが候補になります。

ただし、具体的な要件や料金、必要な機能に応じて使い分けることが大切です。

▪️Patch ManagerとInventory

Systems Managerには、サーバーの保守運用を支援する機能もあります。

♦︎Patch Manager

Patch Managerは、管理対象のノードに対するパッチ適用を管理するための機能です。

OSや対象ソフトウェアの更新プログラムを適用する運用を支援します。

例えば、複数のEC2インスタンスに対して、定めたルールに沿ってパッチを適用する構成を考えられます。

ただし、対象OSやパッチの種類、設定によって利用条件が異なります。適用前に検証環境で動作を確認し、本番環境への適用手順を整理しておきましょう。

♦︎Inventory

Inventoryは、管理対象のマシンから構成情報を収集するための機能です。

例えば、次のような情報を把握する用途があります。

  • インストールされているソフトウェア
  • OSの情報
  • アプリケーションなどの構成情報

構成情報を把握しておくことで、サーバーの管理や棚卸しに役立ちます。

♦︎State Manager

State Managerは、管理対象のノードを望ましい設定状態に保つための管理機能です。

例えば、必要な設定やソフトウェアの状態を維持するために利用できます。

Run Commandが「指定したタイミングでコマンドを実行する」用途に向くのに対し、State Managerは「設定した状態を維持する」用途に向いています。

▪️IAM・SSM Agentとの関係

Systems Managerを利用するうえでは、IAMとSSM Agentの役割を理解することが重要です。

♦︎IAMの役割

IAMは、AWSリソースへのアクセス権限を管理するサービスです。

Systems Managerでは、管理者がどの操作を実行できるか、EC2インスタンスがSystems Managerと通信するためにどの権限を持つかなどを制御します。

例えば、管理対象のEC2インスタンスに必要な権限を付与するために、IAMロールをインスタンスへ関連付ける構成があります。

権限が不足している場合、インスタンスがSystems Managerに登録されなかったり、コマンド実行などができなかったりすることがあります。

♦︎SSM Agentの役割

SSM Agentは、管理対象のマシン上で動作し、Systems Managerの各種機能を利用するためのエージェントです。

Systems Managerからの要求を受け取り、対象マシン上で必要な処理を行います。

♦︎それぞれの役割

要素役割
Systems Manager運用管理機能を提供する
IAM操作や通信に必要な権限を制御する
SSM Agent管理対象マシン上で要求を処理する
VPCエンドポイントなどネットワーク接続を確保する手段のひとつ

これらが適切に構成されることで、Systems Managerを利用した運用管理が可能になります。

▪️Systems Managerを利用するメリット

Systems Managerを利用する主なメリットは、次のとおりです。

① 運用作業を効率化できる

複数のインスタンスに対してコマンドを実行したり、管理作業を自動化したりできます。

手作業で1台ずつ操作する負担を減らせます。

② リモート接続を管理しやすい

Session Managerを利用することで、SSHポートを開放せずに接続できる構成を作れます。

IAMによるアクセス制御やログ記録の設定と組み合わせることで、運用上の管理性を高められます。

③ 設定値をコードから分離できる

Parameter Storeを利用すると、アプリケーションの設定値をコードから分離して管理できます。

環境ごとの設定値を整理する場合にも役立ちます。

④ サーバーの保守運用を支援できる

パッチ適用や構成情報の収集などを通じて、管理対象の状態を把握しやすくなります。

ただし、すべての運用作業が自動化されるわけではありません。必要な機能を選択し、適切に設定することが重要です。

▪️利用する際の注意点

Systems Managerを利用する際は、次の点にも注意しましょう。

① IAM権限を適切に設定する

Systems Managerで実行できる操作や、管理対象インスタンスが利用できる機能は、IAM権限などの設定に影響されます。

必要な操作だけを許可するように設計しましょう。

② ネットワーク接続を確認する

プライベートサブネット内のインスタンスで利用する場合などは、Systems Managerのエンドポイントへ通信できる必要があります。

構成によっては、VPCエンドポイントを用意することで、インターネットへの直接アクセスを避けながら利用できます。

③ SSM Agentの状態を確認する

SSM Agentが停止していたり、正常に通信できなかったりすると、管理操作が失敗する場合があります。

接続できない場合は、エージェントの状態やIAM権限、ネットワーク設定などを順番に確認しましょう。

④ 本番環境での操作に注意する

Run Commandやパッチ適用などは、対象インスタンスや実行内容によってシステムに影響を与える可能性があります。

実行前に対象範囲と処理内容を確認し、必要に応じて検証環境でテストしてから適用しましょう。

▪️まとめ

AWS Systems Managerは、AWS上のインフラやサーバーの運用管理を支援するサービスです。

今回のポイントを整理します。

  • Session Manager:サーバーへリモート接続する
  • Run Command:管理対象のサーバーでコマンドを実行する
  • Parameter Store:設定値やパラメータを管理する
  • Patch Manager:パッチ適用を管理する
  • Inventory:サーバーの構成情報を収集する
  • State Manager:設定した状態を維持するための管理を行う
  • IAM・SSM Agent:権限管理と管理対象マシン上での処理を支える

Systems Managerを理解すると、EC2を起動・構築するだけでなく、構築後の運用管理まで考えられるようになります。

特に、Session ManagerやRun Commandは、インフラエンジニアの日常的な運用作業にも関係する重要な機能です。

まずは、Systems Managerが「サーバーを管理するための機能をまとめて提供するサービス」であることを押さえ、それぞれの機能の役割を理解していきましょう。

次の記事では「AWS Config」について解説します。
*「AWS Config」の記事はこちら
→「https://lovelabengineer.com/2026/10/09/aws-configとは?awsリソースの設定管理とコンプライアン/」

参考資料

No responses yet

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

Latest Comments

表示できるコメントはありません。