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

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

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

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

  • AWS Systems Manager Run Command コマンド

  • Systems Manager Automation ワークフロー

  • AWS Lambda 関数

    重要

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

  • AWS Step Functions タスク

メンテナンスウィンドウにタスクを割り当てるには

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

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

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

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

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

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

    • Lambda タスクの登録

    • Step Functions タスクの登録

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

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

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

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

    注記

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

  8. 次のいずれかを実行します。

    • Run Command タスクの場合: [Command document] (コマンドドキュメント) のリストから、実行するタスクを定義する Systems Manager コマンドドキュメント (SSM ドキュメント) を選択します。[Document version (ドキュメントのバージョン)] で、使用するドキュメントのバージョンを選択します。

    • オートメーションタスクの場合: [Automation document] (オートメーションドキュメント) のリストから、実行するタスクを定義しているオートメーションランブックを選択します。[Document version (ドキュメントのバージョン)] で、使用するランブックのバージョンを選択します。

    • Lambda タスクの場合: [Lambda parameters] (Lambda パラメータ) のエリアにあるリストから、Lambda 関数を選択します。(オプション) [Payload] (ペイロード)、[Client Context] (クライアントコンテキスト)、または [Qualifier] (修飾子) で、指定したい任意の内容を入力します。

    • Step Functions タスクの場合: [Step Functions parameters] (Step Functions パラメータ) のエリアにあるリストから、ステートマシンを選択します。(オプション) ステートマシンの実行の名前と、その他の指定したい情報を、[Input] (入力) に入力します。

  9. (オプション) Run Command およびオートメーションタスクでは、モニタリング用に適用する CloudWatch アラームを選択します。CloudWatch アラームをタスクにアタッチするには、タスクを実行する IAM プリンシパルに iam:createServiceLinkedRole アクションの権限が必要です。CloudWatch アラームの詳細については、「Amazon CloudWatch でのアラームの使用」を参照してください。アラームが作動すると、タスクは停止されます。

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

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

    • 登録済みターゲットグループの選択: 現在のメンテナンスウィンドウに登録したメンテナンスウィンドウターゲットを 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 はランブックの入力パラメータで指定されるため、メンテナンスウィンドウタスクでターゲットを再度指定する必要はありません。

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

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

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

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

      注記

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

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

  14. [IAM service role] (IAM サービスロール) エリアで、ターゲットノードでタスクを実行するための Systems Manager のアクセス許可を付与するために、ロールを選択します。

    メンテナンスウィンドウのタスク用にカスタムサービスロールを作成する必要がある場合は、「‭コンソールを使用して、メンテナンスウィンドウのアクセス許可を設定します。」を参照してください。

  15. Run Command タスクのみ:

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

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

      注記

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

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

  16. Run Command タスクのみ:

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

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

  17. Run Command タスクのみ:

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

  18. [Register task] を選択します。