System Manager(SSM)
【リソースの運用効率化】

サーバーにログインせず、AWSのリソースの運用管理スケーラブルかつコスト効率よく行うサービス群。

※SSMは多くのサービスコンポーネントから構成されており、100以上の事前定義されたドキュメントがある。

・ユーザーポリシーを制御しない。ユーザーにアクセス許可を付与するには、IAMポリシーをアタッチすること。

【オンプレミスにも対応】

オンプレミスとAWSそれぞれにITシステムが存在している場合、Systems Managerはオンプレミスのサーバを対象にした機能があるため、AWSにてオンプレミス側の運用を巻き取ることができ、運用負荷を大幅に減らすことができる。
このように、AWSとオンプレミス双方でリソースや運用の自動化や効率化を実現できることが大きな特徴。

  • managed node(マネージドノード)
    【SSMのリソース】
    Systems Manager のために設定されたハイブリッド環境の EC2インスタンス、エッジデバイス、またはオンプレミスのサーバーや仮想マシン (VM) のこと。
  • SSM パラメータタイプ
    Systems Manager パラメータストア内の既存のパラメータに対応。Systems Manager パラメータキーは SSM パラメータの値として指定。CloudFormation は、スタックに使用するパラメータストアから最新の値を取得。

  • SSMエージェント
    【コンポーネントへの指示】
    SystemsManagerで管理したいサーバ(EC2、オンプレサーバ、他の仮想マシン)にインストールするエージェント
    EC2に対して、エージェントのインストールや「パラメータストア」内に保存した設定ファイルを選択してのエージェントの起動ができる。

    【例】
    CloudWatchエージェントをSSHログインして直接作業せずとも、SSMコンソール経由でインストール、起動することができる。

  • SSMドキュメント
    【コンポーネント指示セット】
    マネージドインスタンスに対するSystem Managerの振る舞いの設定をするためのリソース。
    JSONYAMLの形式で、ステートマネージャーRun Commandで、いつ何を行うか、管理しているEC2インスタンスに対して実行するアクション(インスタンスにパッチを適用するなど)を定義、管理できる。

    ※マネージドインスタンスが最新のセキュリティアップデートでパッチが適用された状態に維持できるように公開されている(合計7つ)

【ハイブリッド環境での設定】

  • オンプレミスのサーバーやVMを設定すると、AWSマネジメントコンソール上で「マネージドインスタンス」として表示される。
  • これらのインスタンスはIDの接頭辞で区別され、ハイブリッド環境のものは「mi-」、Amazon EC2のものは「i-」で始まる。

【推奨されている3種類のドキュメント

  • AWS-ConfigureWindowsUpdate
  • AWS-InstallWindowsUpdates
  • AWS-RunPatchBaseline

【ドキュメント名:AWS-RunPatchBaseline

  • 目的:EC2インスタンスにセキュリティ更新とその他のパッチを適用する。
  • ベースライン:現在「デフォルト」として指定されている patch baseline が使用される。
  • 対応範囲
    ●OS パッチ適用が可能(Linux/Windows)
    アプリケーションのパッチ適用も可能(ただし Windows では Microsoft アプリケーションに限られる)

Patch Manager を使うことで、手動の作業を減らしながら、セキュリティとコンプライアンスを維持できる。

◇主要プラグイン一覧

[情報を展開する]
プラグイン名説明
aws:applicationsWindows EC2 インスタンスにアプリケーション(MSI形式)をインストール・修復・アンインストールします。
aws:cloudWatchWindows Server から CloudWatch Logs にログやメトリクスを送信します(※現在は CloudWatch Agent の使用が推奨)。
aws:configureDockerDocker をインストール・設定します。Linux インスタンスでのコンテナ環境構築に便利です。
aws:configurePackageSSM Distributor や SSM Documents を使って、パッケージのインストール・更新・アンインストールを行います。
aws:domainJoinWindows インスタンスを Active Directory ドメインに参加させます。
aws:downloadContent指定された URL からファイルをダウンロードして、インスタンス上に保存します。
aws:psModulePowerShell モジュールをインストール・更新・削除します(Windows専用)。
aws:refreshAssociationState Manager の関連付けを即時再評価・再実行します。
aws:runDockerActionDocker コンテナの起動・停止・削除などの操作を実行します。
aws:runDocument他の SSM ドキュメントを呼び出して実行します(ネスト構造の実現に便利)。
aws:runPowerShellScriptWindows インスタンス上で PowerShell スクリプトを実行します。
aws:runShellScriptLinux/macOS インスタンス上でシェルスクリプトを実行します。
aws:softwareInventoryインスタンス上のソフトウェア情報を収集し、Inventory に登録します。
aws:updateAgentSSM Agent を更新します(非推奨、代わりに aws:updateSsmAgent を使用)。
aws:updateSsmAgentSSM Agent を最新バージョンに更新します(推奨)。

[引用元サイト]

【以下、主要なコンポーネントの一覧】

  • 【運用管理】
    ●Explorer:
    運用アイテム情報などを表示するカスタマイズ可能なダッシュボード。利用しているAWSリソースすべてに関して、情報を統合した、カスタマイズ可能なダッシュボードを提供。情報のグルーピングやフィルタリングが可能。

    ●OpsCenter:
    運用上の問題の確認、調査、解決を一元的に管理。AWSのリソースに関する問題の確認、調査、解決を一元的に実施できる環境を提供。

    ● CloudWatchダッシュボード:
    CloudWatch コンソールで作成したカスタマイズ可能なダッシュボードを表示。CloudWatchのコンソールにあるダッシュボードをSystems Managerの画面からもアクセスできる。わざわざCloudWatchのサービス画面を開く必要がないため、運用の効率性が向上する。

    ●Incident Manager:
    事前に準備した対応計画に基づくインシデント管理。
  • 【アプリケーション管理】
    ●Application Manager:
    アプリケーション単位でのAWSリソースデータの表示、アクション実行。CloudFormationやECS、EKSの状態を確認することが可能で、AWSリソースに関する問題を調査および修正するのに役立つ。

    ●App Config:
    アプリケーション設定の管理。EC2インスタンス、AWS Lambda、コンテナなどにデプロイするアプリ、環境変数などの設定を事前に決定しておくことで、アプリケーションデプロイ時のエラーを防止するのに役立つ。

    ●Parameter Store:
    設定データを一元的に管理するストア。パスワード、データベース文字列といった設定データや機密情報を保存しておき、外部のアプリケーションなどから参照できる。こちらを利用することで、アプリケーションに認証情報等を直接書いてしまう、といったことを回避できる。
  • 【ノード管理】
    ●Fleet Manager:
    AWSおよびオンプレミスサーバの管理。

    ●コンプライアンス:
    ログやパッチの適用状況などコンプライアンスの管理に必要なデータを表示。

    ●インベントリ:
    サーバのシステム設定とインストールされたアプリケーションの把握。

    ●ハイブリッドアクティベーション:
    ハイブリッド環境でサーバー、エッジデバイス、仮想マシン (VM) をマネージドノードとして設定する。

    セッションマネージャー:
    サーバへのブラウザベースのリモートアクセス。

    ●Run Command:
    サーバ群の上でリモートコマンド実行。

    ●ステートマネージャー:
    サーバ設定の一貫性の維持。

    ●パッチマネージャー:
    指定ルールに基づいたサーバ群へのパッチ適用。

    ●ディストリビュータ:
    サーバへのパッケージの配信およびインストール。
  • 【変更管理】
    オートメーション:
    AWS環境全体に対する自動化処理の実行。

    Change Manager:
    構成変更ワークフローの簡素化。アプリケーションの設定やインフラストラクチャに対する運用上の変更について、確認や承認を行うワークフローのような機能を提供。

    ● Change Calendar:
    指定したアクションが AWS アカウント で実行できるまたはできない日付と時刻の範囲を設定。

    ●メンテナンスウィンドウ:
    タスクのスケジュール管理。

本サイトは資格試験内容を中心とするため、代表的な機能を記載します

[参照元サイト]

以降、SystemManagerの主たるサービス(合計7つ)。

【運用管理】

OpsCenter
【運用問題解決】

オペレーションエンジニアやITプロフェッショナルがAWSリソースに関連する運用作業項目を表示、調査、解決できるような中心的な環境を提供する。
⇒AWSリソースに影響する問題の解決までの平均時間を短縮できる

・EventBridgeやCloudWatchと統合されている

【アプリケーション管理】

Parameter Store
【設定用ストレージ】

設定データ管理機密情報を一元的に管理するための安全な階層型ストレージを提供。

・パスワード、データベース文字列、Amazon Machine Image (AMI) ID、ライセンスコードなどのデータをパラメータ値として保存できる。

・お客様が管理するキーの機能を備えたAPIキーの安全なストレージを提供できる。

・認証情報のハードコーディングを防ぐためにIAMロールを使用する必要がある。

  • 保存可能な情報の例:
  • パスワードやライセンスキー
  • DB接続文字列や AMI ID など

【保存形式】

  • パラメータ値はプレーンテキストまたは暗号化された形式で保存可能。
  • 暗号化には AWS KMS(Key Management Service) を使用。
  • Secure String
    【値の暗号化】

データを Secure String として保存することで、値が暗号化され管理が容易になる。
アプリケーション起動時にパラメータストアからこれらの値を取得し、環境変数として利用する。

【設定管理の自動化と整合性】
データベースサーバーのIPアドレスなどを一元的に管理し、必要に応じて自動的にアプリケーションサーバーの設定ファイルに挿入することができる。

【ノード管理】

Fleet Manager

EC2 の一括管理を主目的としたサービス。サーバーフリート全体の正常性やパフォーマンスステータスを表示する。
・個々のノードからデータを収集してトラブルシューティングや管理タスクを実行。
・インスタンスのパフォーマンス状況やファイルシステム、イベントログなどの情報をコンソールから確認。
・仮想マシンにリモート接続しなくても、個々のサーバーにドリルダウンして、ディスクとファイルの探索、ログ管理、Windows レジストリ操作、ユーザー管理などを行う。

Inventory

EC2 やオンプレミス環境における可視性を提供。

【機能】

  • マネージドインスタンスからメタデータを収集
  • メタデータはAmazon S3バケットに保存。
  • 組み込みツールでデータにクエリを実行可能。
  • インスタンスで実行されているソフトウェアや、更新やポリシー適用の必要性を特定できる。

【設定】

  • ワンクリック手順で全インスタンスにインベントリを設定可能。
  • 複数リージョン・アカウントに対応した統合管理が可能。

【収集できるメタデータタイプ】

アプリケーションアプリケーション名、発行元、バージョンなど
AWS コンポーネントEC2 ドライバ、エージェント、バージョンなど
ファイル名前、サイズ、バージョン、インストール日、変更および最新アクセス時間など
ネットワーク設定の詳細IP アドレス、MAC アドレス、DNS、ゲートウェイ、サブネットマスクなど
Windows 更新Hotfix ID、インストール者、インストール日など
インスタンスの詳細システム名、オペレーティングシステム (OS) 名、OS バージョン、最終起動、DNS、ドメイン、ワークグループ、OS アーキテクチャなど
サービス名前、表示名、ステータス、依存サービス、サービスのタイプ、起動タイプなど
タグインスタンスに割り当てられるタグ
Windows レジストリレジストリキーのパス、値の名前、値タイプおよび値
Windows ロール名前、表示名、パス、機能タイプ、インストール日など
カスタムインベントリカスタムインベントリの操作 に説明されるようにマネージドインスタンスに割り当てられたメタデータ

Session Manager
【安全なセッション】

SystemManagerの完全マネージド型の機能。
サーバへのブラウザベースのリモートアクセス(ワンクリックブラウザベースのシェル)、またはAWS CLIを介して安全で監査可能なインスタンスの管理を提供する。

AWS Command Line Interface (AWS CLI) を使用してマネージドノードとの Session Manager セッションを開始するには、ローカルマシンに Session Manager プラグインをインストールする必要がある。Microsoft Windows Server、macOS、Linux、および Ubuntu Server のサポート対象のバージョンにプラグインをインストールできる。

※インバウンドポートを開いたり、踏み台ホストを維持したり、SSHキーを管理が不要

・ポートに依存しない非SSHのセッションを確立できる。また、セッション中に実行されたコマンドをCloudWatch Logs に保存できる。

・アカウント内のインスタンスとのセッションを開始できる。セッションの開始後、他の接続タイプと同様、Powershellコマンドを実行できる。

・SSHセッション中に実行したコマンドのログを保持し、ポートフォワーディング機能を維持する。

  • ポートフォワーディング
    【パケットの転送指定】
    インターネットから特定のポート番号宛てに届いたパケットを、あらかじめ設定しておいたLAN側の機器に転送する機能。

【セキュアなアクセス】

下記、要件を保証する。

  • プラットフォーム
    EC2インスタンスへの簡単なワンクリックのクロスプラットフォームアクセスの提供。
  • 堅牢なアクセス要件
    インスタンスへの制御されたアクセス、厳格なセキュリティプラクティス、インスタンスアクセスの詳細を含む、完全に監査可能なログ環境を提供。

    ・インバウンドポートを開かずに、セキュアなインスタンスへのアクセスを提供できる。

    ・エンジニアが実行するコマンドの監査を提供し、エンジニアのアクションが完全に監査可能になる。

Run Command
【大規模なコマンド操作】

一般的な管理タスクを自動化し、臨時(または1回限り)の大規模な設定変更を実行できる。
※サーバ群の上でリモートコマンド実行

・AWSマネジメントコンソールからWindows サーバーのPowerShellスクリプトを実行できる。

・CLIを介してEC2インスタンスマネージドノードの設定を安全にリモートで管理ができる。

スケジュールに従ってマネージドノードをスキャンしてコンプライアンスをレポートしたり、利用可能なパッチをインストールしたり、必要に応じてターゲット オンデマンドへのパッチの適用やスキャンを行ったりするオプションがある。

State Manager
【設定の維持】

EC2 とハイブリッドインフラストラクチャを定義された状態に保つプロセスを自動化する、安全かつスケーラブルな設定管理サービス。
運用チームが望む状態(特定のソフトウェアがインストールされている、ポートが閉じているなど)を定義し、それを自動的に適用・維持する

【一例】

・起動時に特定のソフトウェアを使用してインスタンスをブートストラップする
・ライフサイクルを通じてソフトウェアの更新でインスタンスをパッチする。
・ライフサイクルを通じて Linux および Windows マネージドインスタンスでスクリプトを実行。
・インスタンスを Windowsドメインに結合する (Windows Server インスタンスのみ)。
・定義済みのスケジュールに従ってエージェント(SSMエージェントなど) をダウンロードして更新。

【State Manager の前提条件
利用するにあたり、EC2には以下のような条件が必要。

・適切なRole(ProfileがEC2へ割り当たっている事)の準備。

・インターネットへの接続、もしくはSSM Endpointsへの接続が可能なこと。

・ステートマネージャーでログを出力するため、ログ用のバケットへの書き込み権限があること。

Patch Manager
【パッチの迅速適用】

指定ルールに基づいたサーバ群へのパッチ適用。問題の迅速な特定と修正パッチ適用が可能。セキュリティアップデートその他の更新を、マネージドインスタンスに自動的に適用。(Windows Server、Ubuntu Server、RHEL、SLES、CentOS、Amazon Linux 1/2を対象)

・インスタンスをスキャンして、不足しているパッチのみをレポート。

・必要に応じて、不足パッチを自動インストールも可能。

・System Managerエージェントによって、リソースの更新、管理、設定を実施できる。

・パッチ承認ルール(例:リリース後数日で自動承認)や承認/拒否パッチのリストを設定可能。

【タグによる管理】
EC2タグを使って、個別インスタンスやグループ単位でパッチ適用の対象を指定。タグはパッチベースラインにも追加可能。

【メンテナンスのスケジューリング】
Systems Managerのメンテナンスウィンドウ機能で、パッチ適用を定期的にスケジュール可能。オペレーションシステムのパッチ適用、ドライバー更新、ソフトウェアやパッチのインストールなど、インスタンスに対して中断の可能性があるアクションを実行するスケジュールを定義できる。

【自動承認の遅延】
パッチがリリースまたは最後に更新されてから自動承認されて適用されるまでの待機日数。
【例】
CriticalUpdates 分類を使用してルールを作成し、自動承認の遅延として 7 日間を設定した場合、7 月 7 日にリリースされた新しい重要なパッチは 7 月 14 日に自動的に承認される。

Distributor
【パッケージ運用】

サーバへのパッケージ配信およびインストール。

・アカウントにソフトウェアパッケージを安全に保存、配布するために使用。

・ソフトウェアをパッケージ化して Systems Managerマネージドノードへの公開に役立つ。

・管理対象となっている複数のマネージドインスタンスに対してAWSで公開されたパッケージ化された(既存含む)ソフトウェアを新規作成またはデプロイ、配布することができる。

〇パッケージ作成

Distributor でパッケージを作成すると、システムに SSM ドキュメントが作成。
このドキュメントに .zip ファイルを添付できる。

Distributor を実行すると、システムは SSM ドキュメントにある指示を処理し、指定されたターゲットに .zip ファイルのソフトウェアパッケージをインストールする。

〇パッケージ展開

独自のソフトウェアをパッケージ化して公開したり、Distributor を使用して、CloudWatchAgent などの AWS から提供されるエージェントソフトウェアパッケージ、または Trend Micro などのサードパーティーパッケージを検索して公開することができる。

パッケージの公開により、ノード ID、AWS アカウント ID、タグ、または AWS リージョン を使用して特定のマネージドノードに、パッケージのドキュメントの特定のバージョンを公開できる。

【変更管理】

Automation
【タスク自動化】

ランブックを使用してEC2 やその他の AWS リソースのオペレーションやメンテナンス、デプロイ作業を自動化する。

📘 主な機能と特徴

  • **Runbook(ランブック)**を使用して作業手順を定義:
    • AWSが提供するテンプレートを利用。
    • または自分でカスタムRunbookを作成可能。
  • Amazon EventBridgeと連携して通知を受信可能。
  • Systems Managerコンソールから進行状況をモニタリング可能
  • Document
    自動化したい一連の処理を定義。
    事前定義されたものを選択することもできれば、自前で作成することもできる。

◇機能性

[情報を展開する]
機能カテゴリ実装例・説明
同時実行制限maxConcurrency パラメータで、同時に処理するターゲット数を制限可能。過負荷や予期せぬ影響を防止する。
エラーしきい値maxErrors パラメータで、許容可能なエラー数を指定し、それを超えると自動化を停止する。
承認ステップaws:approve アクションを使って、特定のステップで、指定ユーザーの承認を求めることが可能。
入力バリデーションallowedValuesallowedPattern を使って、パラメータの不正入力を防止。
ログと監査CloudWatch Logs や CloudTrail に記録し、実行履歴やトラブルシュートに活用。

  • オートメーションランブック
    【実行アクション定義】
    Systems ManagerがマネージドインスタンスとAWSのリソースに実行するアクションの定義を行う。
    Automationには事前にランブックが用意されており、EC2の再起動など一般的なタスクも使用するできる。

    【自動アクション】
    Automationにはステップというものがあり、各ステップごとにAutomationを関連付ける。
  • オートメーションクォーター
    AWSアカウントはAutomationを同時に100個実行できる。
    100以上の実行は保留中のステータスになる。
  • オートメーションキューのクォータ
    100個の同時Automationの数より多くのAutomationを実行しようとすると、後続にAutomationが追加。
    追加制限として、最大1000個までキューに保存できる。
  • レート制御のオートメーションクォータ
    AWSアカウントは最大25個のレート制御のオートメーションを同時実行できる。
    25個より多くの実行すると保留中のステータスになる。
  • レート制御のオートメーションキューのクォータ
    最大25個のレート制御のAutomationより多くのAutomationを実行すると、後続にAutomationが追加。
    最大1000個のレート制御のAutomationをキューに追加できる。

Maintenance Windows
【タスクの実行・管理】

タスクのスケジュール管理。

・タグを作成または更新するときに、タグをメンテナンスウインドウに追加できる。

・各メンテナンスウインドウには、スケジュール、最長期間、登録されたターゲットのセット(実行されるインスタンス)、登録されたタスクのセットがある。

ノードに対して破壊的になり得るアクションを実行する下記のようなスケジュールを定義できる。

・オペレーティングシステムのパッチ適用
・ソフトウェアやパッチのインストール
・ドライバーの更新など


※Amazon S3バケット、Amazon SQS キュー、AWS KMS キーなど、他の AWS リソースタイプでアクションをスケジュールできる。

No responses yet

コメントを残す

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

error: Content is protected !!