

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

# 複数の AWS リージョン とアカウントでのオートメーションの実行
<a name="running-automations-multiple-accounts-regions"></a>

中央アカウントから、複数の AWS リージョン および AWS アカウント または AWS Organizations 組織単位 (OU) で AWS Systems Manager オートメーションを実行することができます。Automation は AWS Systems Manager のツールです。複数のリージョンやアカウント、または OU でオートメーションを実行すると、AWS リソースの管理に必要な時間が短縮され、コンピューティング環境のセキュリティが強化されます。

例えば、オートメーションランブックを使用して次を実行できます。
+ パッチ適用とセキュリティ更新を一元的に実装します。
+ VPC 設定や Amazon S3 バケットポリシーでコンプライアンスの問題を修正します。
+ Amazon Elastic Compute Cloud (Amazon EC2) EC2 インスタンスなどのリソースを、大規模に管理します。

次の図は、中央アカウントから、複数のリージョンおよびアカウントで `AWS-RestartEC2Instances` ランブックを実行しているユーザーの例を示しています。オートメーションは、対象のリージョンおよびアカウントで指定されたタグを使用してインスタンスを検索します。

![次の図は、複数のリージョンおよび複数のアカウントで実行されている Systems Manager Automation を示しています。](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/automation-multi-region-and-multi-account.png)


**オートメーション用の中央アカウントを選択する**  
OU 全体でオートメーションを実行する場合、中央アカウントには OU 内のすべてのアカウントを一覧表示する権限が必要です。これは、委任された管理者アカウントまたは組織の管理アカウントからのみ可能です。AWS Organizations ベストプラクティスに従い、委任された管理者アカウントを使用することをお勧めします。AWS Organizations ベストプラクティスの詳細については、「AWS Organizations ユーザーガイド」の「[管理アカウントのベストプラクティス](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_best-practices_mgmt-acct.html)」を参照してください。Systems Manager 用に委任された管理者アカウントを作成するには、次の例のように、`register-delegated-administrator` コマンドと AWS CLI を使用できます。

```
aws organizations register-delegated-administrator \
    --account-id {{delegated admin account ID}} \
    --service-principal ssm.amazonaws.com
```

AWS Organizations で管理されていない複数のアカウントでオートメーションを実行したい場合は、オートメーション管理専用のアカウントを作成することをお勧めします。すべてのクロスアカウントオートメーションを専用アカウントから実行すると、IAM 権限管理やトラブルシューティング作業が簡単になり、運用と管理が分離されます。この方法は、AWS Organizations を使用し、OU ではなく個々のアカウントのみを対象とする場合にも推奨されます。

**オートメーション実行の仕組み**  
複数のリージョンとアカウント、または OU でオートメーションを実行すると、次のように動作します。

1. オートメーション中央アカウントとして設定するアカウントにサインインします。

1. このトピックの [マルチリージョンおよびマルチアカウントのオートメーションのための管理アカウントアクセス許可の設定](#setup-management-account-iam-roles) 手順を使用して、次の IAM ロールを作成します。
   + `AWS-SystemsManager-AutomationAdministrationRole` - このロールは、複数のアカウントと OU でオートメーションを実行するアクセス許可をユーザーに付与します。
   + `AWS-SystemsManager-AutomationExecutionRole` - このロールは、ターゲットアカウントでオートメーションを実行するアクセス許可をユーザーに付与します。

1. オートメーションを実行するランブック、リージョン、およびアカウント、または OU を選択します。
**注記**  
ターゲット OU に目的のアカウントが含まれていることを確認します。カスタムランブックを選択した場合は、ランブックをすべてのターゲットアカウントと共有する必要があります。ランブック共有の詳細については、「[SSM ドキュメントの共有](documents-ssm-sharing.md)」を参照してください。共有ランブックの使用については、「[共有 SSM ドキュメントを使用する](documents-ssm-sharing.md#using-shared-documents)」を参照してください。

1. オートメーションを実行します。

1. AWS Systems Manager コンソール、または AWS CLI から [GetAutomationExecution](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetAutomationExecution.html)、[DescribeAutomationStepExecutions](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeAutomationStepExecutions.html)、および [DescribeAutomationExecutions](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeAutomationExecutions.html) API オペレーションを使用して、オートメーションの進行状況をモニタリングします。プライマリアカウントのオートメーションのステップの出力は、子オートメーションの `AutomationExecutionId` になります。ターゲットアカウントで作成された子オートメーションの出力を表示するには、リクエストで適切なアカウント、リージョン、および `AutomationExecutionId` を指定してください。

## マルチリージョンおよびマルチアカウントのオートメーションのための管理アカウントアクセス許可の設定
<a name="setup-management-account-iam-roles"></a>

 を使用して、Systems Manager Automation のマルチリージョンおよびマルチアカウントのオートメーションに必要な IAM ロールを作成するには、次の手順に従いますAWS CloudFormation ここでは、`AWS-SystemsManager-AutomationAdministrationRole` ロールの作成方法について説明します。オートメーション中央アカウントでこのロールを作成するだけで済みます。この手順では、`AWS-SystemsManager-AutomationExecutionRole` ロールの作成方法についても説明します。マルチリージョンおよびマルチアカウントのオートメーションを実行するために、ターゲットとする*すべて*のアカウントでこのロールを作成する必要があります。CloudFormation StackSet を使用して、マルチリージョンおよびマルチアカウントのオートメーションを実行するターゲットとするアカウントに `AWS-SystemsManager-AutomationExecutionRole` ロールを作成することをお勧めします。

**CloudFormation を使用してマルチリージョンおよびマルチアカウントのオートメーションに必要な IAM 管理ロールを作成するには**

1. [https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWS-SystemsManager-AutomationAdministrationRole.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWS-SystemsManager-AutomationAdministrationRole.zip) をダウンロードして、解凍します。

   -または-

   アカウントが AWS Organizations によって管理されている場合、[https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWS-SystemsManager-AutomationAdministrationRole (org).zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWS-SystemsManager-AutomationAdministrationRole (org).zip) をダウンロードして解凍します。

   これらのファイルには、それぞれ `AWS-SystemsManager-AutomationAdministrationRole.yaml` および `AWS-SystemsManager-AutomationAdministrationRole (org).yaml` CloudFormation テンプレートファイルが含まれています。

1. [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソール を開きます。

1. [**Create stack**] を選択します。

1. **[Specify template]** (テンプレートの指定) セクションで、**[Upload a template]** (テンプレートのアップロード)] を選択します。

1. **[ファイルを選択]** を選択し、ステップ 1 で選択した内容に応じて `AWS-SystemsManager-AutomationAdministrationRole.yaml` または `AWS-SystemsManager-AutomationAdministrationRole (org).yaml` CloudFormation テンプレートファイルを選択します。

1. [**次へ**] を選択します。

1. [**Specify stack details (スタックの詳細の指定)**] ページの [**Stack Name (スタック名)**] フィールドに名前を入力します。

1. [**次へ**] を選択します。

1. [**Configure stack options**] (スタックオプションの設定) ページで、使用するオプションの値を入力します。[**次へ**] を選択します。

1. **[確認]** ページをスクロールダウンして、**[CloudFormation がカスタム名で IAM リソースを作成する可能性があることを承認します]** オプションを選択します。

1. **[スタックの作成]** を選択してください。

CloudFormation は、[**CREATE\_IN\_PROGRESS**] の状態を約 3 分間表示します。状態が [**CREATE\_COMPLETE**] に変わります。

マルチリージョンおよびマルチアカウントのオートメーションを実行するために、ターゲットとするすべてのアカウントで以下の手順を繰り返す必要があります。

**CloudFormation を使用してマルチリージョンおよびマルチアカウントのオートメーションに必要な IAM オートメーションロールを作成するには**

1. [https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWS-SystemsManager-AutomationExecutionRole.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWS-SystemsManager-AutomationExecutionRole.zip)をダウンロードします。

   または

   アカウントが AWS Organizations によって管理されている場合、[https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWS-SystemsManager-AutomationExecutionRole (org).zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/AWS-SystemsManager-AutomationExecutionRole (org).zip) をダウンロードして解凍します。

   これらのファイルには、それぞれ `AWS-SystemsManager-AutomationExecutionRole.yaml` および `AWS-SystemsManager-AutomationExecutionRole (org).yaml`CloudFormation テンプレートファイルが含まれています。

1. [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) で CloudFormation コンソール を開きます。

1. [**Create stack**] を選択します。

1. **[Specify template]** (テンプレートの指定) セクションで、**[Upload a template]** (テンプレートのアップロード)] を選択します。

1. **[ファイルを選択]** を選択し、ステップ 1 で選択した内容に応じて `AWS-SystemsManager-AutomationExecutionRole.yaml` または `AWS-SystemsManager-AutomationExecutionRole (org).yaml` CloudFormation テンプレートファイルを選択します。

1. [**次へ**] を選択します。

1. [**Specify stack details (スタックの詳細の指定)**] ページの [**Stack Name (スタック名)**] フィールドに名前を入力します。

1. **[Parameters]** (パラメータ) セクションの **[AdminAccountId]** フィールドに、オートメーション中央アカウントの ID を入力します。

1. AWS Organizations 環境でこのロールを設定する場合、**[OrganizationID]** というセクションには別のフィールドがあります。AWS 組織の ID を入力します。

1. [**次へ**] を選択します。

1. [**Configure stack options**] (スタックオプションの設定) ページで、使用するオプションの値を入力します。[**次へ**] を選択します。

1. **[確認]** ページをスクロールダウンして、**[CloudFormation がカスタム名で IAM リソースを作成する可能性があることを承認します]** オプションを選択します。

1. **[スタックの作成]** を選択してください。

CloudFormation は、[**CREATE\_IN\_PROGRESS**] の状態を約 3 分間表示します。状態が [**CREATE\_COMPLETE**] に変わります。

## 複数のリージョンとアカウントでのオートメーションを実行する (コンソール)
<a name="multiple-console"></a>

次の手順では、Systems Manager コンソールを使用して、オートメーション管理アカウントから複数のリージョンおよびアカウントでオートメーションを実行する方法を説明します。

**開始する前に**  
次の手順を完了する前に、次の情報を書き留めます。
+ マルチリージョンまたはマルチアカウントのオートメーションの実行に使用するユーザーまたはロールには、`AWS-SystemsManager-AutomationAdministrationRole` ロールの `iam:PassRole` アクセス許可が必要です。
+ AWS アカウントオートメーションを実行する ID または OU。
+ オートメーションを実行する [Systems Manager でサポートされているリージョン](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)。
+ オートメーションを実行するタグキーとタグ値、またはリソースグループの名前。

**複数のリージョンとアカウントでオートメーションを実行する**

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

1. ナビゲーションペインで、[**オートメーション**]、[**オートメーションの実行**] の順に選択します。

1. [**Automation document (自動化ドキュメント)**] リストで、ランブックを選択します。[**Document categories (ドキュメントカテゴリ)**] ペインで 1 つ以上のオプションを選択して、目的に応じて SSM ドキュメントをフィルタリングします。自分が所有するランブックを表示するには、[**Owned by me (自分が所有)**] タブを選択します。自分のアカウントと共有されているランブックを表示するには、[**Shared with me (共有ファイル)**] タブを選択します。すべてのランブックを表示するには、[**すべてのドキュメント**] タブを選択します。
**注記**  
ランブックの名前を選択すると、ランブックに関する情報を表示できます。

1. [**Document details (ドキュメントの詳細)**] セクションで、[**Document version (ドキュメントのバージョン)**] が実行するバージョンに設定されていることを確認します。システムには、次のバージョンのオプションが含まれています。
   + **[ランタイムのデフォルトバージョン]**: 自動化ランブックが定期的に更新され、新しいデフォルトバージョンが割り当てられている場合は、このオプションを選択します。
   + **[ランタイムの最新バージョン]**: 自動化ランブックが定期的に更新され、直前に更新されたバージョンを実行する場合は、このオプションを選択します。
   + **[1 (デフォルト)]**: ドキュメントの最初のバージョンを実行するには、このオプションを選択します。これはデフォルト設定です。

1. [**次へ**] を選択します。

1. [**Execute automation document (自動化ドキュメントの実行)**] ページで、[**Multi-account and Region (複数のアカウントとリージョン)**] を選択します。

1. **[ターゲットのアカウントとリージョン]** セクションで、**[アカウント、組織単位 (OU)、およびルート]** フィールドを使用して、オートメーションを実行する別の AWS アカウント または AWS 組織単位 (OU) を指定します。カンマで複数のアカウントまたは OU を区切ります。

   1. (オプション) **[子 OU を含める]** チェックボックスを選択して、指定された OU 内のすべての子組織単位を含めます。

   1. (オプション) **[アカウントおよび組織単位 (OU) の除外]** フィールドに、上記の展開されたエンティティから除外するアカウント ID と OU ID のカンマ区切りリストを入力します。

1. **[リージョン]** リストを使用して、1 つ以上のリージョンを選択してオートメーションを実行します。

1. [**Multi-Region and account rate control (複数のリージョンとアカウントのレート制御)**] オプションを使用して、オートメーションを、限定された数のリージョンで実行されている限られた数のアカウントに制限します。これらのオプションは、オートメーションの実行が可能な AWS リソースの数を制限するわけではありません。

   1. [**Location (account-Region pair) concurrency (場所 (アカウントとリージョンのペア) の同時実行)**] セクションで、複数のアカウントとリージョンで同時に実行できるオートメーションの数を制限するオプションを選択します。例えば、4 つの AWS リージョン にある、5 つの AWS アカウント でオートメーションを実行すると、Systems Manager は合計 20 のアカウントとリージョンのペアでオートメーションを実行します。このオプションを使用して、オートメーションが 2 つのアカウントとリージョンのペアで同時に実行されるように、絶対数 (**2** など) を指定することができます。または、同時に実行できるアカウントとリージョンのペアのパーセント値を指定することもできます。例えば、20 のアカウントとリージョンのペアに 20% と指定すると、オートメーションは同時に最大 5 つのアカウントとリージョンのペアで実行されます。
      + [**targets (ターゲット)**] を選択して、オートメーションを同時に実行できるアカウントとリージョンのペアの絶対数を入力します。
      + [**percent (パーセント)**] を選択して、オートメーションを同時に実行できるアカウントとリージョンのペアの合計数のパーセント値を入力します。

   1. [**Error threshold (エラーのしきい値)**] セクションでオプションを選択します。
      + [**errors (エラー)**] を選択して、オートメーションが他のリソースへのオートメーションの送信を停止するまでに許容されるエラーの絶対数を入力します。
      + [**percent (パーセント)**] を選択して、オートメーションが他のリソースへのオートメーションの送信を停止するまでに許容されるエラーのパーセント値を入力します。

1. [**Targets (ターゲット)**] セクションで、オートメーションを実行する AWS リソースをどのようにターゲットにするかを選択します。これらのオプションは必須です。

   1. [**Parameter (パラメータ)**] リストを使用してパラメータを選択します。[**Parameter (パラメータ)**] リストの項目は、この手順の開始時に選択した自動化ドキュメントのランブックによって決まります。パラメータを選択して、自動化ワークフローが実行されるリソースの種類を定義します。

   1. [**Targets (ターゲット)**] リストを使用して、リソースをターゲットにする方法を選択します。

      1. パラメータ値を使用してターゲットリソースを選択した場合は、[**Input parameters (パラメータの入力)**] セクションで選択したパラメータのパラメータ値を入力します。

      1. AWS Resource Groups を使用してターゲットリソースを選択した場合、[**Resource Group (リソースグループ)**] リストからグループの名前を選択します。

      1. タグを使用してターゲットリソースを選択した場合は、タグキーと (オプションとして) タグ値をフィールドに入力します。[**Add**] (追加) をクリックします。

      1. 現在の AWS アカウント および AWS リージョン にあるすべてのインスタンスでオートメーションランブックを実行する場合、[**All instances (すべてのインスタンス)**] を選択します。

1. [**Input parameters (入力パラメータ)**] セクションで、必要な入力を指定します。**AutomationAssumeRole** リストから `AWS-SystemsManager-AutomationAdministrationRole` IAM サービスロールを選択します。
**注記**  
[**Input parameters (入力パラメータ)**] セクションでオプションを選択する必要はありません。これは、タグまたはリソースグループを使用して複数のリージョンおよびアカウントのリソースをターゲットとしたためです。例えば、`AWS-RestartEC2Instance` ランブックを選択した場合、[**Input parameters (入力パラメータ)**] セクションでインスタンス ID を指定または選択する必要はありません。オートメーションでは、指定したタグを使用してインスタンスを再起動します。

1. (オプション) モニタリング用のオートメーションに適用する CloudWatch アラームを選択します。CloudWatch アラームをオートメーションにアタッチするには、コマンドを実行する IAM プリンシパルに `iam:createServiceLinkedRole` アクションの権限が必要です。CloudWatch アラームの詳細については、「[Amazon CloudWatch でのアラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。アラームがアクティブになると、自動化は実行されず、定義したすべての `OnCancel` ステップが実行されます。AWS CloudTrail を使用する場合、トレイルに API コールが表示されます。

1. [**Rate control (レート制御)**] セクションのオプションを使用して、各アカウントとリージョンのペア内でオートメーションを実行できる AWS リソースの数を制限します。

   [**Concurrency (同時実行数)**] セクションでオプションを選択します。
   + [**targets (ターゲット)**] を選択して、自動化ワークフローを同時に実行できるターゲットの絶対数を入力します。
   + [**percentage (パーセント値)**] を選択して、自動化ワークフローを同時に実行できるターゲットセットのパーセント値を入力します。

1. [**Error threshold (エラーのしきい値)**] セクションでオプションを選択します。
   + [**errors (エラー)**] を選択して、自動化が他のリソースへのワークフローの送信を停止するまでに許容されるエラーの絶対数を入力します。
   + [**percentage (パーセント値)**] を選択して、自動化が他のリソースへのワークフローの送信を停止するまでに許容されるエラーのパーセント値を入力します。

1. [**Execute**] を選択します。

オートメーション実行が完了したら、同じパラメータまたは変更されたパラメータを使用して実行を再実行できます。詳細については、「[オートメーション実行の再実行](automation-rerun-executions.md)」を参照してください。

## 複数のリージョンとアカウントでの自動化を実行する (コマンドライン)
<a name="multiple-cli"></a>

次の手順では、AWS CLI (Linux または Windows) または AWS Tools for PowerShell を使用して、オートメーション管理アカウントから複数のリージョンおよびアカウントでオートメーションを実行する方法を説明します。

**開始する前に**  
次の手順を完了する前に、次の情報を書き留めます。
+ AWS アカウントオートメーションを実行する ID または OU。
+ オートメーションを実行する [Systems Manager でサポートされているリージョン](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)。
+ オートメーションを実行するタグキーとタグ値、またはリソースグループの名前。

**複数のリージョンとアカウントでオートメーションを実行する**

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 start-automation-execution \
           --document-name {{runbook name}} \
           --parameters AutomationAssumeRole=arn:aws:iam::{{management account ID}}:role/AWS-SystemsManager-AutomationAdministrationRole \
           --target-parameter-name {{parameter name}} \
           --targets Key={{tag key}},Values={{value}} \
           --target-locations Accounts={{account ID}},{{account ID 2}},Regions={{Region}},{{Region 2}},ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
   ```

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

   ```
   aws ssm start-automation-execution ^
           --document-name {{runbook name}} ^
           --parameters AutomationAssumeRole=arn:aws:iam::{{management account ID}}:role/AWS-SystemsManager-AutomationAdministrationRole ^
           --target-parameter-name {{parameter name}} ^
           --targets Key={{tag key}},Values={{value}} ^
           --target-locations Accounts={{account ID}},{{account ID 2}},Regions={{Region}},{{Region 2}},ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
   ```

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

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
       $Targets.Key = "{{tag key}}"
       $Targets.Values = "{{value}}"
       
       Start-SSMAutomationExecution `
           -DocumentName "{{runbook name}}" `
           -Parameter @{
           "AutomationAssumeRole"="arn:aws:iam::{{management account ID}}:role/AWS-SystemsManager-AutomationAdministrationRole" } `
           -TargetParameterName "{{parameter name}}" `
           -Target $Targets `
           -TargetLocation @{
           "Accounts"="{{account ID}}","{{account ID 2}}";
           "Regions"="{{Region}}","{{Region 2}}";
           "ExecutionRoleName"="AWS-SystemsManager-AutomationExecutionRole" }
   ```

------

**例 : 複数のリージョンとアカウントでのオートメーションの実行**  
以下は、AWS CLI と PowerShell を使用して、1 つのコマンドで複数のアカウントとリージョンでオートメーションを実行する方法の例を示しています。

   **例 1**: この例では、AWS Organizations 組織全体の 3 つのリージョンで EC2 インスタンスを再起動します。これを行うには、組織のルート ID をターゲットにして、子 OU を含めます。

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

   ```
   aws ssm start-automation-execution \
           --document-name "AWS-RestartEC2Instance" \
           --target-parameter-name InstanceId \
           --targets '[{"Key":"AWS::EC2::Instance","Values":["*"]}]' \
           --target-locations '[{
               "Accounts": ["r-{{example}}"],
               "IncludeChildOrganizationUnits": true,
               "Regions": ["us-east-1", "us-east-2", "us-west-2"]
           }]'
   ```

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

   ```
   aws ssm start-automation-execution \
           --document-name "AWS-RestartEC2Instance" ^
           --target-parameter-name InstanceId ^
           --targets '[{"Key":"AWS::EC2::Instance","Values":["*"]}]' ^
           --target-locations '[{
               "Accounts": ["r-{{example}}"],
               "IncludeChildOrganizationUnits": true,
               "Regions": ["us-east-1", "us-east-2", "us-west-2"]
           }]'
   ```

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

   ```
   Start-SSMAutomationExecution `
           -DocumentName "AWS-RestartEC2Instance" `
           -TargetParameterName "InstanceId" `
           -Targets '[{"Key":"AWS::EC2::Instance","Values":["*"]}]'
           -TargetLocation @{
               "Accounts"="r-{{example}}";
               "Regions"="us-east-1", "us-east-2", "us-west-2";
               "IncludeChildOrganizationUnits"=true}
   ```

------

   **例 2**: この例では、異なるアカウントおよびリージョンの特定の EC2 インスタンスを再起動します。
**注記**  
`TargetLocationMaxConcurrency` オプションは、AWS CLI および AWS SDK を使用して利用できます。

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

   ```
   aws ssm start-automation-execution \
           --document-name "AWS-RestartEC2Instance" \
           --target-parameter-name InstanceId \
           --target-locations '[{
               "Accounts": ["123456789012"],
               "Targets": [{
                   "Key":"ParameterValues",
                   "Values":["i-02573cafcfEXAMPLE", "i-0471e04240EXAMPLE"]
               }],
               "TargetLocationMaxConcurrency": "100%",
               "Regions": ["us-east-1"]
           }, {
               "Accounts": ["987654321098"],
               "Targets": [{
                   "Key":"ParameterValues",
                   "Values":["i-07782c72faEXAMPLE"]
               }],
               "TargetLocationMaxConcurrency": "100%",
               "Regions": ["us-east-2"]
           }]'
   ```

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

   ```
   aws ssm start-automation-execution ^
           --document-name "AWS-RestartEC2Instance" ^
           --target-parameter-name InstanceId ^
           --target-locations '[{
               "Accounts": ["123456789012"],
               "Targets": [{
                   "Key":"ParameterValues",
                   "Values":["i-02573cafcfEXAMPLE", "i-0471e04240EXAMPLE"]
               }],
               "TargetLocationMaxConcurrency": "100%",
               "Regions": ["us-east-1"]
           }, {
               "Accounts": ["987654321098"],
               "Targets": [{
                   "Key":"ParameterValues",
                   "Values":["i-07782c72faEXAMPLE"]
               }],
               "TargetLocationMaxConcurrency": "100%",
               "Regions": ["us-east-2"]
           }]'
   ```

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

   ```
   Start-SSMAutomationExecution `
           -DocumentName "AWS-RestartEC2Instance" `
           -TargetParameterName "InstanceId" `
           -Targets '[{"Key":"AWS::EC2::Instance","Values":["*"]}]'
           -TargetLocation @({
               "Accounts"="123456789012",
               "Targets"= @{
                   "Key":"ParameterValues",
                   "Values":["i-02573cafcfEXAMPLE", "i-0471e04240EXAMPLE"]
               },
               "TargetLocationMaxConcurrency"="100%",
               "Regions"=["us-east-1"]
           }, {
               "Accounts"="987654321098",
               "Targets": @{
                   "Key":"ParameterValues",
                   "Values":["i-07782c72faEXAMPLE"]
               },
               "TargetLocationMaxConcurrency": "100%",
               "Regions"=["us-east-2"]
           })
   ```

------

   **例 3**: この例では、`--target-locations-url` オプションを使用して、オートメーションを実行する複数の AWS アカウント およびリージョンを指定する方法を示します。このオプションの値は、パブリックアクセス可能な[署名付き Amazon S3 URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-presigned-url.html) の JSON ファイルである必要があります。
**注記**  
`--target-locations-url` は、AWS CLI および AWS SDK を使用する際に利用可能です。

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

   ```
   aws ssm start-automation-execution \
       --document-name "MyCustomAutomationRunbook" \
       --target-locations-url "https://amzn-s3-demo-bucket.s3.amazonaws.com/target-locations.json"
   ```

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

   ```
   aws ssm start-automation-execution ^
       --document-name "MyCustomAutomationRunbook" ^
       --target-locations-url "https://amzn-s3-demo-bucket.s3.amazonaws.com/target-locations.json"
   ```

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

   ```
   Start-SSMAutomationExecution `
       -DocumentName "MyCustomAutomationRunbook" `
       -TargetLocationsUrl "https://amzn-s3-demo-bucket.s3.amazonaws.com/target-locations.json"
   ```

------

   JSON ファイルのサンプルコンテンツ :

   ```
   [
   { 
            "Accounts": [ "123456789012", "987654321098", "456789123012" ],
            "ExcludeAccounts": [ "111222333444", "999888444666" ],
            "ExecutionRoleName": "MyAutomationExecutionRole",
            "IncludeChildOrganizationUnits": true,
            "Regions": [ "us-east-1", "us-west-2", "ap-south-1", "ap-northeast-1" ],
            "Targets": ["Key": "AWS::EC2::Instance", "Values": ["i-2"]],
            "TargetLocationMaxConcurrency": "50%",
            "TargetLocationMaxErrors": "10",
            "TargetsMaxConcurrency": "20",
            "TargetsMaxErrors": "12"
    }
   ]
   ```

   **例 4**: この例では、`us-east-2` および `us-west-1` リージョンにある `123456789012` アカウントと `987654321098` アカウントの EC2 インスタンスを再起動します。インスタンスは `Env-PROD` のキーペア値でタグ付けされている必要があります。

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

   ```
   aws ssm start-automation-execution \
           --document-name AWS-RestartEC2Instance \
           --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole \
           --target-parameter-name InstanceId \
           --targets Key=tag:Env,Values=PROD \
           --target-locations Accounts=123456789012,987654321098,Regions=us-east-2,us-west-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
   ```

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

   ```
   aws ssm start-automation-execution ^
           --document-name AWS-RestartEC2Instance ^
           --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole ^
           --target-parameter-name InstanceId ^
           --targets Key=tag:Env,Values=PROD ^
           --target-locations Accounts=123456789012,987654321098,Regions=us-east-2,us-west-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
   ```

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

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
       $Targets.Key = "tag:Env"
       $Targets.Values = "PROD"
       
       Start-SSMAutomationExecution `
           -DocumentName "AWS-RestartEC2Instance" `
           -Parameter @{
           "AutomationAssumeRole"="arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole" } `
           -TargetParameterName "InstanceId" `
           -Target $Targets `
           -TargetLocation @{
           "Accounts"="123456789012","987654321098";
           "Regions"="us-east-2","us-west-1";
           "ExecutionRoleName"="AWS-SystemsManager-AutomationExecutionRole" }
   ```

------

   **例 5**: この例では、`eu-central-1` リージョンにある `123456789012` アカウントと `987654321098` アカウントの EC2 インスタンスを再起動します。これらのインスタンスは、`prod-instances` AWS リソースグループのメンバーである必要があります。

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

   ```
   aws ssm start-automation-execution \
           --document-name AWS-RestartEC2Instance \
           --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole \
           --target-parameter-name InstanceId \
           --targets Key=ResourceGroup,Values=prod-instances \
           --target-locations Accounts=123456789012,987654321098,Regions=eu-central-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
   ```

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

   ```
   aws ssm start-automation-execution ^
           --document-name AWS-RestartEC2Instance ^
           --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole ^
           --target-parameter-name InstanceId ^
           --targets Key=ResourceGroup,Values=prod-instances ^
           --target-locations Accounts=123456789012,987654321098,Regions=eu-central-1,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
   ```

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

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
       $Targets.Key = "ResourceGroup"
       $Targets.Values = "prod-instances"
       
       Start-SSMAutomationExecution `
           -DocumentName "AWS-RestartEC2Instance" `
           -Parameter @{
           "AutomationAssumeRole"="arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole" } `
           -TargetParameterName "InstanceId" `
           -Target $Targets `
           -TargetLocation @{
           "Accounts"="123456789012","987654321098";
           "Regions"="eu-central-1";
           "ExecutionRoleName"="AWS-SystemsManager-AutomationExecutionRole" }
   ```

------

   **例 6**: この例では、`ou-1a2b3c-4d5e6c` AWS 組織単位 (OU) の EC2 インスタンスを再起動します。インスタンスは `us-west-1` および `us-west-2` リージョンにあります。これらのインスタンスは、`WebServices` AWS リソースグループのメンバーである必要があります。

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

   ```
   aws ssm start-automation-execution \
           --document-name AWS-RestartEC2Instance \
           --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole \
           --target-parameter-name InstanceId \
           --targets Key=ResourceGroup,Values=WebServices \
           --target-locations Accounts=ou-1a2b3c-4d5e6c,Regions=us-west-1,us-west-2,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
   ```

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

   ```
   aws ssm start-automation-execution ^
           --document-name AWS-RestartEC2Instance ^
           --parameters AutomationAssumeRole=arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole ^
           --target-parameter-name InstanceId ^
           --targets Key=ResourceGroup,Values=WebServices ^
           --target-locations Accounts=ou-1a2b3c-4d5e6c,Regions=us-west-1,us-west-2,ExecutionRoleName=AWS-SystemsManager-AutomationExecutionRole
   ```

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

   ```
   $Targets = New-Object Amazon.SimpleSystemsManagement.Model.Target
       $Targets.Key = "ResourceGroup"
       $Targets.Values = "WebServices"
       
       Start-SSMAutomationExecution `
           -DocumentName "AWS-RestartEC2Instance" `
           -Parameter @{
           "AutomationAssumeRole"="arn:aws:iam::123456789012:role/AWS-SystemsManager-AutomationAdministrationRole" } `
           -TargetParameterName "InstanceId" `
           -Target $Targets `
           -TargetLocation @{
           "Accounts"="ou-1a2b3c-4d5e6c";
           "Regions"="us-west-1";
           "ExecutionRoleName"="AWS-SystemsManager-AutomationExecutionRole" }
   ```

------

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

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

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

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

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

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

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

------

1. 以下のコマンドを実行して、オートメーションの詳細を表示します。{{[Automation execution ID]}} (オートメーション実行 ID) をユーザー自身の情報に置き換えます。

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

   ```
   aws ssm describe-automation-executions \
           --filters Key=ExecutionId,Values={{automation execution ID}}
   ```

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

   ```
   aws ssm describe-automation-executions ^
           --filters Key=ExecutionId,Values={{automation execution ID}}
   ```

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

   ```
   Get-SSMAutomationExecutionList | `
           Where {$_.AutomationExecutionId -eq "{{automation execution ID}}"}
   ```

------

1. 以下のコマンドを実行して、オートメーションの進行状況の詳細を表示します。

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

   ```
   aws ssm get-automation-execution \
           --automation-execution-id {{4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE}}
   ```

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

   ```
   aws ssm get-automation-execution ^
           --automation-execution-id {{4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE}}
   ```

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

   ```
   Get-SSMAutomationExecution `
           -AutomationExecutionId {{a4a3c0e9-7efd-462a-8594-01234EXAMPLE}}
   ```

------
**注記**  
コンソールで、オートメーションのステータスをモニタリングすることもできます。[**Automation executions (オートメーション実行)**] リストで、先ほど開始した実行を選択し、[**Execution steps (実行ステップ)**] タブを選択します。このタブには、オートメーションアクションのステータスが表示されます。

**詳細情報**  
[AWS Systems Manager Automation を使用した集中型マルチアカウントおよびマルチリージョンパッチ](https://aws.amazon.com/blogs/mt/centralized-multi-account-and-multi-region-patching-with-aws-systems-manager-automation/)