

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EventBridge のイベントバスターゲット
<a name="eb-targets"></a>

*ターゲット*とは、[ルール](eb-rules.md)に定義されたイベントパターンにイベントがマッチしたときに、EventBridge が[イベント](eb-events.md)を送信する先のリソースまたはエンドポイントです。**ルールは[イベント](eb-events.md)データを処理し、関連情報をターゲットに送信します。イベントデータをターゲットに配信するには、EventBridge がターゲットリソースにアクセスする許可が必要です。ルールごとに最大 5 つのターゲットを定義できます。

ルールにターゲットを追加し、その直後にルールが実行されると、新しいターゲットまたは更新されたターゲットがすぐに呼び出されない場合があります。変更が有効になるまで、しばらくお待ちください。

## EventBridge コンソールで利用可能なイベントバスターゲット
<a name="eb-console-targets"></a>

EventBridge コンソールでは、ルールに以下のターゲットタイプを設定できます。
+ API 送信先

  API 送信先は、イベントバスルールのターゲットとして呼び出すことができる HTTPS エンドポイントです。ルールのターゲットとして API 送信先を指定すると、EventBridge はルールで指定されたイベントパターンにマッチするイベントの HTTPS エンドポイントを呼び出し、イベント情報をリクエストとともに配信します。詳細については、「[API 送信先](eb-api-destinations.md)」を参照してください。
+ イベントバス

  その他のイベントバスをルールのターゲットとして指定できます。これには、同じアカウントまたは異なる AWS アカウントのイベントバスが含まれます。
  + [ターゲットとしてのクロスアカウントイベントバス](eb-cross-account.md)
  + [ターゲットと同じアカウントイベントバス](eb-bus-to-bus.md)
+ AWS サービス

  EventBridge にイベントを多数の AWS サービスリソースに送信させることができます。具体的には次のとおりです。
  + [API Gateway](eb-api-gateway-target.md)
  + [AWS AppSync](target-appsync.md)
  + [バッチジョブのキュー](#targets-specifics-batch)
  + [CloudWatch ロググループ](#targets-specifics-cwl)
  + [CodeBuild プロジェクト](#targets-specifics-codebuild)
  + CodePipeline
  + Amazon EBS `CreateSnapshot` API コール
  + EC2 イメージビルダー
  + EC2 `RebootInstances` API コール
  + EC2 `StopInstances` API コール
  + EC2 `TerminateInstances` API コール
  + [ECS タスク](#targets-specifics-ecs-task)
  + Firehose 配信ストリーム
  + Glue ワークフロー
  + [Incident Manager レスポンスプラン](https://docs.aws.amazon.com//incident-manager/latest/userguide/incident-creation.html#incident-tracking-auto-eventbridge)
  + Inspector 評価テンプレート
  + Kinesis ストリーミング
  + Lambda 関数 (ASYNC)
  + [Amazon Redshift クラスターデータ API クエリ](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api-calling-event-bridge.html) 
  + [Amazon Redshift Serverless ワークグループデータ API クエリ](https://docs.aws.amazon.com/redshift/latest/mgmt/data-api-calling-event-bridge.html)
  + SageMaker AI パイプライン
  + Amazon SNS トピック
  + [Amazon SQS 標準キュー、公平キュー、FIFOキュー](#targets-specifics-sqs)
  + Step Functions ステートマシン (ASYNC)
  + Systems Manager Automation
  + Systems Manager OpsItem
  + Systems Manager Run Command

## ターゲットパラメータ
<a name="targets-specific-parms"></a>

一部のターゲットは、イベントペイロードの情報をターゲットに送信せず、特定の API を呼び出すトリガーとしてイベントを扱います。EventBridge は、[ターゲット](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_Target.html)パラメータを指定して、そのターゲットで発生する処理を決定します。これには以下が含まれます。
+ API 送信先

  API 送信先に送られるデータは、API の構造と一致する必要があります。[https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html) オブジェクトを使用して、データが正しく構造化されていることを確認します。元のイベントペイロードを含める場合は、[https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html) で参照します。
+ API ゲートウェイ 

  API Gateway に送信されるデータは、API の構造と一致する必要があります。[https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html) オブジェクトを使用して、データが正しく構造化されていることを確認します。元のイベントペイロードを含める場合は、[https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html) で参照します。
+ Amazon EC2 Image Builder
+ Amazon Redshift Data API クラスター

  [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RedshiftDataParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RedshiftDataParameters.html) を使用します。
+ Amazon SageMaker ランタイムモデル構築パイプライン

  [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_SageMakerPipelineParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_SageMakerPipelineParameters.html) を使用します。
+ Amazon SQS 公平キューと FIFO キュー

  [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_SqsParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_SqsParameters.html) を使用して、ターゲットとして使用するメッセージグループを指定します。
+ Systems Manager Run Command

  を使用して[https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RunCommandParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RunCommandParameters.html)、SSM ドキュメントとターゲットインスタンスを指定します。詳細については、[「Systems Manager Run Command as a target](#targets-specifics-ssm-run-command)」を参照してください。

**注記**  
EventBridge ですべての JSON パス構文がサポートされているわけではなく、構文は実行時に評価されます。サポートされている構文には以下が含まれます。  
ドット表記 (`$.detail` など)
ダッシュ
下線
アルファベットの文字
配列インデックス
ワイルドカード (\*)
スラッシュ

### 動的パスパラメータ
<a name="dynamic-path-parameters"></a>

動的パスパラメータを使用すると、JSON パス構文を使用して、静的値の代わりに実行時にイベントデータを参照できます。

ターゲットパラメータで動的 JSON パス構文を使用して、静的値 ( など) の代わりに JSON パスを指定できます`$.detail.state`。

#### 要件
<a name="requirements"></a>

値全体は、その一部ではなく、JSON パスである必要があります。例えば、次のようになります。
+ ✓ 正解: `RedshiftParameters.Sql` 可能 `$.detail.state`
+ ✗ 不正解: `RedshiftParameters.Sql` は使用できません `"SELECT * FROM $.detail.state"`

EventBridge は、実行時にこれらのパスを、指定されたパスのイベントペイロードのデータに置き換えます。

#### 制限事項
<a name="limitations"></a>

動的パスパラメータは、入力変換から新しい値または変換された値を参照できません。JSON パス構文は、入力変換構文と同じです。詳細については、[「Amazon EventBridge 入力変換](eb-transform-target-input.md)」を参照してください。

#### サポートされているパラメータ
<a name="supported-parameters"></a>

これらのパラメータのすべての文字列フィールドと非列挙型フィールドで動的構文を使用できます。
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_EcsParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_EcsParameters.html)
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_HttpParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_HttpParameters.html) (`HeaderParameters` キーを除く)
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RedshiftDataParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RedshiftDataParameters.html)
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_SageMakerPipelineParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_SageMakerPipelineParameters.html)
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_SqsParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_SqsParameters.html)

## アクセス許可
<a name="targets-permissions"></a>

所有するリソースで API コールを行うには、EventBridge に適切な許可が必要です。[EventBridge コンソールを使用する](eb-create-rule-wizard.md#eb-create-rule-target)か、[https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html) で `RoleARN` パラメータを設定して、IAM 実行ロールを指定します。

例えば、次のポリシーでは、Amazon SQS キューにメッセージを送信するアクセス許可を定義します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:SendMessage"
            ],
            "Resource": [
                "arn:aws:sqs:{{us-east-1}}:{{111122223333}}:{{sqs-queue-name}}"
            ]
        }
    ]
}
```

------

さらに次の信頼ポリシーにより、EventBridge はロールを引き受けることができます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

構成された IAM 認可で API Gateway エンドポイントを呼び出すことができますが、認可を構成していない場合、ロールはオプションです。詳細については、「[Amazon EventBridge と AWS Identity and Access Management](eb-iam.md)」を参照してください。

別のアカウントが同じリージョンにあって、許可を付与されている場合は、そのアカウントにイベントを送信できます。

詳細については、「[Amazon EventBridge の AWS アカウント間でイベントを送受信する](eb-cross-account.md)」を参照してください。

Amazon SQS キューなどのターゲットが AWS Key Management Service (AWS KMS) 暗号化を使用する場合は、KMS キーポリシーに次のセクションを含める必要があります。

```
{
  "Sid": "Allow EventBridge to use the key",
  "Effect": "Allow",
  "Principal": {
    "Service": "events.amazonaws.com"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*"
}
```

## AWS Batch ターゲットとしてのジョブキュー
<a name="targets-specifics-batch"></a>

に設定する AWS Batch `submitJob`特定のパラメータは、[BatchParameters](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_BatchParameters.html) を介して設定できます。

その他はイベントペイロードで指定できます。([InputTransformer](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html) を介して渡される) イベントペイロードに次のキーが含まれている場合、それらは `submitJob` [リクエストパラメータ](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html#API_SubmitJob_RequestSyntax)にマップされます。
+ `ContainerOverrides: containerOverrides`
**注記**  
これには、コマンド、環境、メモリ、および VCPU のみが含まれます
+ `DependsOn: dependsOn`
**注記**  
これには jobId のみが含まれます
+ `Parameters: parameters`

## ターゲットとしての CloudWatch Logs
<a name="targets-specifics-cwl"></a>

CloudWatch Logs ターゲットで [InputTransformer](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html) を使用しない場合、イベントペイロードはログメッセージとして、イベントのソースはタイムスタンプとして使用されます。InputTransformer を使用する場合、テンプレートは次のようになっている必要があります。

`{"timestamp":<timestamp>,"message":<message>}`

EventBridge はログストリームに送信されるエントリをバッチ処理します。そのため、EventBridge がトラフィックに応じて 1 つまたは複数のイベントをログストリームに配信する場合があります。

## ターゲットとしての CodeBuild プロジェクト
<a name="targets-specifics-codebuild"></a>

EventBridge は、標準ビルドとバッチビルドの両方をターゲットとしてサポートしています。

[入力トランスフォーマー](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html)を使用して、ソースイベントを CodeBuild ターゲットに配信する前に [StartBuildRequest](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuild.html#API_StartBuild_RequestSyntax) 構造と一致するように形成すると、パラメータは 1 対 1 でマッピングされ、デフォルトで `codeBuild.StartBuild` に渡されます。

代わりに、パラメータを `codeBuild.StartBuildBatch` に渡すには、[StartBuildBatchRequest](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuildBatch.html#API_StartBuildBatch_RequestSyntax) 構造と一致するようにソースイベントを変換し、変換したイベントのルートに次のキーと値のペアを追加します。

`"buildType": "BATCH"`

## ターゲットとしての Amazon ECS タスク
<a name="targets-specifics-ecs-task"></a>

[InputTransformers](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html) を使用して入力イベントを Amazon ECS RunTask [TaskOverride](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskOverride.html) 構造と一致するようにターゲットに形成すると、パラメータは 1 対 1 でマッピングされ、`ecs.RunTask` に渡されます。

## ターゲットとしての Incident Manager レスポンスプラン
<a name="targets-specifics-incident-manager"></a>

一致したイベントが CloudWatch アラームからのものである場合、アラーム状態変化の詳細は、Incident Manager への StartIncidentRequest 呼び出しのトリガー詳細に入力されます。

## ターゲットとしての Systems Manager Run Command
<a name="targets-specifics-ssm-run-command"></a>

Systems Manager Run Command をターゲットとして指定すると、EventBridge はユーザーに代わって [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html) API を呼び出します。を使用してターゲットを設定します。これは[https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RunCommandParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RunCommandParameters.html)、実行する SSM ドキュメントとターゲットインスタンスまたはタグを指定します。

`RunCommandParameters` には、次のフィールドが含まれます。
+ `RunCommandTargets` — (必須) ターゲットインスタンスを指定するキーと値のペアのリスト。インスタンス IDs のリスト`InstanceIds`で `Key`を に設定するか、タグ値`tag:{{tag-name}}`で を `Key` に設定して、タグでインスタンスをターゲットにします。1～5 個のコマンド実行ターゲットを指定できます。

実行する SSM ドキュメントを指定してパラメータを渡すには、 [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_Target.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_Target.html) オブジェクトの `Input`フィールドを使用します。`Input` 値は、次の構造を持つ JSON オブジェクトである必要があります。

```
{
  "DocumentName": "{{document-name}}",
  "DocumentVersion": "{{version}}",
  "Parameters": {
    "{{parameter-key}}": ["{{parameter-value}}"]
  }
}
```

説明は以下のとおりです。
+ `DocumentName` — 実行する SSM ドキュメントの名前または ARN。
+ `DocumentVersion` — (オプション) ドキュメントのバージョン。省略すると、デフォルトバージョンが使用されます。
+ `Parameters` — (オプション) SSM ドキュメントで定義されたパラメータと一致する、パラメータ名の値配列へのマップ。

たとえば、次の AWS CLI コマンドは、EventBridge イベントが一致したときに特定のインスタンスで`AWS-RunShellScript`ドキュメントを実行するルールを作成します。

```
aws events put-targets --rule "my-rule" --targets '[{
  "Id": "ssm-target-1",
  "Arn": "arn:aws:ssm:{{region}}:{{account-id}}:document/AWS-RunShellScript",
  "RoleArn": "arn:aws:iam::{{account-id}}:role/{{EventBridgeSSMRole}}",
  "Input": "{\\"Parameters\\":{\\"commands\\":[\\"echo Hello from EventBridge\\"]}}",
  "RunCommandParameters": {
    "RunCommandTargets": [{
      "Key": "InstanceIds",
      "Values": ["{{i-0123456789abcdef0}}"]
    }]
  }
}]'
```

**注記**  
`Target` オブジェクトの `Input`フィールドは、ドキュメント名とパラメータを Systems Manager Run Command に渡すために使用されます。これは[https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_InputTransformer.html)、イベントペイロードを変換する とは異なります。Systems Manager Run Command をターゲットとして使用する場合は、 でドキュメントパラメータを設定し`Input`、 でターゲットインスタンスを指定します`RunCommandParameters`。

## ターゲットとしての Amazon SQS キュー
<a name="targets-specifics-sqs"></a>

EventBridge は、 AWS 所有のキーで暗号化された Amazon SQS キューの使用をサポートしていません。これには、ターゲットと、ターゲットのデッドレターキューとして指定された Amazon SQS キューが含まれます。詳細については AWS 所有のキー、「 *AWS Key Management Service デベロッパーガイド*」の[AWS 「 所有キー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)」を参照してください。