

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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
  + 아마존 EBS `CreateSnapshot` API 직접 호출
  + EC2 Image Builder
  + 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 Gateway 

  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)를 통해 구성할 수 있습니다.

이벤트 페이로드에서 기타 항목을 지정할 수 있습니다. [InputTransformers](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>

[InputTransformer](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html)를 CloudWatch Logs 대상과 함께 사용하지 않는 경우 이벤트 페이로드가 로그 메시지로 사용되고 이벤트 소스가 타임스탬프로 사용됩니다. InputTransformer를 사용하는 경우 템플릿은 다음과 같아야 합니다.

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

EventBridge는 로그 스트림으로 전송된 항목을 일괄 처리하므로 트래픽에 따라 EventBridge에서 로그 스트림에 단일 또는 다중 이벤트를 전달할 수 있습니다.

## 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) 구조와 일치하도록 소스 이벤트를 구성하면, 기본값으로 파라미터가 일대일로 매핑되어 `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) 구조와 일치하도록 입력 이벤트를 대상으로 구성하면 파라미터가 일대일로 매핑되어 `ecs.RunTask`를 통해 전달됩니다.

## Incident Manager 대응 계획을 대상으로 사용
<a name="targets-specifics-incident-manager"></a>

일치하는 이벤트가 CloudWatch 경보에서 발생한 경우 경보 상태 변경 세부 정보가 Incident Manager에 대한 StartIncidentRequest 호출의 트리거 세부 정보에 채워집니다.

## Systems Manager 대상으로 명령 실행
<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를 호출합니다. 실행할 SSM 문서와 대상 인스턴스 또는 태그를 [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RunCommandParameters.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RunCommandParameters.html)지정하는를 사용하여 대상을 구성합니다.

`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 대기열 사용을 지원하지 않습니다. 여기에는 대상과 대상에 대한 Dead Letter Queue(DLQ)로 지정된 Amazon SQS 대기열이 포함됩니다. 에 대한 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [AWS 소유 키를](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) AWS 소유 키참조하세요.