

• 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="running-automations-map-targets"></a>

`Targets` パラメータを使用すると、オートメーションの対象リソースを素早く定義できます。例えば、マネージドインスタンスを再起動するオートメーションを実行する場合は、コンソールで多数のインスタンス ID を手動で選択したりコマンドで入力したりする代わりに、`Targets` パラメータを使用して Amazon Elastic Compute Cloud (Amazon EC2) タグを指定しインスタンスをターゲティングできます。

ターゲットを使用するオートメーションを実行すると、AWS Systems Manager はターゲットごとに子 Automation を作成します。例えば、タグを指定して Amazon Elastic Block Store (Amazon EBS) ボリュームをターゲットに設定し、それらのタグが 100 の Amazon EBS ボリュームに解決された場合、Systems Manager は 100 の子オートメーションを作成します。親 Automation は、すべての子 Automation が最終状態に達すると完了します。

**注記**  
実行時に指定する `input parameters` (コンソールの [**Input parameters (入力パラメータ)**] セクション、またはコマンドラインの `parameters` オプションを使用) は、すべての子 Automation によって自動的に処理されます。

タグ、リソースグループ、およびパラメータ値を使用して、オートメーションのリソースをターゲットにすることができます。さらに、`TargetMaps` オプションを使用すると、コマンドラインまたはファイルから複数のパラメータ値を指定できます。次のセクションでは、これらの各ターゲティングオプションについて詳しく説明します。

## タグをターゲットにする
<a name="target-tags"></a>

オートメーションのターゲットとして、1 つのタグを指定できます。Amazon Elastic Compute Cloud (Amazon EC2) および Amazon Relational Database Service (Amazon RDS) インスタンス、Amazon Elastic Block Store (Amazon EBS) ボリュームとスナップショット、Resource Groups、Amazon Simple Storage Service (Amazon S3) バケットなどの多くの AWS リソースはタグをサポートしています。タグをターゲットにすることにより、AWS リソースに対するオートメーションをすばやく実行できます。タグは、Operating\_System:Linux や Department:Finance などのキーと値のペアです。特定の名前をリソースに割り当てる場合は、「名前」という単語をキーとして使用し、リソースの名前を値として使用することもできます。

オートメーションのターゲットとしてタグを指定する場合は、ターゲットパラメータも指定します。ターゲットパラメータは、`TargetParameterName` オプションを使用します。ターゲットパラメータを選択することで、オートメーションが実行されるリソースのタイプを定義します。タグで指定するターゲットパラメータは、ランブックで定義された有効なパラメータでなければなりません。たとえば、タグを使用して多数の EC2 インスタンスをターゲットにする場合は、`InstanceId` ターゲットパラメータを選択します。このパラメータを選択すると、*インスタンス*がオートメーションのリソースタイプとして定義されます。カスタムランブックを作成するときは、**[ターゲットタイプ]**を `/AWS::EC2::Instance` に指定して、インスタンスのみが使用されるようにする必要があります。そうしなければ、同じタグを持つすべてのリソースがターゲットになります。タグ付きのインスタンスをターゲットにする際に、終了したインスタンスが含まれる場合があります。

次のスクリーンショットでは、`AWS-DetachEBSVolume` ランブックを使用しています。論理ターゲットパラメータは `VolumeId` です。

![Systems Manager Automation のターゲットとしてタグを使用する](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/automation-rate-control-tags-1-new.png)


`AWS-DetachEBSVolume` ランブックには、`/AWS::EC2::Volume` に設定された [**Target type (ターゲットの種類)**] という特別なプロパティも含まれています。これは、タグキーペア `Finance:TestEnv` が異なるタイプのリソース (EC2 インスタンス、Amazon EBS ボリューム、Amazon EBS スナップショットなど) を返す場合、Amazon EBS ボリュームのみが使用されることを意味します。

**重要**  
ターゲットのパラメータ名では大文字と小文字が区別されます。AWS Command Line Interface (AWS CLI) または AWS Tools for Windows PowerShell を使用してオートメーションを実行する場合は、ランブックで定義されているとおり、ターゲットパラメータ名を正確に入力する必要があります。指定しないと、システムは `InvalidAutomationExecutionParametersException` エラーを返します。[DescribeDocument](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeDocument.html) API オペレーションを使用すると、特定のランブックで使用可能なターゲットパラメータに関する情報を表示できます。次に、`AWS-DeleteSnapshot` ドキュメントに関する情報を提供する AWS CLI コマンドの例を示します。  

```
aws ssm describe-document \
    --name AWS-DeleteSnapshot
```

さらに、タグを使用してリソースをターゲットにする AWS CLI コマンドの例を示します。

**例 1: Amazon EC2 インスタンスを再起動するために、キーと値のペアを使用してタグをターゲットにする**

この例では、*Department* のキーと *HumanResources* の値でタグ付けされたすべての Amazon EC2 インスタンスを再起動します。ターゲットパラメータは、ランブックの *InstanceId* パラメータを使用します。この例では、Automation サービスロール (*引き受けロール*) を使用して、自動化を実行するための追加のパラメータを使用しています。

```
aws ssm start-automation-execution \
    --document-name AWS-RestartEC2Instance \
    --targets Key=tag:Department,Values=HumanResources \
    --target-parameter-name InstanceId \
    --parameters "AutomationAssumeRole=arn:aws:iam::111122223333:role/AutomationServiceRole"
```

**例 2: Amazon EBS スナップショットを削除するために、キーと値のペアを使用してタグをターゲットにする**

以下の例では、`AWS-DeleteSnapshot` ランブックを使用して、*Name* キーと、*January2018Backups* 値のすべてのスナップショットを削除します。ターゲットのパラメータは、*VolumeId* パラメータを使用します。

```
aws ssm start-automation-execution \
    --document-name AWS-DeleteSnapshot \
    --targets Key=tag:Name,Values=January2018Backups \
    --target-parameter-name VolumeId
```

## AWS Resource Groups をターゲットにする
<a name="target-resource-groups"></a>

オートメーションのターゲットとして、1 つの AWS リソースグループを指定できます。Systems Manager は、ターゲットリソースグループ内のすべてのオブジェクトに対して子オートメーションを作成します。

たとえば、リソースグループの 1 つに PatchedAMI という名前が付けられているとします。この Resource Group には、定期的にパッチ適用される 25 個の Windows Amazon Machine Images (AMIs) のリストが含まれています。`AWS-CreateManagedWindowsInstance` ランブックを使用し、この Resource Group をターゲットとするオートメーションを実行すると、Systems Manager は 25 個の AMIs ごとに子オートメーションを作成します。つまり、PatchedAMIs Resource Group をターゲットとすることで、オートメーションはパッチを適用した AMIs のリストから 25 個のインスタンスを作成します。親オートメーションは、すべての子オートメーションが処理を完了するか、最終状態に達すると完了します。

次の AWS CLI コマンドは、PatchAMI リソースグループの例に適用されます。このコマンドは、`--target-parameter-name` オプションの *AmiId* パラメータを受け取ります。このコマンドには、各 AMI から作成するインスタンスのタイプを定義する追加のパラメータは含まれていません。`AWS-CreateManagedWindowsInstance` ランブックはデフォルトで t2.medium インスタンスタイプになっているため、このコマンドは Windows Server に 25 個の t2.medium Amazon EC2 インスタンスを作成します。

```
aws ssm start-automation-execution \
    --document-name AWS-CreateManagedWindowsInstance \
    --targets Key=ResourceGroup,Values=PatchedAMIs  \
    --target-parameter-name AmiId
```

次のコンソールの例では、t2-micro-instances というリソースグループを使用しています。

![Systems Manager Automation による AWS リソースグループのターゲット設定](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/automation-rate-control-resource-groups-new.png)


## パラメータ値のターゲット設定
<a name="target-parameter-values"></a>

パラメータ値をターゲットにすることもできます。`ParameterValues` をキーとして入力し、オートメーションを実行する特定のリソース値を入力します。複数の値を指定すると、Systems Manager は指定された各値に対して子オートメーションを実行します。

たとえば、ランブックに ** instanceID ** パラメーターが含まれているとします。オートメーションを実行するときに [**InstanceID**] パラメータの値を指定すると、Systems Manager は指定された各インスタンス ID 値に対して子オートメーションを実行します。オートメーションが指定された各インスタンスの実行を終了するか、オートメーションが失敗した場合、親オートメーションは完了します。最大 50 個のパラメータ値を対象にすることができます。

次の例では、`AWS-CreateImage` ランブックを使用します 指定されたターゲットパラメータ名は *InstanceId* です。キーは *ParameterValues* を使用します。値は 2 つの Amazon EC2 インスタンス ID です。このコマンドは、インスタンスごとにオートメーションを作成し、各インスタンスから AMI を生成します。

```
aws ssm start-automation-execution 
    --document-name AWS-CreateImage \
    --target-parameter-name InstanceId \
    --targets Key=ParameterValues,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE
```

**注記**  
`AutomationAssumeRole` は有効なパラメータではありません。パラメータ値をターゲットにするオートメーションを実行するときは、この項目を選択しないでください。

### パラメータ値マップをターゲットにする
<a name="target-maps"></a>

`TargetMaps` オプションは、`ParameterValues` をターゲットにする機能を拡張します。コマンドラインで `TargetMaps` を使用すると、パラメータ値の配列を入力できます。コマンドラインでは、最大 50 のパラメータ値を指定できます。50 を超えるパラメータ値を指定するコマンドを実行する場合は、値を JSON ファイルに入力できます。その後、コマンドラインからファイルを呼び出すことができます。

**注記**  
コンソールでは、`TargetMaps` オプションはサポートされていません。

コマンドで `TargetMaps` オプションを使用して複数のパラメータ値を指定するには、次の形式を使用します。各{{リソースプレースホルダーの例}}をユーザー自身の情報に置き換えます。

```
aws ssm start-automation-execution \
    --document-name {{runbook name}} \
    --target-maps “{{parameter}}={{value}}, {{parameter 2}}={{value}}, {{parameter 3}}={{value}}”  “{{parameter 4}}={{value}}, {{parameter 5}}={{value}}, {{parameter 6}}={{value}}”
```

`TargetMaps` オプションに 50 以上のパラメータ値を入力する場合は、次の JSON 形式を使用してファイル内の値を指定します。JSON ファイルを使用すると、複数のパラメータ値を提供する際の読みやすさも向上します。

```
[

    {“parameter”: "value", “parameter 2”: "value", “parameter 3”: "value"},

    {“parameter 4”: "value", “parameter 5”: "value", "parameter 6": "value"}

]
```

.json ファイル拡張子でこのファイルを保存します。次のコマンドを使用してファイルを呼び出すことができます。各{{リソースプレースホルダーの例}}をユーザー自身の情報に置き換えます。

```
aws ssm start-automation-execution \
    --document-name {{runbook name}} \
    –-parameters {{input parameters}} \
    --target-maps {{path to file/file name}}.json
```

またはバケットからデータを読み取るアクセス権限を持っている限り、Amazon Simple Storage Service (Amazon S3) バケットからファイルをダウンロードすることもできます。次のコマンド形式を使用します。各{{リソースプレースホルダーの例}}をユーザー自身の情報に置き換えます。

```
aws ssm start-automation-execution \
    --document-name {{runbook name}} \
    --target-maps http://amzn-s3-demo-bucket.s3.amazonaws.com/{{file_name}}.json
```

以下は、`TargetMaps` オプションを理解するのに役立つシナリオの例です。このシナリオでは、ユーザーは異なる AMIs から異なるタイプの Amazon EC2 インスタンスを作成する必要があります。このタスクを実行するには、AMI\_Testing という名前のランブックを作成します。このランブックでは、`instanceType` と `imageId` の 2 つの入力パラメータを定義しています。

```
{
  "description": "AMI Testing",
  "schemaVersion": "0.3",
  "assumeRole": "{{assumeRole}}",
  "parameters": {
    "assumeRole": {
      "type": "String",
      "description": "Role under which to run the automation",
      "default": ""
    },
    "instanceType": {
      "type": "String",
      "description": "Type of EC2 Instance to launch for this test"
    },
    "imageId": {
      "type": "String",
      "description": "Source AMI id from which to run instance"
    }
  },
  "mainSteps": [
    {
      "name": "runInstances",
      "action": "aws:runInstances",
      "maxAttempts": 1,
      "onFailure": "Abort",
      "inputs": {
        "ImageId": "{{imageId}}",
        "InstanceType": "{{instanceType}}",
        "MinInstanceCount": 1,
        "MaxInstanceCount": 1
      }
    }
  ],
  "outputs": [
    "runInstances.InstanceIds"
  ]
}
```

次に、ユーザーは `AMI_instance_types.json` という名前のファイルで次のターゲットパラメータ値を指定します。

```
[
  {
    "instanceType" : ["t2.micro"],     
    "imageId" : ["ami-b70554c8"]     
  },
  {
    "instanceType" : ["t2.small"],     
    "imageId" : ["ami-b70554c8"]     
  },
  {
    "instanceType" : ["t2.medium"],     
    "imageId" : ["ami-cfe4b2b0"]     
  },
  {
    "instanceType" : ["t2.medium"],     
    "imageId" : ["ami-cfe4b2b0"]     
  },
  {
    "instanceType" : ["t2.medium"],     
    "imageId" : ["ami-cfe4b2b0"]     
  }
]
```

ユーザーはオートメーションを実行し、次のコマンドを実行して `AMI_instance_types.json` で定義された 5 つの EC2 インスタンスを作成できます。

```
aws ssm start-automation-execution \
    --document-name AMI_Testing \
    --target-parameter-name imageId \
    --target-maps file:///home/TestUser/workspace/runinstances/AMI_instance_types.json
```

## すべての Amazon EC2 インスタンスをターゲットにする
<a name="target-all-instances"></a>

**[ターゲット]** リストで **[すべてのインスタンス]** をクリックすることにより、現在の AWS アカウント と AWS リージョン のすべての Amazon EC2 インスタンスで自動化を実行できます。例えば、AWS アカウント と現在の AWS リージョン にあるすべての Amazon EC2 インスタンスを再起動する場合は、`AWS-RestartEC2Instance` ランブックを選択した上で、**[ターゲット]** のリストから **[すべてのインスタンス]** を選択します。

![ランブックのすべての Amazon EC2 インスタンスをターゲットにする](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/automation-rate-control-target-all-instances.png)


[**すべてのインスタンス**] を選択すると、[**インスタンス**] フィールドにアスタリスク (\*) が入力され、フィールドを変更できなくなります (フィールドはグレー表示されます)。また、Systems Manager では、[**入力パラメータ**] フィールドの [**InstanceId**] フィールドを変更できなくなります。すべてのインスタンスをターゲットにするよう選択する場合、これらのフィールドが変更できなくなることは想定される動作となります。