State Manager または Maintenance Windows の選択 - AWS Systems Manager

State Manager または Maintenance Windows の選択

AWS Systems Manager の機能である State Manager と Maintenance Windows では、マネージドインスタンスで同様の種類の更新を実行できます。どちらを選択するかは、システムコンプライアンスを自動化する必要があるか、指定した期間中に優先度の高い、時間的制約のあるタスクを実行するかによって異なります。

State Manager および Maintenance Windows: 主要なユースケース

AWS Systems Manager の一機能である State Manager は、 AWS アカウント 内のマネージドインスタンスおよび AWS リソースに対して必要な構成ステートを設定および維持します。構成とターゲットの組み合わせを関連付けオブジェクトとして定義できます。State Manager は、アカウント内のすべてのマネージドインスタンスを一貫性のある状態で維持する場合、Amazon EC2 Auto Scaling を使用して新しいインスタンスを生成する場合、またはアカウント内のマネージドインスタンスに対して厳格なコンプライアンスレポート要件がある場合は、推奨される機能です。

State Manager の主なユースケースは次のとおりです。

  • Auto Scaling シナリオ: State Manager は、アカウント内で起動されたすべての新しいインスタンスを手動または Auto Scaling グループを通じて監視できます。その新しいインスタンスを対象とする関連付けがアカウント内に存在する場合 (タグまたはすべてのインスタンス経由)、その特定の関連付けは新しいインスタンスに自動的に適用されます。

  • コンプライアンスレポート作成: State Manager はアカウント内のリソースに必要な状態のコンプライアンスレポート作成を促進できます。

  • すべてのインスタンスをサポート: State Manager は特定のアカウント内のすべてのインスタンスを対象にできます。

メンテナンスウィンドウ は、特定のタイムウィンドウにある AWS リソースに対して 1 つ以上のアクションを実行します。開始時刻と終了時刻を持つメンテナンスウィンドウを 1 つ定義できます。このメンテナンスウィンドウ内で実行するタスクは複数指定できます。マネージドインスタンスのパッチ適用、更新期間中にインスタンスで複数のタイプのタスクの実行、インスタンスで更新オペレーションを実行できるタイミングの制御などが優先度の高いオペレーションに含まれる場合に、AWS Systems Manager の一機能である Maintenance Windows を使用します。

Maintenance Windows の主なユースケースは次のとおりです。

  • 複数のドキュメントの実行: メンテナンスウィンドウで複数のタスクを実行できます。タスクごとに異なるドキュメントタイプを使用できます。その結果、1 つのメンテナンスウィンドウ内でさまざまなタスクを使用して、複雑なワークフローを構築できます。

  • パッチ適用: メンテナンスウィンドウでは、特定のタグまたはリソースグループでタグ付けされたアカウント内のすべてのマネージドインスタンスのパッチ適用サポートを提供できます。パッチ適用には通常、インスタンスの停止 (例: ロードバランサーからのインスタンスの削除)、パッチ適用、後処理 (インスタンスを本番環境に戻す) が含まれるため、パッチ適用は特定のパッチ時間枠内で一連のタスクとして実行できます。

  • ウィンドウアクション: メンテナンスウィンドウでは、1 つまたは複数のアクションセットを、特定のタイムウィンドウ内で開始できます。メンテナンスウィンドウは、そのウィンドウの外では開始されません。既に開始されたアクションは、タイムウィンドウの外で終了した場合でも、終了するまで続行されます。

次の表は、State Manager と Maintenance Windows の主な機能を比較したものです。

機能 State Manager Maintenance Windows

AWS CloudFormation の統合

AWS CloudFormation テンプレートは State Manager 関連付けをサポートします。

AWS CloudFormation テンプレートは、メンテナンスウィンドウ、ウィンドウターゲット、ウィンドウタスクをサポートします。

コンプライアンス

すべての State Manager 関連付けは、ターゲットリソースの目的の状態に関するコンプライアンスをレポートします。コンプライアンスダッシュボードを使用して、レポートされたコンプライアンスを集計して表示できます。

該当しません。

設定管理の統合

State Manager は、Microsoft PowerShell Desired State Configuration (DSC)、Ansible Playbook、Chef レシピなどの外部の目的の状態ソリューションをサポートします。State Manager 関連付けを使用して、Configuration Management ソリューションが機能するかテストし、準備ができたら設定変更をインスタンスに適用できます。

該当しません。

ドキュメント

State Manager 設定は、ポリシードキュメント (インベントリ情報の収集用)、オートメーションランブック (Amazon Simple Storage Service (Amazon S3) バケットなどの AWS リソース用)、またはマネージドインスタンス用の Systems Manager コマンドドキュメント (SSM ドキュメント) として定義できます。

Maintenance Windows 構成は、オートメーションドキュメント (オプションの承認ワークフローを使用した複数ステップのアクション) または SSM ドキュメント (マネージドインスタンスの目的の状態) として定義できます。

モニタリング

State Manager は、インスタンスの設定、関連付け、または状態の変化 (オンラインになった新しいインスタンスなど) を監視します。State Manager がこれらの変更を検出すると、指定された関連付けは、その関連付けを最初にターゲットとするインスタンスに再適用されます。

該当しません。

タスク内の優先度

該当しません。

メンテナンスウィンドウ内のタスクには、優先順位を割り当てることができます。同じ優先順位にあるすべてのタスクは並行して実行されます。優先順位の低いタスクは、優先順位の高いタスクが最終状態に達した後に実行されます。条件付きでタスクを実行する方法はありません。優先順位の高いタスクが最終状態に達すると、前のタスクの状態に関係なく、次の優先順位のタスクが実行されます。

安全管理

State Manager は、大規模なフリートにまたがって構成を展開する際に、2 つの安全管理をサポートします。最大同時実行性を使用して、設定を適用する同時インスタンスまたはリソースの数を定義できます。フリート全体で特定の数または割合のエラーが発生した場合に State Manager 関連付けを一時停止するために使用できる、最大エラー率を定義できます。

メンテナンスウィンドウは、大規模なフリートにまたがって構成を展開する際に、2 つの安全管理をサポートします。最大同時実行性を使用して、設定を適用する同時インスタンスまたはリソースの数を定義できます。フリート全体で特定の数または割合のエラーが発生した場合にメンテナンスウィンドウ内のアクションを一時停止するために使用できる、最大エラー率を定義できます。

スケジューリング

State Manager 関連付けは、オンデマンド、特定の cron 間隔、特定のレート、または作成時に 1 回実行できます。これは、リソースの目的の状態を、一貫してタイムリーに維持する場合に便利です。

メンテナンスウィンドウは、at 式 (例: "at(2021-07-07T13:15:30)")、cron および rate 式、オフセット付きの cron、メンテナンスウィンドウの実行開始時間と終了時間、特定の時間ウィンドウ内でスケジュールを停止するタイミングを指定するカットオフ時間など、複数のスケジューリングオプションをサポートしています。

ターゲティング

State Manager 関連付けは、インスタンス ID、タグ、またはリソースグループを使用して、1 つ以上のインスタンスをターゲットにすることができます。State Manager は、特定のアカウント内のすべてのマネージドインスタンスをターゲットにできます。

メンテナンスウィンドウは、インスタンス ID、タグ、またはリソースグループを使用して、1 つ以上のインスタンスをターゲットにすることができます。

メンテナンスウィンドウ内のタスク

該当しません。

メンテナンスウィンドウは、各タスクが特定の Automation ランブックまたはコマンドドキュメントのアクションを対象とする 1 つ以上のタスクをサポートできます。メンテナンスウィンドウ内のすべてのタスクは、タスクごとに異なる優先順位が設定されていない限り、並行して実行されます。

メンテナンスウィンドウでは、次の 4 つのタスクタイプがサポートされています。

  • AWS Systems Manager Run Command コマンド

  • AWS Systems Manager Automation ワークフロー

  • AWS Lambda 関数

  • AWS Step Functions タスク