기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EventBridge 이벤트 패턴
특정 이벤트 버스나 파이프로 전달되는 모든 단일 이벤트를 처리하고 싶지 않을 수도 있습니다. 대신 이벤트의 소스, 이벤트 유형 및/또는 해당 이벤트의 속성을 기반으로 전달된 모든 이벤트의 하위 집합을 선택하고 싶을 수 있습니다.
대상에 전송할 이벤트를 지정하려면 이벤트 패턴을 생성합니다. 이벤트 패턴은 이벤트를 대상으로 전송할지 여부를 결정하는 데 EventBridge가 사용하는 데이터를 정의합니다. 이벤트 패턴이 이벤트와 일치하면 EventBridge는 이벤트를 대상으로 전송합니다. 이벤트 패턴은 일치하는 이벤트와 동일한 구조를 갖습니다. 이벤트 패턴은 이벤트와 일치할 수도 있고 아닐 수도 있습니다.
예를 들어, Amazon EC2의 다음 이벤트를 고려합니다.
{
"version": "0",
"id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
"detail-type": "EC2 Instance State-change Notification",
"source": "aws.ec2",
"account": "111122223333",
"time": "2017-12-22T18:43:48Z",
"region": "us-west-1",
"resources": [
"arn:aws:ec2:us-west-1:123456789012:instance/i-1234567890abcdef0"
],
"detail": {
"instance-id": "i-1234567890abcdef0",
"state": "terminated"
}
}
다음 이벤트 패턴은 모든 Amazon EC2 instance-termination
이벤트를 선택합니다. 이벤트 패턴은 이벤트와 일치하는 세 가지 요구 사항을 지정하여 이 작업을 수행합니다.
이벤트 소스는 Amazon EC2여야 합니다.
이벤트는 Amazon EC2 state-change 알림이어야 합니다.
Amazon EC2 인스턴스의 상태는
terminated
이어야 합니다.
{
"source": ["aws.ec2"],
"detail-type": ["EC2 Instance State-change Notification"],
"detail": {
"state": ["terminated"]
}
}
이 예제에서 이벤트 패턴은 이벤트 정보 필드, source
및 detail-type
뿐만 아니라, 이벤트 본문의 필드, state
도 포함합니다.
중요
EventBridge에서는 예상보다 높은 요금 및 제한으로 이어질 수 있는 규칙을 생성할 수 있습니다. 예를 들어 규칙이 끝없이 반복적으로 실행되는 무한 루프로 이어지는 규칙을 본의 아니게 생성할 수 있습니다. Amazon S3 버킷에서 ACL이 바뀐 것을 감지하고 소프트웨어를 트리거하여 ACL을 원하는 상태로 변경하는 규칙을 생성했다고 가정합니다. 이때 규칙이 부주의하게 작성되면 ACL에 대한 변경이 이어져 규칙을 다시 실행하면서 무한 루프에 빠지게 됩니다.
이러한 예상치 못한 결과를 최소화하기 위해 정확한 규칙 및 이벤트 패턴을 작성하는 방법에 대한 지침은 규칙의 모범 사례 및 모범 사례 섹션을 참조하세요.
이벤트 버스에 대한 이벤트 패턴
이벤트 버스의 경우, 이벤트 버스에 대해 생성하는 각 규칙에 대해 이벤트 패턴을 지정할 수 있습니다. 이렇게 하면 특정 대상으로 전송할 이벤트를 선택할 수 있습니다. 이벤트 버스의 이벤트 패턴은 이벤트 소스, 이벤트 메타데이터 및/또는 이벤트 세부 정보 값과 일치할 수 있습니다.
다음 동영상에서는 이벤트 버스에 대한 이벤트 패턴의 기본 사항에 대해 설명합니다.
EventBridge Pipes에 대한 이벤트 패턴
EventBridge Pipes의 경우, 파이프 대상에 전달하려는 이벤트를 파이프 소스에서 필터링하기 위해 이벤트 패턴을 지정할 수 있습니다. 각 파이프에는 단일 이벤트 소스가 있으므로 파이프의 이벤트 패턴은 이벤트 메타데이터 및/또는 세부 값과 일치할 수 있습니다.
파이프 이벤트 패턴을 구성하는 데 모든 이벤트 필드를 사용할 수 있는 것은 아닙니다. 자세한 내용은 필터링 단원을 참조하십시오.