ステートマネージャー または メンテナンスウィンドウ の選択 - AWS Systems Manager

ステートマネージャー または メンテナンスウィンドウ の選択

ステートマネージャー と メンテナンスウィンドウ は、マネージドインスタンスに対して同じような種類の更新を実行できます。どちらを選択するかは、システムコンプライアンスを自動化する必要があるか、指定した期間中のみ優先度の高い、時間的制約のあるタスクを実行するかによって異なります。

ステートマネージャー および メンテナンスウィンドウ: 主要なユースケース

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

ステートマネージャー の主なユースケースは次のとおりです。

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

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

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

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

メンテナンスウィンドウ の主なユースケースは次のとおりです。

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

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

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

次の表は、ステートマネージャー と メンテナンスウィンドウ の主な機能を比較したものです。

機能 ステートマネージャー メンテナンスウィンドウ

AWS CloudFormation 統合

AWS CloudFormation テンプレートは ステートマネージャー 関連付けをサポートします。

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

コンプライアンス

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

該当しません。

設定管理の統合

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

該当しません。

ドキュメント

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

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

Monitoring

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

該当しません。

タスク内の優先度

該当しません。

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

安全管理

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

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

スケジューリング

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

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

ターゲティング

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

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

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

該当しません。

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

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

  • Systems Manager Run Command コマンド

  • Systems Manager オートメーションワークフロー

  • AWS Lambda 関数

  • AWS Step Functions タスク