コンソールを使用してメンテナンスウィンドウにタスクを割り当てる - AWS Systems Manager

コンソールを使用してメンテナンスウィンドウにタスクを割り当てる

この手順では、タスクをメンテナンスウィンドウに追加します。タスクは、メンテナンスウィンドウ実行時に実行されるアクションです。

以下の 4 種類のタスクをメンテナンスウィンドウに追加することができます。

  • AWS Systems Manager Run Command コマンド

  • Systems Manager Automation ワークフロー

  • AWS Step Functions タスク

  • AWS Lambda 関数

    重要

    Maintenance Windows の IAM ポリシーでは、Lambda 関数名 (またはエイリアス) の前にプレフィックス SSM を付ける必要があります。このタイプのタスクを登録する前に、AWS Lambda で SSM を含めるようにその名前を更新します。例えば、Lambda 関数名が MyLambdaFunction の場合は、SSMMyLambdaFunction に変更します。

メンテナンスウィンドウにタスクを割り当てるには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Maintenance Windows] を選択します。

  3. メンテナンスウィンドウのリストで、メンテナンスウィンドウを選択します。

  4. [アクション] を選択してから、メンテナンスウィンドウに登録するタスクの種類に応じたオプションを選択します。

    • Run コマンドタスクの登録

    • オートメーションタスクの登録

    • Lambda タスクの登録

    • Step Functions タスクの登録

      注記

      メンテナンスウィンドウタスクは、Step Functions 標準ステートマシンワークフローのみをサポートします。Express ステートマシンワークフローはサポートされていません。ステートマシンワークフロータイプの詳細については、「AWS Step Functions デベロッパーガイド」の「標準ワークフローと Express ワークフロー」を参照してください。

  5. (オプション) [名前] にタスクの名前を入力します。

  6. (オプション) [説明] に説明を入力します。

  7. 新しいタスク呼び出しのカットオフで、メンテナンスウィンドウのカットオフ時間に達した後に新しいタスク呼び出しを開始したくない場合は、[有効] を選択します。

    このオプションが有効でない場合、カットオフ時間に達してもタスクの実行が継続され、完了するまで新しいタスク呼び出しが開始されます。

    注記

    このオプションを有効にすると、完了しないタスクのステータスは TIMED_OUT です。

  8. このステップでは、選択したタスクタイプのタブを選択します。

    Run Command
    1. [コマンドドキュメント] リストで、実行するタスクを定義する Systems Manager コマンドドキュメント (SSM ドキュメント) を選択します。

    2. [Document version (ドキュメントのバージョン)] で、使用するドキュメントのバージョンを選択します。

    3. [タスクの優先順位] で、このタスクの優先度を指定します。ゼロ (0) が最高の優先度になります。メンテナンスウィンドウのタスクは、優先度順にスケジュールされ、優先度が同じタスクは並行してスケジュールされます。

    Automation
    1. [オートメーションドキュメント] リストで、実行するタスクを定義するオートメーションランブックを選択します。

    2. [Document version (ドキュメントのバージョン)] で、使用するランブックのバージョンを選択します。

    3. [タスクの優先順位] で、このタスクの優先度を指定します。ゼロ (0) が最高の優先度になります。メンテナンスウィンドウのタスクは、優先度順にスケジュールされ、優先度が同じタスクは並行してスケジュールされます。

    Lambda
    1. [Lambda パラメータ] エリアにあるリストから、Lambda 関数を選択します。

    2. (オプション) [Payload] (ペイロード)、[Client Context] (クライアントコンテキスト)、または [Qualifier] (修飾子) で、指定したい任意の内容を入力します。

      注記

      場合によっては、疑似パラメータを Payload 値の一部として使用できます。その後、メンテナンスウィンドウタスクが実行されると、擬似パラメータプレースホルダーの代わりに正しい値を渡します。詳細については、メンテナンスウィンドウのタスクを登録する際の疑似パラメータの使用 を参照してください。

    3. [タスクの優先順位] で、このタスクの優先度を指定します。ゼロ (0) が最高の優先度になります。メンテナンスウィンドウのタスクは、優先度順にスケジュールされ、優先度が同じタスクは並行してスケジュールされます。

    Step Functions
    1. [Step Functions パラメータ] のエリアにあるリストから、ステートマシンを選択します。

    2. (オプション) ステートマシンの実行の名前と、その他の指定したい情報を、[Input] (入力) に入力します。

      注記

      場合によっては、疑似パラメータを Input 値の一部として使用できます。その後、メンテナンスウィンドウタスクが実行されると、擬似パラメータプレースホルダーの代わりに正しい値を渡します。詳細については、メンテナンスウィンドウのタスクを登録する際の疑似パラメータの使用 を参照してください。

    3. [タスクの優先順位] で、このタスクの優先度を指定します。ゼロ (0) が最高の優先度になります。メンテナンスウィンドウのタスクは、優先度順にスケジュールされ、優先度が同じタスクは並行してスケジュールされます。

  9. [ターゲット] 領域で、次のいずれかを選択します。

    • 登録済みターゲットグループの選択: 現在のメンテナンスウィンドウに登録したメンテナンスウィンドウターゲットを 1 つ以上選択します。

    • 未登録のターゲットの選択: タスクのターゲットとして、使用可能なリソースを 1 つずつ選択します。

      表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「マネージドノードの可用性のトラブルシューティング」を参照してください。

    • タスクターゲットは不要: タスクのターゲットは、Run Command タイプのタスク以外のすべての機能で既に指定されている可能性があります。

      メンテナンスウィンドウの Run Command タイプのタスクには、1つ以上のターゲットを指定します。タスクに応じて、他のメンテナンスウィンドウタスクタイプ (Automation、AWS Lambda、AWS Step Functions) に対するターゲットはオプションです。ターゲットを指定しないタスクの実行の詳細については、「ターゲットのないメンテナンスウィンドウタスクを登録」を参照してください。

      注記

      多くの場合、オートメーションタスクのターゲットを明示的に指定する必要はありません。例えば、AWS-UpdateLinuxAmi ランブックを使用して Linux 用の Amazon Machine Image (AMI) を更新するためのオートメーションタイプのタスクを作成するとします。このタスクが実行されると、AMI は最新の利用可能な Linux ディストリビューションパッケージと Amazon ソフトウェアを反映して更新されます。AMI から作成した新しいインスタンスには、これらの更新がインストール済みです。更新する AMI の ID はランブックの入力パラメータで指定されるため、メンテナンスウィンドウタスクでターゲットを再度指定する必要はありません。

  10. オートメーションタスクのみ:

    [Input parameters] (入力パラメータ) のエリアで、タスクの実行に必須のパラメータ値、またはオプションのパラメータ値を指定します。

    注記

    場合によっては、特定の入力パラメータ値に疑似パラメータを使用できます。その後、メンテナンスウィンドウタスクが実行されると、擬似パラメータプレースホルダーの代わりに正しい値を渡します。詳細については、メンテナンスウィンドウのタスクを登録する際の疑似パラメータの使用 を参照してください。

  11. [レート制御] の場合:

    • [同時実行数] の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。

      注記

      マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。

    • [エラーのしきい値] で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、Systems Manager はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

  12. (オプション) [IAM サービスロール] で、Systems Manager がメンテナンスウィンドウタスクの実行時期を推測するための許可を付与するロールを選択します。

    サービスロール ARN を指定しない場合、Systems Manager はアカウントのサービスにリンクされたロールを使用します。アカウントに Systems Manager 用の適切なサービスにリンクされたロールが存在しない場合は、タスクが正常に登録されるとロールが作成されます。

    注記

    セキュリティ体制を強化するために、メンテナンスウィンドウタスクを実行するためのカスタムポリシーとカスタムサービスロールを作成することを強くお勧めします。ポリシーは、特定のメンテナンスウィンドウタスクに必要なアクセス許可のみを提供するように作成できます。詳細については、「Maintenance Windows を設定する」を参照してください。

  13. Run Command タスクのみ:

    (オプション) [Output options] (出力オプション) で以下のいずれかを行います。

    • [S3 への書き込みを有効にする] チェックボックスをオンにして、コマンド出力をファイルに保存します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。

    • [CloudWatch 出力] チェックボックスを選択して、Amazon CloudWatch Logs に詳細な出力を書き込みます。CloudWatch Logs のロググループ名を入力します。

      注記

      S3 バケットまたは CloudWatch Logs にデータを書き込む機能を許可するアクセス許可は、このタスクを実行する IAM ユーザーのものではなく、ノードに割り当てられたインスタンスプロファイルのものです。詳細については、「Systems Manager に必要なインスタンスのアクセス許可を設定する」を参照してください。さらに、指定した S3 バケットまたはロググループが別の AWS アカウント にある場合は、ノードに関連付けられたインスタンスプロファイルに、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

  14. Run Command タスクのみ:

    [SNS Notifications (SNS 通知)] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[Enable SNS notifications (SNS 通知を有効にする)] チェックボックスをオンにします。

    Run Command 用の Amazon SNS 通知の設定の詳細については、「Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング」を参照してください。

  15. Run Command タスクのみ:

    [パラメータ] 領域で、ドキュメントのパラメータを指定します。

    注記

    場合によっては、特定の入力パラメータ値に疑似パラメータを使用できます。その後、メンテナンスウィンドウタスクが実行されると、擬似パラメータプレースホルダーの代わりに正しい値を渡します。詳細については、メンテナンスウィンドウのタスクを登録する際の疑似パラメータの使用 を参照してください。

  16. Run Command とオートメーションタスクのみ:

    (オプション) [CloudWatch アラーム] エリアの [アラーム名] で、モニタリング用のタスクに適用する既存の CloudWatch アラームを選択します。

    アラームが作動すると、タスクは停止されます。

    注記

    CloudWatch アラームをタスクにアタッチするには、タスクを実行する IAM プリンシパルに iam:createServiceLinkedRole アクションの権限が必要です。CloudWatch アラームの詳細については、「Amazon CloudWatch でのアラームの使用」を参照してください。

  17. タスプタイプに応じて、次のいずれかを選択します。

    • Run コマンドタスクの登録

    • オートメーションタスクの登録

    • Lambda タスクの登録

    • Step Functions タスクの登録