Amazon의 이벤트 버스 대상 EventBridge - Amazon EventBridge

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

Amazon의 이벤트 버스 대상 EventBridge

대상이벤트규칙 에 정의된 이벤트 패턴과 일치할 때 이벤트를 로 EventBridge 전송하는 리소스 또는 엔드포인트입니다. 규칙은 이벤트 데이터를 처리하고 관련 정보를 대상으로 보냅니다. 이벤트 데이터를 대상에 전달하려면 대상 리소스에 액세스할 수 있는 권한이 EventBridge 필요합니다. 각 규칙에 대해 최대 5개의 대상을 정의할 수 있습니다.

규칙에 대상을 추가하고 해당 규칙이 바로 실행되는 경우 새 대상이나 업데이트된 대상이 즉시 간접 호출되지 않을 수 있습니다. 변경 사항이 적용될 때까지 잠시 기다리십시오.

다음 동영상에서는 대상의 기본 사항을 다룹니다.

콘솔에서 EventBridge 사용 가능한 이벤트 버스 대상

EventBridge 콘솔에서 이벤트에 대해 다음 대상을 구성할 수 있습니다.

대상 파라미터

일부 대상은 이벤트 페이로드의 정보를 대상에 전송하지 않고 대신 이벤트를 특정 를 호출하기 위한 트리거로 취급합니다API. 는 대상 파라미터를 EventBridge 사용하여 해당 대상에 발생하는 작업을 결정합니다. 여기에는 다음이 포함됩니다.

  • API 대상(API대상으로 전송된 데이터는 의 구조와 일치해야 합니다API. InputTransformer 객체를 사용하여 데이터가 올바르게 구성되었는지 확인해야 합니다. 원래 이벤트 페이로드를 포함하려면 에서 참조하세요InputTransformer.)

  • API Gateway( API Gateway로 전송된 데이터는 의 구조와 일치해야 합니다API. InputTransformer 객체를 사용하여 데이터가 올바르게 구성되었는지 확인해야 합니다. 원래 이벤트 페이로드를 포함하려면 에서 참조하세요InputTransformer.)

  • Amazon EC2 Image Builder

  • RedshiftDataParameters (Amazon Redshift 데이터 API 클러스터)

  • SageMakerPipelineParameters (Amazon SageMaker 런타임 모델 구축 파이프라인)

참고

EventBridge 는 모든 JSON 경로 구문을 지원하지 않으며 런타임 시 이를 평가하지 않습니다. 지원되는 구문은 다음과 같습니다.

  • 점 표기법(예: $.detail)

  • 대시

  • 밑줄

  • 영숫자

  • 배열 인덱스

  • 와일드카드(*)

동적 경로 파라미터

일부 대상 파라미터는 선택적 동적 JSON 경로 구문을 지원합니다. 이 구문을 사용하면 정적 값 대신 JSON 경로를 지정할 수 있습니다(예: $.detail.state). 전체 값은 JSON 경로여야 하며 그 일부여야 합니다. 예를 들어 RedshiftParameters.Sql$.detail.state일 수 있지만 "SELECT * FROM $.detail.state"일 수는 없습니다. 이러한 경로는 런타임 시 지정된 경로에 있는 이벤트 페이로드 자체의 데이터로 동적으로 대체됩니다. 동적 경로 파라미터는 입력 변환으로 생성된 새 값이나 변환된 값을 참조할 수 없습니다. 동적 파라미터 JSON 경로에 지원되는 구문은 입력을 변환할 때와 동일합니다. 자세한 내용은 Amazon EventBridge 입력 변환 단원을 참조하세요.

다음 파라미터의 열거형이 아닌 모든 문자열 필드에 동적 구문을 사용할 수 있습니다.

권한

소유한 리소스를 API 호출하려면 적절한 권한이 EventBridge 필요합니다. AWS Lambda 및 Amazon SNS 리소스의 경우 는 리소스 기반 정책 을 EventBridge 사용합니다. EC2 인스턴스, Kinesis 데이터 스트림 및 Step Functions 상태 시스템의 경우 의 RoleARN 파라미터에 지정한 IAM 역할을 EventBridge 사용합니다PutTargets. 구성된 IAM 권한 부여로 API Gateway 엔드포인트를 호출할 수 있지만 권한을 구성하지 않은 경우 역할은 선택 사항입니다. 자세한 내용은 아마존 EventBridge 및 AWS Identity and Access Management 단원을 참조하십시오.

다른 계정이 동일한 리전에 있고 권한을 부여한 경우 해당 계정으로 이벤트를 보낼 수 있습니다. 자세한 내용은 Amazon의 AWS 계정 간에 이벤트 전송 및 수신 EventBridge 단원을 참조하십시오.

대상이 암호화된 경우 KMS 키 정책에 다음 섹션을 포함해야 합니다.

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

AWS Batch 작업 대기열 대상

에 AWS Batch submitJob 대한 특정 파라미터는 를 통해 구성할 수 있습니다BatchParameters.

이벤트 페이로드에서 기타 항목을 지정할 수 있습니다. 이벤트 페이로드( 또는 를 통해 전달됨InputTransformers)에 다음 키가 포함된 경우 submitJob 요청 파라미터 에 매핑됩니다.

  • ContainerOverrides: containerOverrides

    참고

    여기에는 명령, 환경, 메모리 및 vcpu만 포함됩니다.

  • DependsOn: dependsOn

    참고

    여기에는 jobId

  • Parameters: parameters

CloudWatch 그룹을 대상으로 로깅합니다.

CloudWatch 로그 대상과 InputTransformer 함께 를 사용하지 않으면 이벤트 페이로드가 로그 메시지로 사용되고 이벤트의 소스가 타임스탬프로 사용됩니다. 를 사용하는 경우 InputTransformer템플릿은 다음과 같아야 합니다.

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

EventBridge 는 로그 스트림으로 전송된 항목을 배치하므로 트래픽에 따라 로그 스트림에 단일 또는 여러 이벤트를 전달할 EventBridge 수 있습니다.

CodeBuild 프로젝트 대상

InputTransformers 를 사용하여 입력 이벤트를 구조와 일치하는 CodeBuild StartBuildRequest 대상으로 형성하는 경우 파라미터는 1대1로 매핑되고 로 전달됩니다codeBuild.StartBuild.

Amazon ECS 태스크 대상

InputTransformers 를 사용하여 Amazon ECS RunTask TaskOverride 구조와 일치하도록 입력 이벤트를 대상으로 형상화하면 파라미터가 1대1로 매핑되고 로 전달됩니다ecs.RunTask.

Incident Manager 대응 계획을 대상으로 사용

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