今日を知り、明日を変えるシステム運用メディア

AWS Systems Managerとは?基本的なサービス概要を確認しよう!

AWS Systems Managerとは?基本的なサービス概要を確認しよう!

本記事では、AWSリソースを含むシステムの運用をする際に便利なサービス「AWS Systems Manager」を複数回にわたってご紹介します。

今回は1本目の記事ということで、AWSの運用を行っている方、あるいはこれからAWS運用を行う予定の方、AWS運用に興味のある方を対象に、Systems Managerの概要を説明します。

この記事をきっかけにAWS Systems Managerを理解し、AWSクラウド運用に取り入れてみてはいかがでしょうか。

AWS Systems Managerとは

AWS Systems Managerとは

AWS Systems Manager は、AWSが提供する数あるサービスの1つで「運用管理」を支援するサービスです。

AWSクラウド環境の運用管理は当然のこと、オンプレミスやAWS以外のクラウドと組み合わせたハイブリッドクラウド環境に対しても、統合的な運用管理を実現できます。

この“ハイブリッドクラウド環境の統合的な運用管理” というのがミソで、要するにAWSとオンプレミス、あるいは他クラウドで別々に運用管理の仕組みを構成せずとも、Systems Manager 1つあれば大丈夫、まとめて管理できるということなんです。

EC2、オンプレミスサーバだけでなく、エッジデバイスも管理できます。

しかも、運用管理を支援する便利な機能がたくさん用意されており、しかも基本的に無料で利用できるので、Systems Managerを利用することで、様々な運用課題を必要最低限のコストで解決できるかもしれません。

ちなみに、よく「SSM(エス・エス・エム)」と呼称することが多いです(以降、この記事でもSSMと表記することにします)。

また、よく見られる誤りですが、文字に起こす際はSystem の後に“s” を付け忘れないようにしましょう。

SSMで何ができる?

SSMで何ができる?

SSMを利用することで、AWSクラウドを含む環境の運用管理に関する課題を解決することが期待できます。

特に、管理したいインスタンスの台数が多い、規模の大きい環境ほどSSMは効力を発揮するでしょう。

例えば、管理対象の数が多いことで、次のような運用管理の課題を抱えていませんか?

  • 管理対象を一元的に管理できておらず運用作業フローが煩雑化している
  • 定期運用や保守作業に手間と時間、人材コストが掛かり過ぎている
  • 全サーバに対して同じコマンドを実行したい時に大変
  • OSやソフトウェアのバージョン管理がきちんとできていない
  • 踏み台サーバのセッションが不足している
  • 運用管理の人材が不足しており現場の負担が大きい

SSMには、これら運用管理の課題を解決できる機能が色々と用意されており、管理対象を統合的に管理し、自動化によってシステム運用をより効率化します。

SSM の仕組み

SSMの動作イメージや仕組みについて説明しましょう。

SSMの動作イメージ

SSMの動作イメージを描いてみると、例えば次のような図になります。

例1)AWSクラウドのEC2をSSMで管理する場合

AWSクラウドのEC2をSSMで管理する場合

例2)オンプレミスサーバをSSMで管理する場合

オンプレミスサーバをSSMで管理する場合

マネージドノード

SSMを利用するために必要な準備として、運用管理対象のインスタンスを「マネージドノード」にする必要があります。

次の条件をクリアすることで、インスタンスをマネージドノードにすることができます。

  1. SSM Agentをインストールする
  2. SSM AgentからSSM方向への通信(アウトバウンド)を許可する
  3. SSMへの接続権限を付与する

前掲の図で確認すると、SSM Agentが導入されている下記赤丸で囲ったインスタンスが全てマネージドノードです。

赤丸で囲ったインスタンスが全てマネージドノード

これらの条件に付いて、順に説明します。

SSM Agent のインストール

SSM Agentは、マネージドノードとしたいインスタンスにインストールします。

インストールしたSSM Agent が、SSMと連携して動作することになります。

SSM Agentは、あらゆるマシンタイプ、OSをサポートしています。

▼サポートするマシンタイプ(2024.11.09時点)

  • Amazon EC2 インスタンス
  • オンプレミスサーバ
  • AWS IoT Greengrass コアデバイス
  • AWS IoT および非AWS エッジデバイス
  • 他のクラウド環境内のVM を含む仮想マシン

サポートOS(2024.11.09時点)

  • AlmaLinux
  • Amazon Linux(1 / 2 / 2023)
  • Bottlerocket
  • CentOS
  • CentOS Stream
  • Debian Server
  • Oracle Linux
  • Red Hat Enterprise Linux (RHEL)
  • Rocky Linux
  • SUSE Linux Enterprise Server (SLES)
  • Ubuntu Server
  • macOS ※Amazon EC2 インスタンスのみ
  • Raspberry Pi OS
  • Windows Server(2008/ 2008 R2 / 2012 / 2012 R2 / 2016 / 2019 / 2022)

アーキテクチャ等の詳細なサポート情報はAWS公式ドキュメントを参照してください。

AWSが提供するAMIには、予めSSM Agentがプリインストールされたものもあります。
詳しくは、次のAWS公式ドキュメントを参照してください。

SSM Agent からSSMへの通信許可

SSM Agentインストール後、SSM AgentからSSMへのアウトバウンドの通信を許可する必要があります。

インバウンドの通信は許可不要です。

SSM Agent は、SSMからのリクエストを処理し、SSMにマネージドノードのステータスや実行情報をSSH通信で返送します。

マネージドノードからSSMへのネットワーク経路は、主に次の2パターンがあります。

  1. インターネット経由
  2. VPCエンドポイント経由(閉域網等インターネットよりセキュアな経路)

マネージドノードにSSMへの接続権限を付与

EC2をマネージドノードにする場合、次のいずれかの方法でSSMへの接続権限を付与する必要があります。

  1. マネージドノードとするインスタンスに直接付与
  2. DHMC(Default Host Management Configuration)を有効にする

DHMCを簡単に説明すると、アカウント単位で全体に適用する既定の権限ルールです。

要するに、これらの方法の違いは権限をEC2単位で個別に付与するか、1つのルールに基づいて全インスタンスに付与するかの違いです。

DHMCによる方法は、後から追加したインスタンスも自動的にマネージドノードとすることができる利点があります。

オンプレミスサーバをマネージドノードにする場合は、アクティベーションという操作が必要です。

オンプレミスサーバが設置された自社ネットワークとAWSクラウドのSSMとの通信は、セキュアに行う必要があります。

具体的には、証明書による暗号化された通信によってセキュアな通信を実現するのですが、その一連の準備作業をアクティベーションと称します。

SSMの様々な機能の概要

最後に、SSMで用意されている機能の概要を紹介します。

SSMには、実に多くの機能が用意されています。

そして、それらの機能は次に示すように4つのカテゴリに分類することができます。

SSMの様々な機能

これらの各カテゴリグループについて概要を説明しましょう。

オペレーション管理
業務管理とも言います。リソース管理に役立つ機能カテゴリです。

アプリケーション管理
AWSで稼働するアプリケーションの管理を支援する機能カテゴリです。

変更管理
リソースを変更するための次の機能カテゴリです。

ノード管理
ノードにアクセスして管理および設定するための機能カテゴリです。

以降で、SSMの機能概要を各カテゴリ単位で説明します。

なお、今回はあくまでも概要的な説明となりますが、各機能の詳細な説明は別記事で実施する予定です。

オペレーション管理

Incident Manager

インシデントを管理する機能です。

インシデントが発生した際に行う自動処理を設定し、インシデントへの迅速な対処処理の実行、アラームの発生、メール等による通知処理を行うことができます。

また、インシデント発生後の分析や改善のための取り組みを行うような機能も用意されています。

Explorer

AWSリソースに関する情報をレポートするカスタマイズ可能な運用ダッシュボードです。

このダッシュボードには、AWSアカウントとAWSリージョン全体の運用情報を集約して表示可能であり、SSMだけでなく、SSMと連携可能な他のAWSサービスの情報もこのダッシュボードに表示できます。

例えば、「AWS Config」、「AWS Trusted Advisor」、「AWS Compute Optimizer」、「AWS Support」などの情報を表示します。

OpsCenter

対応が必要となる運用課題を表示、調査、解決できる機能です。

この機能を利用することで、AWSリソースに影響を与える問題の平均解決時間を短縮し、運用担当者の負担軽減を期待できます。

運用課題の例を挙げると、定義した自動アクションの失敗やセキュリティアラート、監視対象インスタンスのしきい値異常等です。

CloudWatch dashboards

CloudWatchコンソールのカスタマイズ可能なダッシュボードで、異なるAWSリージョンに分散しているリソースも単一コンソールで監視できます。

アプリケーション管理

Application Manager

単一コンソールでアプリケーションを管理する機能です。

CloudWatchアラームやコンプライアンス状態など様々なアプリケーションの状態情報を確認でき、アプリケーションの問題調査や修正をスムーズにします。

AppConfig

アプリケーション構成を作成、管理、デプロイできる機能です。

部分的なデプロイ、段階を踏んでのデプロイなども可能なため、ちょっとした修正などアプリケーションを稼働させたままデプロイを行いたい時に便利です。

Parameter Store

アプリケーションのパラメータや認証情報を一元的に格納できる機能です。

パラメータや認証情報をParameter Storeで管理することで、コードメンテナンスの負担を減らしたり、大事な認証情報を安全に管理することができます。

変更管理

Automation

自動化したい独自の処理を定義および実行できる機能です。

「Amazon EC2」、「Amazon RDS」、「Amazon Redshift」、「Amazon S3」など様々なAWSサービスにおける一般的なメンテナンス、デプロイ、および修復タスクを実行できます。

Change Manager

変更アクションを安全に行うための承認ワークフローを自動化する機能です。

誤って実行した場合のリスクが高い変更アクションに関して、実行前に作業内容や作業対象を承認者に通知することができます。

Change Managerで管理するアクションは、承認者が承認操作をした場合のみ実行されるようになります。

Change Calendar

カレンダーイベントを作成および実行制御できる機能です。

定期的に実行するアクションについて、例えばゴールデンウィークや年末年始といった長期休暇における実行の有無をカレンダーで設定できます。

Maintenance Windows

様々な自動処理について、処理を実行するタイミングを制御する機能です。

SSMの機能だけでなく、AWS LambdaやAWS Step Functionなど他のAWSサービスによる自動処理も制御可能です。

ノード管理

Compliance

管理対象ノード群をスキャンして、パッチのコンプライアンスと構成の不整合を確認できます。

複数のAWSアカウントやリージョンからデータを収集して集約し、コンプライアンスに準拠していない特定のリソースをドリルダウンすることができます。

Fleet Manager

AWSまたはオンプレミスで稼働するマネージドノードのリモート管理を支援する機能です。

Fleet Managerの管理コンソールを利用することで、各マネージドノードを統合的に一覧で管理できます。

一覧表示だけでなく、各マネージドノードのログやプロセス稼働状態の確認、リモート接続や管理タスクの実行なども可能です。

Inventory

マネージドノードの概要情報やアプリケーション構成など様々な情報を収集し、参照することができます。

収集した情報は、Amazon S3 バケットに保存することも可能です。

また、Amazon Athenaを使用することで、複数のAWSリージョンおよびAWSアカウントからインベントリデータを構成および表示することもできます。

Session Manager

マネージドノードに個別にアクセスできる機能です。

ブラウザやCLIからマネージドノードにシェルアクセスすることができ、個々にコマンドを実行したい時に便利です。

マネージドノードのインバウンドポートを開く必要が無く、アクセスを行った際に接続や操作の履歴を残したり、アクセス通知を行うことも可能です。

Run Command

マネージドノードに一括でコマンドを実行する機能です。

サーバにログインすることなく、リモートで安全に一括コマンド実行ができます。

1回限りの構成変更を大規模に行う場合などに便利です。

State Manager

マネージドノードやその他のAWSリソースを定義した状態に保つプロセスを自動化する機能です。

SSMで定義したアクションが、いつどのように行われ、維持されていくかを制御し、SSMの正常な運用を制御します。

Patch Manager

マネージドノードに対して、OSやアプリケーションに関するパッチ適用作業を自動化する機能です。

パッチ適用ルールを事前定義することもでき、例えば開発環境と本番環境の適用時期をズラすといった制御も可能です。

インスタンスをスキャンして不足しているパッチのレポートのみを表示することも、スキャンして不足しているすべてのパッチを自動的にインストールすることもできます。

Distributor

全マネージドノードに徹底して適用すべきソフトウェアパッケージについて、適用および更新を自動化する機能です。

独自のソフトウェアを対象として定義できますし、Amazon CloudWatch AgentなどのAWS提供パッケージや、セキュリティ対策ソフトなどサードパーティパッケージについても定義可能です。

Hybrid Activations

ハイブリッドおよびマルチクラウド環境でAWS Systems Managerを使用するために非EC2マシンを構成します。

さいごに

さて、今回は「AWS Systems Managerフル攻略マニュアル」と題して、SSMに関して、概要の説明をして参りました。

ここまで読んでいただいた通り、SSMは大変便利な運用管理支援サービスであり、AWSクラウドを利用するのであれば強く利用をお勧めしたいです。

これから、SSMの導入や各機能について詳細な記事をアップしていく予定ですので、本記事でSSMに興味を持っていただいた方には、是非今後の記事もチェックしていただきたいです。

サーバエンジニア歴7年、ネットワークエンジニア歴4年。 長らくSI業界のインフラ部隊に勤め、基本設計から導入まで一通りの経験あり。

人気の記事

最新情報をお届けします!

最新のITトレンドやセキュリティ対策の情報を、メルマガでいち早く受け取りませんか?ぜひご登録ください

メルマガ登録