

• AWS Systems Manager CloudWatch ダッシュボードは、2026 年 4 月 30 日以降は利用できなくなります。お客様は、これまでと同様に Amazon CloudWatch コンソールを使用して、Amazon CloudWatch ダッシュボードの表示、作成、管理を継続できます。詳細については、「[Amazon CloudWatch ダッシュボードのドキュメント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)」を参照してください。

# メンテナンスウィンドウによるオートメーションのスケジュール設定
<a name="scheduling-automations-maintenance-windows"></a>

ランブックをメンテナンスウィンドウの登録済みタスクとして設定することで、オートメーションを開始できます。ランブックを登録済みタスクとして登録することにより、メンテナンスウィンドウはスケジュールされたメンテナンス期間中にオートメーションを実行します。

例えば、メンテナンスウィンドウのターゲットとして登録されたインスタンスの Amazon Machine Image (AMI) を作成する `CreateAMI` という名前のランブックを作成するとします。`CreateAMI` ランブック (および対応するオートメーション) をメンテナンスウィンドウの登録済みタスクとして指定するには、まずメンテナンスウィンドウを作成してターゲットを登録します。次に、以下の手順を使用して、メンテナンスウィンドウ内で登録済みタスクとして `CreateAMI` ドキュメントを指定します。スケジュールされた期間中にメンテナンスウィンドウが開始されると、システムはオートメーションを実行し、登録されたターゲットの AMI を作成します。

オートメーションランブックの作成については、「[独自のランブックの作成](automation-documents.md)」を参照してください。Automation は AWS Systems Manager のツールです。

以下の手順を使用し、AWS Systems Manager コンソール、AWS Command Line Interface (AWS CLI)、または AWS Tools for Windows PowerShell を使用して、オートメーションをメンテナンスウィンドウの登録済みタスクとして設定します。

## オートメーションタスクをメンテナンスウィンドウに登録する (コンソール)
<a name="register-automation-task-maintenance-window-console"></a>

次の手順では、Systems Manager コンソールを使用して、オートメーションをメンテナンスウィンドウの登録済みタスクとして設定する方法を説明します。

**開始する前に**  
次の手順を完了する前に、メンテナンスウィンドウを作成し、少なくとも 1 つのターゲットを登録する必要があります。詳細については、次の手順を参照してください。
+ [コンソールを使用してメンテナンスウィンドウを作成する](sysman-maintenance-create-mw.md).
+ [コンソールを使用してメンテナンスウィンドウにターゲットを割り当てる](sysman-maintenance-assign-targets.md)

**メンテナンスウィンドウの登録されたタスクとしてオートメーションを設定するには**

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

1. 左側のナビゲーションペインで、[**Maintenance Windows**] を選択してから、自動化タスクの登録に使用するメンテナンスウィンドウを選択します。

1. [**Actions**] を選択します。次に、[**Register Automation task (オートメーションタスクの登録)**] を選択して、ランブックを使用してターゲット上でオートメーションを選択して実行します。

1. [**Name (名前)**] に、タスクの名前を入力します。

1. [**説明**] に説明を入力します。

1. [**Document (ドキュメント)**] で、実行するタスクを定義するランブックを選択します。

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

1. **[Task priority (タスクの優先度)**] で、このタスクの優先度を指定します。`1` が最高の優先度です。メンテナンスウィンドウのタスクは、優先度順にスケジュールされ、優先度が同じタスクは並行してスケジュールされます。

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

   ターゲットを必要としないメンテナンスウィンドウタスクについては、[ターゲットのないメンテナンスウィンドウタスクを登録](maintenance-windows-targetless-tasks.md) を参照してください。

1. (オプション) [**レートの制御**] で、以下の操作を行います。
**注記**  
実行中のタスクでターゲットが指定されていない場合は、レートコントロールを指定する必要はありません。
   + [**Concurrency (同時実行数)**] には、オートメーションを同時に実行するターゲットの数または割合 (%) を指定します。

     タグのキーと値のペアを選択してターゲットを選択し、選択したタグを使用するターゲットの数がわからない場合は、割合を指定して同時に実行できるオートメーションの数を制限します。

     メンテナンスウィンドウが実行されると、ターゲットごとに新しいオートメーションが開始されます。1 つのにつき 100 の同時オートメーションの制限がありますAWS アカウント 100 個を超える同時実行率を指定した場合、100 個を超える同時オートメーションはオートメーションキューに自動的に追加されます。詳細については、「Amazon Web Services 全般のリファレンス」の「[System Manager Service Quotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)」を参照してください。
   + [**Error threshold (エラーしきい値)**] には、ターゲットの失敗後に他のターゲットでオートメーションの実行を停止するタイミングを、ターゲットの数または割合によって指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると Systems Manager はオートメーションの実行を停止します。まだオートメーションを処理しているターゲットもエラーを送信する可能性があります。

1. [**Input Parameters (入力パラメータ)**] セクションで、ランブックのパラメータを指定します。ランブックの場合、システムによって一部の値が自動的に設定されます。これらの値はそのままにすることも置き換えることもできます。
**重要**  
ランブックの場合、オプションでオートメーションの引き受けロールを指定できます。このパラメータにロールを指定しない場合、オートメーションは、ステップ 11 で選択したメンテナンスウィンドウサービスロールを継承します。そのため、選択したメンテナンスウィンドウサービスロールに、ランブック内で定義されているアクションを実行するための適切な AWS Identity and Access Management (IAM) アクセス許可があることを確認する必要があります。  
例えば、Systems Manager のサービスにリンクされたロールには、ランブック `ec2:CreateSnapshot` を実行するために必要な IAM アクセス許可 `AWS-CopySnapshot` がありません。このシナリオでは、カスタムのメンテナンスウィンドウサービスロールを使用するか、または `ec2:CreateSnapshot` アクセス許可を持つ自動化継承ロールを指定する必要があります。詳細については、「[オートメーションの設定](automation-setup.md)」を参照してください。

1. **[IAM service role]** (IAM サービスロール) 領域でロールを選択し、Systems Manager がオートメーションを開始するためのアクセス許可を付与します。

   メンテナンスウィンドウのタスク用にサービスロールを作成するには、「[Maintenance Windows を設定する](setting-up-maintenance-windows.md)」を参照してください。

1. [**Register Automation task (自動化タスクの登録)**] を選択します。

## オートメーションタスクをメンテナンスウィンドウに登録する (コマンドライン)
<a name="register-automation-task-maintenance-window-cli"></a>

次の手順では、AWS CLI (Linux または Windows Server) または AWS Tools for PowerShell を使用して、オートメーションをメンテナンスウィンドウの登録済みタスクとして設定する方法を説明します。

**[開始する前に]**  
次の手順を完了する前に、メンテナンスウィンドウを作成し、少なくとも 1 つのターゲットを登録する必要があります。詳細については、次の手順を参照してください。
+ [ステップ 1: AWS CLI を使用してメンテナンスウィンドウを作成する](mw-cli-tutorial-create-mw.md).
+ [ステップ 2: AWS CLI を使用してメンテナンスウィンドウにターゲットノードを登録する](mw-cli-tutorial-targets.md)

**メンテナンスウィンドウの登録されたタスクとしてオートメーションを設定するには**

1. まだ AWS CLI または AWS Tools for PowerShell をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」および「[AWS Tools for PowerShell のインストール](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)」を参照してください。

1. オートメーションをメンテナンスウィンドウの登録済みタスクとして設定するコマンドを作成します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

------
#### [ Linux & macOS ]

   ```
   aws ssm register-task-with-maintenance-window \
   --window-id window ID \
   --name task name \
   --task-arn runbook name \
   --targets Key=targets,Values=value \
   --service-role-arn IAM role arn \
   --task-type AUTOMATION \
   --task-invocation-parameters task parameters \
   --priority task priority \
   --max-concurrency 10% \
   --max-errors 5
   ```

**注記**  
AWS CLI を使用してオートメーションを登録済みタスクとして設定する場合、`--Task-Invocation-Parameters` パラメータを使用して、実行時にタスクに渡すパラメータを指定します。`--Task-Parameters` パラメータは使用しないでください。`--Task-Parameters` パラメータはレガシーパラメータです。  
ターゲットが指定されていないメンテナンスウィンドウタスクの場合、`--max-errors` と `--max-concurrency` の値は指定できません。代わりに、システムはプレースホルダ値として `1` を挿入します。これは [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-maintenance-window-tasks.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-maintenance-window-tasks.html) や [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-maintenance-window-task.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-maintenance-window-task.html) などのコマンドへのレスポンスで報告されることがあります。これらの値は、タスクの実行には影響しないため、無視できます。  
ターゲットを必要としないメンテナンスウィンドウタスクについては、[ターゲットのないメンテナンスウィンドウタスクを登録](maintenance-windows-targetless-tasks.md) を参照してください。

------
#### [ Windows ]

   ```
   aws ssm register-task-with-maintenance-window ^
   --window-id window ID ^
   --name task name ^
   --task-arn runbook name ^
   --targets Key=targets,Values=value ^
   --service-role-arn IAM role arn ^
   --task-type AUTOMATION ^
   --task-invocation-parameters task parameters ^
   --priority task priority ^
   --max-concurrency 10% ^
   --max-errors 5
   ```

**注記**  
AWS CLI を使用してオートメーションを登録済みタスクとして設定する場合、`--task-invocation-parameters` パラメータを使用して、実行時にタスクに渡すパラメータを指定します。`--task-parameters` パラメータは使用しないでください。`--task-parameters` パラメータはレガシーパラメータです。  
ターゲットが指定されていないメンテナンスウィンドウタスクの場合、`--max-errors` と `--max-concurrency` の値は指定できません。代わりに、システムはプレースホルダ値として `1` を挿入します。これは [https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-maintenance-window-tasks.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-maintenance-window-tasks.html) や [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-maintenance-window-task.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-maintenance-window-task.html) などのコマンドへのレスポンスで報告されることがあります。これらの値は、タスクの実行には影響しないため、無視できます。  
ターゲットを必要としないメンテナンスウィンドウタスクについては、[ターゲットのないメンテナンスウィンドウタスクを登録](maintenance-windows-targetless-tasks.md) を参照してください。

------
#### [ PowerShell ]

   ```
   Register-SSMTaskWithMaintenanceWindow `
   -WindowId window ID `
   -Name "task name" `
   -TaskArn "runbook name" `
   -Target @{ Key="targets";Values="value" } `
   -ServiceRoleArn "IAM role arn" `
   -TaskType "AUTOMATION" `
   -Automation_Parameter @{ "task parameter"="task parameter value"} `
   -Priority task priority `
   -MaxConcurrency 10% `
   -MaxError 5
   ```

**注記**  
AWS Tools for PowerShell を使用してオートメーションを登録済みタスクとして設定する場合、`-Automation_Parameter` パラメータを使用して、タスクの実行時にタスクに渡すパラメータを指定します。`-TaskParameters` パラメータは使用しないでください。`-TaskParameters` パラメータはレガシーパラメータです。  
ターゲットが指定されていないメンテナンスウィンドウタスクの場合、`-MaxError` と `-MaxConcurrency` の値は指定できません。代わりに、システムはプレースホルダ値として 1 を挿入します。これは `Get-SSMMaintenanceWindowTaskList` や `Get-SSMMaintenanceWindowTask` などのコマンドへのレスポンスで報告されることがあります。これらの値は、タスクの実行には影響しないため、無視できます。  
ターゲットを必要としないメンテナンスウィンドウタスクについては、[ターゲットのないメンテナンスウィンドウタスクを登録](maintenance-windows-targetless-tasks.md) を参照してください。

------

   次の例では、優先度 1 のメンテナンスウィンドウの登録済みタスクとしてオートメーションを設定します。また、ターゲットレスメンテナンスウィンドウタスクの `--targets`、`--max-errors`、`--max-concurrency` オプションの省略についても説明します。オートメーションは `AWS-StartEC2Instance` ランブックおよび指定されたオートメーション継承ロールを使用して、メンテナンスウィンドウにターゲットとして登録済みの EC2 インスタンスを起動します。メンテナンスウィンドウは、所定の時点で最大 5 個のインスタンスでオートメーションを同時に実行します。また、エラー数が 1 を超えた場合、この登録済みタスクは特定の間隔で、それ以上のインスタンスで実行されなくなります。

------
#### [ Linux & macOS ]

   ```
   aws ssm register-task-with-maintenance-window \
   --window-id mw-0c50858d01EXAMPLE \
   --name StartEC2Instances \
   --task-arn AWS-StartEC2Instance \
   --service-role-arn arn:aws:iam::123456789012:role/MaintenanceWindowRole \
   --task-type AUTOMATION \
   --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{TARGET_ID}}\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationAssumeRole\"]}}}" \
   --priority 1
   ```

------
#### [ Windows ]

   ```
   aws ssm register-task-with-maintenance-window ^
   --window-id mw-0c50858d01EXAMPLE ^
   --name StartEC2Instances ^
   --task-arn AWS-StartEC2Instance ^
   --service-role-arn arn:aws:iam::123456789012:role/MaintenanceWindowRole ^
   --task-type AUTOMATION ^
   --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{TARGET_ID}}\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationAssumeRole\"]}}}" ^
   --priority 1
   ```

------
#### [ PowerShell ]

   ```
   Register-SSMTaskWithMaintenanceWindow `
   -WindowId mw-0c50858d01EXAMPLE `
   -Name "StartEC2" `
   -TaskArn "AWS-StartEC2Instance" `
   -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowRole" `
   -TaskType "AUTOMATION" `
   -Automation_Parameter @{ "InstanceId"="{{TARGET_ID}}";"AutomationAssumeRole"="arn:aws:iam::123456789012:role/AutomationAssumeRole" } `
   -Priority 1
   ```

------

   このコマンドでは、次のような新しい登録済みタスクの詳細が返されます。

------
#### [ Linux & macOS ]

   ```
   {
   "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
   }
   ```

------
#### [ Windows ]

   ```
   {
   "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
   }
   ```

------
#### [ PowerShell ]

   ```
   4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
   ```

------

1. 登録済みタスクを表示するには、次のコマンドを実行します。*[Maintenance windows ID]* (メンテナンスウィンドウ ID) をユーザー自身の情報に置き換えます。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-maintenance-window-tasks \
   --window-id maintenance window ID
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-maintenance-window-tasks ^
   --window-id maintenance window ID
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMMaintenanceWindowTaskList `
   -WindowId maintenance window ID
   ```

------

   システムが以下のような情報を返します。

------
#### [ Linux & macOS ]

   ```
   {
   "Tasks": [
       {
           "ServiceRoleArn": "arn:aws:iam::123456789012:role/MaintenanceWindowRole",
           "MaxErrors": "1",
           "TaskArn": "AWS-StartEC2Instance",
           "MaxConcurrency": "1",
           "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
           "TaskParameters": {},
           "Priority": 1,
           "WindowId": "mw-0c50858d01EXAMPLE",
           "Type": "AUTOMATION",
           "Targets": [
           ],
           "Name": "StartEC2"
       }
   ]
   }
   ```

------
#### [ Windows ]

   ```
   {
   "Tasks": [
       {
           "ServiceRoleArn": "arn:aws:iam::123456789012:role/MaintenanceWindowRole",
           "MaxErrors": "1",
           "TaskArn": "AWS-StartEC2Instance",
           "MaxConcurrency": "1",
           "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
           "TaskParameters": {},
           "Priority": 1,
           "WindowId": "mw-0c50858d01EXAMPLE",
           "Type": "AUTOMATION",
           "Targets": [
           ],
           "Name": "StartEC2"
       }
   ]
   }
   ```

------
#### [ PowerShell ]

   ```
   Description    : 
   LoggingInfo    : 
   MaxConcurrency : 5
   MaxErrors      : 1
   Name           : StartEC2
   Priority       : 1
   ServiceRoleArn : arn:aws:iam::123456789012:role/MaintenanceWindowRole
   Targets        : {}
   TaskArn        : AWS-StartEC2Instance
   TaskParameters : {}
   Type           : AUTOMATION
   WindowId       : mw-0c50858d01EXAMPLE
   WindowTaskId   : 4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE
   ```

------