

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

# Amazon EventBridge의 이벤트 버스
<a name="eb-event-bus"></a>

이벤트 버스는 [이벤트](eb-events.md)를 수신하여 0개 이상의 목적지 또는 *대상*에 전달하는 라우터입니다. 이벤트 버스는 다양한 소스의 이벤트를 여러 대상으로 라우팅하는 데 적합하며, 대상으로 전달하기 전에 선택적으로 이벤트를 변환할 수 있습니다.

![\[소스는 이벤트를 EventBridge 이벤트 버스로 전송한 다음 적절한 대상으로 라우팅합니다.\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/images/bus_eventbridge_conceptual.svg)


이벤트 버스와 연결된 [규칙](eb-rules.md)은 이벤트가 도착할 때 이벤트를 평가합니다. 각 규칙은 이벤트가 규칙의 패턴과 일치하는지 확인합니다. 이벤트가 일치하면 EventBridge는 이벤트를 보냅니다.

규칙을 특정 이벤트 버스에 연결하면 해당 이벤트 버스에서 수신한 이벤트에만 규칙이 적용됩니다.

**참고**  
EventBridge 파이프를 사용하여 이벤트를 처리할 수도 있습니다. EventBridge 파이프는 지점 간 통합을 위한 것으로, 파이프마다 단일 소스로부터 이벤트를 수신하여 처리하고 단일 대상으로 전달합니다. 파이프에는 대상에 전달되기 전에 고급 변환 및 이벤트 보강 지원도 포함됩니다. 자세한 내용은 [Amazon EventBridge Pipes](eb-pipes.md) 단원을 참조하십시오.

## EventBridge에서 이벤트 버스가 작동하는 방식
<a name="eb-what-is-how-it-works"></a>

이벤트 버스를 사용하면 다양한 소스의 이벤트를 여러 목적지 또는 *대상*으로 라우팅할 수 있습니다.

개괄적으로 살펴볼 때 작동 방식은 다음과 같습니다.

1.  AWS 서비스, 사용자 지정 애플리케이션 또는 SaaS 공급자일 수 있는 이벤트 소스는 이벤트를 이벤트 버스로 보냅니다.

1. 그 후 EventBridge는 해당 이벤트 버스에 정의된 각 *규칙*과 대비하여 이벤트를 평가합니다.

   그런 다음, EventBridge는 규칙과 일치하는 각 이벤트에 대해 해당 규칙에 지정된 대상으로 이벤트를 보냅니다. 선택적으로 규칙의 일부로 이벤트를 대상으로 전송하기 전에 EventBridge가 이벤트를 변환하는 방법을 지정할 수도 있습니다.

   이벤트는 여러 규칙과 일치할 수 있으며 규칙마다 최대 5개의 대상을 지정할 수 있습니다. (이벤트는 어떤 규칙과도 일치하지 않을 수 있으며, 이 경우 EventBridge는 아무 작업도 수행하지 않습니다.)

![\[이벤트 버스는 이벤트를 규칙과 비교하여, 일치하는 이벤트를 지정된 대상으로 보냅니다.\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/images/bus-overview_eventbridge_conceptual.svg)


 AWS 서비스에서 이벤트를 자동으로 수신하는 EventBridge 기본 이벤트 버스를 사용하는 예를 생각해 보세요.

1. `EC2 Instance State-change Notification` 이벤트에 대한 기본 이벤트 버스에 규칙을 생성합니다.
   + 규칙이 Amazon EC2 인스턴스가 해당 `state`를 `running`으로 변경한 이벤트와 일치하도록 지정합니다.

     이를 위해서는 규칙을 트리거하기 위해 이벤트가 일치해야 하는 속성 및 값을 정의하는 JSON을 지정하면 됩니다. 이를 *이벤트 패턴*이라고 합니다.

     ```
     {
       "source": ["aws.ec2"],
       "detail-type": ["EC2 Instance State-change Notification"],
         "detail": {
           "state": ["running"]
       }
     }
     ```
   + 규칙의 대상을 특정 Lambda 함수가 되도록 지정합니다.

1. Amazon EC2 인스턴스의 상태가 변경될 때마다 Amazon EC2(이벤트 소스)는 자동으로 해당 이벤트를 기본 이벤트 버스로 전송합니다.

1. EventBridge는 기본 이벤트 버스로 전송된 모든 이벤트를 사용자가 생성한 규칙을 기준으로 평가합니다.

   이벤트가 규칙과 일치하는 경우(즉, 이벤트가 상태를 `running`으로 변경하는 Amazon EC2 인스턴스인 경우) EventBridge는 이벤트를 지정된 대상으로 보냅니다. 이 경우에는 Lambda 함수입니다.

 다음 동영상에서는 이벤트 버스가 무엇인지 설명하고 이벤트 버스의 몇 가지 기본 사항에 대해 알아봅니다.




 다음 동영상에서는 다양한 이벤트 버스와 사용 시기에 대해 설명합니다.




# Amazon EventBridge의 이벤트 버스 개념
<a name="eb-what-is-how-it-works-concepts"></a>

이벤트 버스에 구축된 이벤트 기반 아키텍처의 주요 구성 요소를 자세히 살펴보겠습니다.

## 이벤트 버스
<a name="eb-bus-concepts-buses"></a>

이벤트 버스는 [이벤트](eb-events.md)를 수신하여 0개 이상의 목적지 또는 *대상*에 전달하는 라우터입니다. 다양한 소스의 이벤트를 여러 대상으로 라우팅해야 할 때 이벤트 버스를 사용하며, 대상으로 전달하기 전에 선택적으로 이벤트를 변환할 수 있습니다.

계정에는 AWS 서비스에서 이벤트를 자동으로 수신하는 *기본 이벤트 버스*가 포함되어 있습니다. 다른 방법:
+ *사용자 지정 이벤트 버스*라고 하는 추가 이벤트 버스를 생성하고 수신할 이벤트를 지정합니다.
+ SaaS 파트너로부터 이벤트를 수신하는 *[파트너 이벤트 버스](eb-saas.md)*를 생성합니다.

이벤트 버스의 일반적인 사용 사례는 다음과 같습니다.
+ 이벤트 버스를 서로 다른 워크로드, 서비스 또는 시스템 간의 브로커로 사용합니다.
+ 애플리케이션에서 여러 이벤트 버스를 사용하여 이벤트 트래픽을 분할합니다. 예를 들어 개인 식별 정보(PII)가 포함된 이벤트를 처리하는 버스를 생성하고, 그렇지 않은 이벤트를 처리하는 또 다른 버스를 생성합니다.
+ 여러 이벤트 버스의 이벤트를 중앙 집중식 이벤트 버스로 전송하여 이벤트를 집계합니다. 이 중앙 집중식 버스는 다른 버스와 동일한 계정에 있을 수 있지만 다른 계정 또는 리전에 있을 수도 있습니다.

![\[AWS 서비스, 사용자 지정 앱 또는 파트너 소스에서 이벤트를 수신하는 다양한 이벤트 버스입니다.\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/images/bus-overview-types_eventbridge_conceptual.svg)


## 이벤트
<a name="eb-bus-concepts-events"></a>

간단히 말해 EventBridge 이벤트는 이벤트 버스 또는 파이프로 전송되는 JSON 객체입니다.

이벤트 기반 아키텍처(EDA)의 맥락에서 이벤트는 주로 리소스 또는 환경의 변화를 나타내는 지표입니다.

자세한 내용은 [Amazon EventBridge의 이벤트](eb-events.md) 단원을 참조하십시오.

## 이벤트 소스
<a name="eb-bus-concepts-event-sources"></a>

EventBridge는 다음과 같은 이벤트 소스로부터 이벤트를 수신할 수 있습니다.
+ AWS 서비스
+ 사용자 정의 애플리케이션
+ 서비스형 소프트웨어(SaaS) 파트너

## 규칙
<a name="eb-bus-concepts-rules"></a>

규칙은 들어오는 이벤트를 수신하고 적절한 이벤트를 대상으로 전송하여 처리합니다. 다음 중 하나를 기반으로 각 규칙이 대상을 간접 호출하는 방법을 지정할 수 있습니다.
+ 이벤트와 일치하는 하나 이상의 필터가 포함된 [이벤트 패턴](eb-event-patterns.md)입니다. 이벤트 패턴에는 다음과 일치하는 필터가 포함될 수 있습니다.
  + **이벤트 메타데이터** - 이벤트 소스, 이벤트가 발생한 계정 또는 리전 등의 이벤트 *관련* 데이터입니다.
  + **이벤트 데이터** - 이벤트 자체의 속성입니다. 이러한 속성은 이벤트에 따라 달라집니다.
  + **이벤트 콘텐츠** - 이벤트 데이터의 실제 속성 *값*입니다.
+ 정기적으로 대상을 간접 호출하는 일정입니다.

  [예약된 규칙은 EventBridge 내에서](eb-create-rule-schedule.md) 또는 [EventBridge 스케줄러를 사용하여 지정](using-eventbridge-scheduler.md)할 수 있습니다.
**참고**  
예약된 규칙은 EventBridge의 레거시 기능입니다.  
EventBridge는 대규모로 예약된 작업을 중앙에서 생성, 실행 및 관리하는 보다 유연하고 강력한 방법인 EventBridge 스케줄러를 제공합니다. EventBridge 스케줄러를 사용하면 반복 패턴에 대해 cron 및 rate 표현식을 사용하여 일정을 만들거나 일회성 간접 호출을 구성할 수 있습니다. 전송을 위한 유연한 기간을 설정하고, 재시도 제한을 정의하고, 실패한 API 간접 호출의 최대 보존 시간을 설정할 수 있습니다.  
스케줄러는 사용자 지정이 가능하며 더 광범위한 대상 API 작업 및 AWS 서비스를 통해 예약된 규칙보다 향상된 확장성을 제공합니다. 스케줄러를 사용하여 일정에 따라 대상을 간접적으로 호출하는 것이 좋습니다.  
자세한 내용은 [일정 생성](using-eventbridge-scheduler.md#using-eventbridge-scheduler-create) 또는 *[EventBridge 스케줄러 사용 설명서를](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)* 참조하세요.

각 규칙은 특정 이벤트 버스에 대해 정의되며 해당 이벤트 버스의 이벤트에만 적용됩니다.

단일 규칙은 최대 5개의 대상에 이벤트를 보낼 수 있습니다.

기본적으로 이벤트 버스당 규칙을 최대 300개까지 구성할 수 있습니다. [Service Quotas 콘솔](https://console.aws.amazon.com/servicequotas/home)에서 이 할당량을 수천 개의 규칙으로 늘릴 수 있습니다. 규칙 제한은 각 버스에 적용되므로 더 많은 규칙이 필요한 경우 계정에서 사용자 지정 이벤트 버스를 추가로 생성할 수 있습니다.

서비스별로 권한이 다른 이벤트 버스를 생성하여 계정에서 이벤트가 수신되는 방식을 사용자 지정할 수 있습니다.

EventBridge가 대상으로 이벤트를 전달하기 전에 이벤트의 구조나 날짜를 사용자 지정하려면 이벤트가 대상으로 전송되기 전에 [입력 변환기](eb-transform-target-input.md)를 이용해 정보를 편집합니다.

자세한 내용은 [Amazon EventBridge의 규칙](eb-rules.md) 단원을 참조하십시오.

## 대상
<a name="eb-bus-concepts-targets"></a>

대상은 이벤트가 규칙에 정의된 이벤트 패턴과 일치할 때 EventBridge에서 이벤트를 보내는 리소스 또는 엔드포인트입니다.

대상은 여러 이벤트 버스에서 다양한 이벤트를 수신할 수 있습니다.

자세한 내용은 [Amazon EventBridge의 이벤트 버스 대상](eb-targets.md) 단원을 참조하십시오.

## 이벤트 버스의 고급 기능
<a name="eb-what-is-how-it-works-advanced"></a>

EventBridge에는 이벤트 버스 개발, 관리 및 사용에 도움이 되는 다음 기능이 포함됩니다.

**API 대상을 사용하여 서비스 간 REST API 직접 호출 활성화**

EventBridge *[API 대상](eb-api-destinations.md)*은 이벤트 데이터를 AWS 서비스 또는 리소스로 보내는 것과 동일한 방식으로 규칙의 대상으로 설정할 수 있는 HTTP 엔드포인트입니다. API 대상을 사용하면 API 직접 호출을 사용하여 AWS 서비스, 통합 SaaS 애플리케이션 및 AWS외부 애플리케이션 간에 이벤트를 라우팅할 수 있습니다. API 대상을 생성할 때 사용할 연결을 지정합니다. 각 연결에는 API 대상 엔드포인트에 권한을 부여하는 데 사용할 권한 부여 유형 및 파라미터에 대한 세부 정보가 포함됩니다.

**개발 및 재해 복구를 지원하기 위한 이벤트 보관 및 재생**

이벤트를 *[보관](eb-archive-event.md)*하거나 저장한 다음, 아카이브에서 나중에 [재생](eb-replay-archived-event.md)할 수 있습니다. 보관은 다음과 같은 경우에 유용합니다.
+ 새 이벤트를 기다릴 필요 없이 사용할 이벤트 스토어가 있으므로 애플리케이션을 테스트합니다.
+ 새 서비스를 처음 온라인에 제공할 때 하이드레이트합니다.
+ 이벤트 기반 애플리케이션에 내구성을 더합니다.

**스키마 레지스트리를 사용하여 빠르게 이벤트 패턴 생성 시작**

EventBridge를 사용하는 서버리스 애플리케이션을 구축할 때 이벤트를 생성하지 않고도 일반적인 이벤트의 구조를 파악하는 것이 유용할 수 있습니다. 이벤트 구조는 EventBridge의 AWS 서비스에서 생성된 모든 이벤트에 사용할 수 있는 [스키마](eb-schema.md)에 설명되어 있습니다.

 AWS 서비스에서 오지 않는 이벤트의 경우 다음을 수행할 수 있습니다.
+ 사용자 지정 스키마를 생성하거나 업로드합니다.
+ EventBridge가 이벤트 버스로 전송되는 이벤트에 대한 스키마를 자동으로 생성하도록 스키마 검색을 사용합니다.

이벤트에 대한 스키마가 있으면 인기 있는 프로그래밍 언어에 대한 코드 바인딩을 다운로드할 수 있습니다.

**정책을 통해 리소스 및 액세스 관리**

 AWS 리소스를 구성하거나 EventBridge의 비용을 추적하려면 리소스에 사용자 지정 레이블 또는 *[태그를](eb-tagging.md)* 할당할 AWS 수 있습니다. [태그 기반 정책](eb-tag-policies.md)을 사용하면 EventBridge 내에서 리소스가 수행 가능한 작업 및 수행 불가능한 작업을 제어할 수 있습니다.

EventBridge는 태그 기반 정책 외에도 EventBridge에 대한 액세스를 제어하는 [자격 증명 기반](eb-use-identity-based.md) 및 [리소스 기반](eb-use-resource-based.md) 정책을 지원합니다. 자격 증명 기반 정책을 사용하면 그룹, 역할 또는 사용자의 권한을 제어할 수 있습니다. 리소스 기반 정책을 사용하면 Lambda 함수 또는 Amazon SNS 주제와 같은 각 리소스에 특정 권한을 부여할 수 있습니다.

# Amazon EventBridge에서 이벤트 버스 생성
<a name="eb-create-event-bus"></a>

애플리케이션에서 [이벤트](eb-events.md)를 수신할 사용자 지정 [이벤트 버스](eb-event-bus.md)를 생성할 수 있습니다. 애플리케이션에서 기본 이벤트 버스로 이벤트를 보낼 수도 있습니다. 이벤트 버스를 생성할 때 [리소스 기반 정책](eb-use-resource-based.md)을 연결하여 다른 계정에 권한을 부여할 수 있습니다. 그러면 다른 계정이 현재 계정의 이벤트 버스에 이벤트를 보낼 수 있습니다.

 다음 동영상에서는 이벤트 버스를 생성하는 과정을 보여줍니다.




**사용자 지정 이벤트 버스를 생성하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **이벤트 버스**를 선택합니다.

1. **Create event bus(이벤트 버스 생성)**를 선택하세요.

1. 새 이벤트 버스의 이름을 입력하십시오.

1. 이벤트 버스에 저장된 이벤트 데이터를 암호화할 때 사용할 EventBridge의 KMS 키를 선택합니다.
**참고**  
고객 관리형 키를 사용해 암호화된 이벤트 버스에는 스키마 검색이 지원되지 않습니다. 이벤트 버스에서 스키마 검색을 활성화하려면 AWS 소유 키를 사용하도록 선택합니다. 자세한 내용은 [KMS 키 옵션](eb-encryption-at-rest-key-options.md) 섹션을 참조하세요.
   + EventBridge가 AWS 소유 키를 사용하여 데이터를 암호화하도록 하려면 **AWS 소유 키 사용**을 선택합니다.

     이 AWS 소유 키는 여러 AWS 계정에서 사용하기 위해 EventBridge가 소유하고 관리하는 KMS 키입니다. 일반적으로 리소스를 보호하는 암호화 키를 감사하거나 제어할 필요가 없을 경우, AWS 소유 키를 선택하는 것이 좋습니다.

     이 값이 기본값입니다.
   + EventBridge에 **고객 관리형 키 사용**을 선택하여 지정하거나 생성한 고객 관리형 키를 사용하여 데이터를 암호화합니다.

     고객 관리형 키는 사용자가 생성, 소유 및 관리하는 AWS 계정의 KMS 키입니다. 이러한 KMS 키를 완전히 제어할 수 있습니다.

     1. 기존 고객 관리형 키를 지정하거나 **새 KMS 키 생성**을 선택합니다.

        EventBridge는 키 상태뿐만 아니라, 지정된 고객 관리형 키와 연결된 모든 키 별칭도 표시합니다.

     1. 이 이벤트 버스의 Dead Letter Queue(DLQ)로 사용할 Amazon SQS 대기열(있는 경우)을 선택합니다.

        EventBridge는 그렇게 구성된 경우, 성공적으로 암호화되지 않은 이벤트를 DLQ에 전송하므로 나중에 해당 이벤트를 처리할 수 있습니다.

1. (선택 사항) **로그 - 선택 사항**에서 해당 로그를 구성하는 방법을 비롯해 EventBridge가 이벤트 정보를 기록하는 방법을 설정할 수 있습니다.

   이벤트 버스 로그에 대한 자세한 내용은 [이벤트 버스 로깅 ](eb-event-bus-logs.md) 섹션을 참조하세요.

   CloudWatch 로그는 기본적으로 `ERROR` 로그 수준과 마찬가지로 로그 대상으로 선택됩니다. 따라서 EventBridge는 세부 정보의 `ERROR` 수준이 포함된 로그 레코드를 보내는 새 CloudWatch 로그 그룹을 생성합니다.

   EventBridge가 지원되는 로그 대상 중 하나로 로그 레코드를 보내도록 하려면 다음을 수행합니다.

   1. **로그 - 선택 사항**에서 로그 레코드를 전송할 대상을 선택합니다.

   1. **로그 수준**에서 로그 레코드에 포함할 EventBridge 정보 수준을 선택합니다. `ERROR` 로그 수준이 기본적으로 선택됩니다.

      자세한 내용은 [로그 수준 지정](eb-event-bus-logs.md#eb-event-bus-logs-level) 섹션을 참조하세요.

   1. EventBridge에서 로그 레코드에 이벤트 및 대상 정보를 포함하려면 **세부 정보 데이터 포함**을 선택합니다.

      자세한 내용은 [로그에 세부 정보 포함](eb-event-bus-logs.md#eb-event-logs-data) 섹션을 참조하세요.

   1. 선택한 각 로그 대상을 구성합니다.

1. 선택적 이벤트 버스 기능 구성:
   + 다음 중 하나를 수행하여 리소스 기반 정책을 지정합니다.
     + 이벤트 버스에 부여할 권한이 포함된 정책을 입력합니다. 다른 소스의 정책을 붙여넣거나 정책에 대한 JSON을 입력할 수 있습니다. [정책 예제](eb-event-bus-perms.md) 중 하나를 사용하여 환경에 맞게 수정할 수 있습니다.
     + 정책에 템플릿을 사용하려면 **템플릿 로드**를 선택합니다. 정책에서 보안 주체에게 사용 권한을 부여하는 추가 작업을 추가하는 등 환경에 맞게 정책을 수정합니다.

     리소스 기반 정책을 통해 이벤트 버스에 권한을 부여하는 방법에 대한 자세한 내용은 [Amazon EventBridge의 이벤트 버스에 대한 권한](eb-event-bus-perms.md) 섹션을 참조하세요.
   + 아카이브 활성화(선택 사항)

     이벤트 아카이브를 생성하여 나중에 쉽게 이벤트를 재생할 수 있습니다. 예를 들어 이벤트를 재생하여 오류를 복구하거나 애플리케이션의 새 기능을 검증할 수 있습니다. 자세한 내용은 [Amazon EventBridge에서 이벤트 아카이브 및 재생](eb-archive.md) 섹션을 참조하세요.

     1. **아카이브**에서 **활성화**를 선택합니다.

     1. 아카이브에 대한 이름 및 설명을 지정합니다.

        아카이브 이름이 한번 생성된 이후에는 그 이름을 바꿀 수 없습니다.

        새 이벤트 버스 생성의 일부로 아카이브를 생성할 때는 아카이브의 이벤트 보존 기간 또는 이벤트 패턴을 설정할 수 없습니다. 아카이브가 생성되면 아카이브에 대해 이를 지정할 수 있습니다. 자세한 내용은 [아카이브 업데이트](event-bus-update-archive.md) 섹션을 참조하세요.
   + 스키마 검색 활성화(선택 사항)

     스키마 검색을 활성화하면, 이 이벤트 버스에서 실행 중인 이벤트에서 EventBridge가 자동으로 스키마를 직접 추론할 수 있습니다. 자세한 내용은 [Amazon EventBridge 스키마](eb-schema.md) 섹션을 참조하세요.

     1. **스키마 검색**에서 **활성화**를 선택합니다.
**참고**  
고객 관리형 키를 사용해 암호화된 이벤트 버스에는 스키마 검색이 지원되지 않습니다. 이벤트 버스에서 스키마 검색을 활성화하려면 AWS 소유 키를 사용하도록 선택합니다. 자세한 내용은 [KMS 키 옵션](eb-encryption-at-rest-key-options.md) 섹션을 참조하세요.
   + 태그 지정(선택 사항)

     태그는 AWS 리소스에 할당하는 사용자 지정 속성 레이블입니다. 태그를 사용하여 AWS 리소스를 식별하고 정리할 수 있습니다. 많은 AWS 서비스가 태그 지정을 지원하므로 다른 서비스의 리소스에 동일한 태그를 할당하여 해당 리소스의 관련 여부를 나타낼 수 있습니다. 자세한 내용은 [Amazon EventBridge에서 리소스 태그 지정](eb-tagging.md) 섹션을 참조하세요.

     1. **태그** 아래에서 **새 태그 추가**를 선택합니다.

     1. 새 태그에 대한 키와 값(선택 사항)을 지정합니다.

1. **생성(Create)**을 선택합니다.

# Amazon EventBridge에서 이벤트 버스 업데이트
<a name="event-bus-update"></a>

이벤트 버스를 생성한 후에 이벤트 버스의 구성을 업데이트할 수 있습니다. 여기에는가 계정에 자동으로 EventBridge 생성하는 기본 이벤트 버스가 포함됩니다.

**이벤트 버스 업데이트(콘솔)**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **이벤트 버스**를 선택합니다.

1. 업데이트할 이벤트 버스를 선택합니다.

1. 다음 중 한 개 이상을 수행할 수 있습니다.
   + 아카이브를 생성, 편집 또는 삭제하려면 다음 절차를 참조하세요.

     [아카이브 생성](eb-archive-event.md)

     [아카이브 업데이트](event-bus-update-archive.md)

     [아카이브 삭제](eb-archive-delete.md)
   + 태그를 추가하거나 제거하려면 다음 절차를 참조하세요.

     [이벤트 버스 태그 관리](eb-tagging.md#event-bus-update-tags)
   + 이벤트 버스 권한을 관리하려면 다음 절차를 참조하세요.

     [이벤트 버스 권한 관리](eb-event-bus-permissions-manage.md)
   + 이벤트를 암호화하는 데 사용되는 AWS KMS 키를 변경하려면 다음 절차를 참조하세요.

     [이벤트 버스에서 암호화 업데이트](eb-encryption-event-bus-cmkey-configure.md#eb-encryption-event-bus-cmkey-update)

# EventBridge AWS CloudFormation 에서를 사용하여 기본 이벤트 버스 업데이트
<a name="event-bus-update-default-cfn"></a>

CloudFormation 를 사용하면 인프라를 코드로 처리하여 중앙 집중식으로 반복 가능한 방식으로 계정 및 리전 간에 리소스를 구성하고 관리할 수 있습니다 AWS .는 프로비저닝하고 관리할 리소스를 정의하는 *템플릿을* 생성할 수 있도록 하여이 CloudFormation 작업을 수행합니다.

는 계정에 기본 이벤트 버스를 자동으로 EventBridge 프로비저닝하므로 일반적으로 스택에 포함하려는 리소스와 마찬가지로 CloudFormation 템플릿을 사용하여 생성할 수 CloudFormation 없습니다. CloudFormation 스택에 기본 이벤트 버스를 포함하려면 먼저 스택으로 *가져*와야 합니다. 기본 이벤트 버스를 스택으로 가져온 후에는 원하는 대로 이벤트 버스 속성을 업데이트할 수 있습니다.

기존 리소스를 새 스택 또는 기존 CloudFormation 스택으로 가져오려면 다음 정보가 필요합니다.
+ 가져올 리소스의 고유 식별자입니다.

  기본 이벤트 버스의 경우 식별자는 `Name`이고 식별자 값은 `default`입니다.
+ 기존 리소스의 현재 속성을 정확하게 설명하는 템플릿입니다.

  아래 템플릿 코드 조각에는 기본 이벤트 버스의 현재 속성을 설명하는 `AWS::Events::EventBus` 리소스가 포함되어 있습니다. 이 예제에서는 이벤트 버스가 저장 시 암호화에 고객 관리형 키 및 DLQ를 사용하도록 구성되었습니다.

  또한 가져오려는 기본 이벤트 버스를 설명하는 `AWS::Events::EventBus` 리소스에는 `Retain`으로 설정된 `DeletionPolicy` 속성이 포함되어야 합니다.

  ```
  {
      "AWSTemplateFormatVersion": "2010-09-09",
      "Description": "Default event bus import example",
      "Resources": {
          "defaultEventBus": {
              "Type" : "AWS::Events::EventBus",
              "DeletionPolicy": "Retain",
              "Properties" : {
                  "Name" : "default",
                  "KmsKeyIdentifier" : "KmsKeyArn",
                  "DeadLetterConfig" : {
                      "Arn" : "DLQ_ARN"
                  }
              }
          }
      }
  }
  ```

자세한 내용은 *CloudFormation 사용 설명서*의 [기존 리소스를 CloudFormation 관리로 가져오기](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import.html)를 참조하세요.

# Amazon EventBridge에서 이벤트 버스 삭제
<a name="event-bus-delete"></a>

사용자 지정 또는 파트너 이벤트 버스를 삭제할 수 있습니다. 기본 이벤트 버스는 삭제할 수 없습니다. 이벤트 버스를 삭제하면 해당 이벤트 버스와 연결된 규칙이 삭제됩니다.

**EventBridge 콘솔을 사용하여 이벤트 버스를 삭제하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **이벤트 버스**를 선택합니다.

1. 삭제할 이벤트 버스를 선택합니다.

1. 다음 중 하나를 수행하세요.
   + **삭제**를 선택합니다.
   + 이벤트 버스의 이름을 선택합니다.

     이벤트 버스 세부 정보 페이지에서 **삭제**를 선택합니다.

# 기존 EventBridge 이벤트 버스에서 CloudFormation 템플릿 생성
<a name="eb-generate-event-bus-template"></a>

AWS CloudFormation 를 사용하면 인프라를 코드로 처리하여 중앙 집중식으로 반복 가능한 방식으로 계정 및 리전 간에 AWS 리소스를 구성하고 관리할 수 있습니다. CloudFormation은 프로비저닝 및 관리하려는 리소스를 정의하는 *템플릿*을 생성하게 하여 이 작업을 수행합니다.

EventBridge를 사용하면 계정의 기존 이벤트 버스에서 템플릿을 생성할 수 있으므로 CloudFormation 템플릿 개발을 바로 시작할 수 있습니다. 또한 EventBridge는 템플릿에 해당 이벤트 버스와 관련된 규칙을 포함하는 옵션을 제공합니다. 따라서 이러한 템플릿을 기반으로 사용해 CloudFormation 관리에 따른 리소스 [스택을 생성](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)할 수 있습니다.

CloudFormation에 대한 자세한 내용은 [* CloudFormation 사용 설명서를* 참조하세요.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)

**참고**  
EventBridge는 생성된 템플릿에 [관리형 규칙](eb-rules.md#eb-rules-managed)을 포함하지 않습니다.

[선택한 이벤트 버스에 포함된 하나 이상의 규칙에서 템플릿을 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-create-template.html)할 수도 있습니다.

**이벤트 버스에서 CloudFormation 템플릿 생성**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **이벤트 버스**를 선택합니다.

1. CloudFormation 템플릿을 생성할 이벤트 버스를 선택합니다.

1. **작업** 메뉴에서 **CloudFormation 템플릿**을 선택한 다음, EventBridge에서 템플릿을 생성할 때 사용할 형식(**JSON** 또는 **YAML**)을 선택합니다.

   EventBridge는 선택한 형식으로 생성된 템플릿을 표시합니다. 기본적으로 이벤트 버스와 관련된 모든 규칙이 템플릿에 포함됩니다.

   1. 규칙을 포함하지 않고 템플릿을 생성하려면 **이 이벤트 버스에 규칙 포함**을 선택 취소합니다.

1. EventBridge는 템플릿 파일을 다운로드하거나 템플릿을 클립보드에 복사하는 옵션을 제공합니다.
   + 템플릿 파일을 다운로드하려면 **다운로드**를 선택합니다.
   + 템플릿을 클립보드에 복사하려면 **복사**를 선택합니다.

1. 템플릿을 종료하려면 **취소**를 선택합니다.

사용 사례에 맞게 템플릿을 사용자 지정한 후에는 CloudFormation 템플릿을 사용하여 CloudFormation에서 [스택을 생성할](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) 수 있습니다.

## Amazon EventBridge에서 생성된 CloudFormation 템플릿 사용 시 고려할 사항
<a name="eb-generate-event-bus-template-considerations"></a>

이벤트 버스에서 생성한 CloudFormation 템플릿을 사용할 때는 다음 요소를 고려합니다.
+ EventBridge는 생성 템플릿에 암호를 포함하지 않습니다.

  템플릿을 사용하여 CloudFormation 스택을 생성하거나 업데이트할 때 사용자가 암호 또는 기타 중요한 정보를 지정할 수 있는 [템플릿 파라미터](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)를 포함하도록 템플릿을 편집할 수 있습니다.

  또한 사용자는 Secrets Manager를 이용해 원하는 리전에 보안 암호를 생성한 다음, 생성된 템플릿을 편집하여 [동적 파라미터](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-secretsmanager)를 적용할 수 있습니다.
+ 생성된 템플릿의 대상은 원래 이벤트 버스에 지정된 그대로 유지됩니다. 따라서 템플릿을 사용하여 다른 리전에 스택을 생성하기 전에 템플릿을 적절하게 편집하지 않으면 교차 리전 문제가 발생할 수 있습니다.

  또한 생성된 템플릿은 다운스트림 대상을 자동으로 생성하지 않습니다.

# Amazon EventBridge의 이벤트 버스에 대한 권한
<a name="eb-event-bus-perms"></a>

 AWS 계정의 기본 [이벤트 버스](eb-event-bus.md)는 한 계정의 [이벤트](eb-events.md)만 허용합니다. [리소스 기반 정책](eb-use-resource-based.md)을 이벤트 버스에 연결하여 추가 권한을 이벤트 버스에 부여할 수 있습니다. 리소스 기반 정책을 사용하면 다른 계정의 `PutEvents`, `PutRule` 및 `PutTargets` API 직접 호출을 허용할 수 있습니다. 또한 정책의 [IAM 조건](eb-use-conditions.md)을 사용하여 조직에 권한을 부여하거나, [태그](eb-tagging.md)를 적용하거나, 특정 규칙 또는 계정의 조직에만 이벤트를 필터링할 수 있습니다. 이벤트 버스 생성 시 또는 이후에 이벤트 버스에 대한 리소스 기반 정책을 설정할 수 있습니다.

`PutRule`, `PutTargets`, `DeleteRule`, `RemoveTargets`, `DisableRule` 및 `EnableRule` 등의 이벤트 버스 `Name` 파라미터를 허용하는 EventBridge API는 이벤트 버스 ARN도 허용합니다. 이러한 파라미터를 사용하여 API를 통해 교차 계정 또는 교차 리전 이벤트 버스를 참조합니다. 예를 들어 `PutRule`를 호출하면 역할을 맡을 필요 없이 다른 계정의 이벤트 버스에 [규칙](eb-rules.md)을 생성할 수 있습니다.

이 주제의 정책 예제를 IAM 역할에 연결하여 이벤트를 다른 계정이나 리전으로 전송할 권한을 부여할 수 있습니다. IAM 역할을 사용하여 사용자 계정에서 다른 계정으로 이벤트를 전송할 수 있는 사람에 대한 조직 제어 정책 및 경계를 설정합니다. 규칙의 대상이 이벤트 버스인 경우 항상 IAM 역할을 사용하는 것이 좋습니다. `PutTarget` 호출을 사용하여 IAM 역할을 연결할 수 있습니다. 이벤트를 다른 계정이나 리전으로 전송하는 규칙을 생성하는 방법에 대한 자세한 내용은 [Amazon EventBridge의 AWS 계정 간에 이벤트 전송 및 수신](eb-cross-account.md) 섹션을 참조하세요.

# Amazon EventBridge에서 이벤트 버스 권한 관리
<a name="eb-event-bus-permissions-manage"></a>

기존 이벤트 버스에 대한 권한을 수정하려면 다음 절차를 따릅니다. 를 사용하여 이벤트 버스 정책을 CloudFormation 생성하는 방법에 대한 자세한 내용은 [AWS::Events::EventBusPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html)를 참조하세요.

**기존 이벤트 버스에 대한 권한을 관리하려면**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 왼쪽 탐색 창에서 **이벤트 버스**를 선택합니다.

1. **이름**에서 권한을 관리할 이벤트 버스의 이름을 선택합니다.

   리소스 정책이 이벤트 버스에 연결된 경우 해당 정책이 표시됩니다.

1. **권한 관리**를 선택하고 다음 중 하나를 수행합니다.
   + 이벤트 버스에 부여할 권한이 포함된 정책을 입력합니다. 다른 소스의 정책을 붙여넣거나 정책에 대한 JSON을 입력할 수 있습니다.
   + 정책에 템플릿을 사용하려면 **템플릿 로드**를 선택합니다. 환경에 맞게 정책을 수정하고 정책에서 보안 주체에게 사용 권한을 부여하는 추가 작업을 추가합니다.

1. **업데이트**를 선택합니다.

템플릿은 계정과 환경에 맞게 사용자 지정할 수 있는 예제 정책 구문을 제공합니다. 템플릿은 유효한 정책이 아닙니다. 사용 사례에 맞게 템플릿을 수정하거나 정책 예제 중 하나를 복사하여 사용자 지정할 수 있습니다.

템플릿은 계정에 `PutEvents` 작업을 사용할 권한을 부여하는 방법, 조직에 권한을 부여하는 방법, 계정의 규칙을 관리할 수 있는 권한을 계정에 부여하는 방법에 대한 예가 포함된 정책을 로드합니다. 특정 계정에 맞게 템플릿을 사용자 지정하고 템플릿에서 다른 섹션을 삭제할 수 있습니다. 더 많은 정책 예제는 이 섹션의 뒷부분에 나와 있습니다.

버스에 대한 권한을 업데이트하려고 시도했지만 정책에 오류가 있는 경우 오류 메시지에 정책의 특정 문제가 나타납니다.

```
  ### Choose which sections to include in the policy to match your use case. ###
  ### Be sure to remove all lines that start with ###, including the ### at the end of the line. ###

  ### The policy must include the following: ###

  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [

      ### To grant permissions for an account to use the PutEvents action, include the following, otherwise delete this section: ###

      {

        "Sid": "AllowAccountToPutEvents",
        "Effect": "Allow",
        "Principal": {
          "AWS": "<ACCOUNT_ID>"
        },
        "Action": "events:PutEvents",
        "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default"
      },

      ### Include the following section to grant permissions to all members of your AWS Organizations to use the PutEvents action ###

      {
        "Sid": "AllowAllAccountsFromOrganizationToPutEvents",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "events:PutEvents",
        "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default",
        "Condition": {
          "StringEquals": {
            "aws:PrincipalOrgID": "o-yourOrgID"
          }
        }
      },

      ### Include the following section to grant permissions to the account to manage the rules created in the account ###

      {
        "Sid": "AllowAccountToManageRulesTheyCreated",
        "Effect": "Allow",
        "Principal": {
          "AWS": "<ACCOUNT_ID>"
        },
        "Action": [
          "events:PutRule",
          "events:PutTargets",
          "events:DeleteRule",
          "events:RemoveTargets",
          "events:DisableRule",
          "events:EnableRule",
          "events:TagResource",
          "events:UntagResource",
          "events:DescribeRule",
          "events:ListTargetsByRule",
          "events:ListTagsForResource"],
        "Resource": "arn:aws:events:us-east-1:123456789012:rule/default",
        "Condition": {
          "StringEqualsIfExists": {
            "events:creatorAccount": "<ACCOUNT_ID>"
          }
        }
    }]
  }
```

# 예제 정책: Amazon EventBridge의 다른 계정에 있는 기본 버스로 이벤트 전송
<a name="eb-event-bus-example-policy-cross-account"></a>

다음 예제 정책은 계정 111122223333에 이벤트를 계정 123456789012의 기본 이벤트 버스에 게시할 수 있는 권한을 부여합니다.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
        "Sid": "sid1",
        "Effect": "Allow",
        "Principal": {"AWS":"arn:aws:iam::111112222333:root"},
        "Action": "events:PutEvents",
        "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/default"
        }
    ]
  }
```

------

# 예제 정책: Amazon EventBridge의 다른 계정에 있는 사용자 지정 버스로 이벤트 전송
<a name="eb-event-bus-example-policy-cross-account-custom-bus-source"></a>

다음 예제 정책은 계정 111122223333에 이벤트를 계정 123456789012의 `central-event-bus`에 게시할 수 있는 권한을 부여합니다. 단, 소스 값이 `com.exampleCorp.webStore`로 설정되고 `detail-type`이 `newOrderCreated`로 설정된 이벤트에만 적용합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "WebStoreCrossAccountPublish",
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:root"
      },
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/central-event-bus",
      "Condition": {
        "ForAllValues:StringEquals": {
          "events:source": "com.exampleCorp.webStore",
          "events:detail-type": "newOrderCreated"
        }
      }
    }
  ]
}
```

------

# 예제 정책: Amazon EventBridge의 동일한 계정에 있는 이벤트 버스로 이벤트 전송
<a name="eb-event-bus-example-policy-same-account"></a>

`CustomBus1`이라는 이벤트 버스에 연결된 다음 예제 정책은 이벤트 버스가 동일한 계정 및 리전에서 이벤트를 수신할 수 있도록 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "events:PutEvents"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:111122223333:event-bus/CustomBus1"
            ]
        }
    ]
}
```

------

# 예제 정책: 특정 규칙의 이벤트를 다른 리전의 Amazon EventBridge 버스로 전송
<a name="eb-event-bus-example-policy-restrict-rule"></a>

다음 예제 정책은 계정 123456789012에서 중동(바레인) 및 미국 서부(오레곤) 리전의 `SendToUSE1AnotherAccount`라는 규칙과 일치하는 이벤트를 미국 동부(버지니아 북부)의 `CrossRegionBus`라는 이벤트 버스로 전송할 수 있는 권한을 계정 111122223333에 부여합니다. 예제 정책은 계정 123456789012에 `CrossRegionBus`라는 이벤트 버스에 추가됩니다. 이 정책은 계정 111122223333의 이벤트 버스에 지정된 규칙과 일치하는 경우에만 이벤트를 허용합니다. `Condition` 구문은 이벤트를 지정된 규칙 ARN이 있는 규칙과 일치하는 이벤트로만 제한합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowSpecificRulesAsCrossRegionSource",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111112222333:root"
      },
      "Action": "events:PutEvents",
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": [
            "arn:aws:events:us-west-2:111112222333:rule/CrossRegionBus/SendToUSE1AnotherAccount",
            "arn:aws:events:me-south-1:111112222333:rule/CrossRegionBus/SendToUSE1AnotherAccount"
          ]
        }
      }
    }
  ]
}
```

------

# 예제 정책: Amazon EventBridge의 특정 리전에서만 다른 리전으로 이벤트 전송
<a name="eb-event-bus-example-policy-specific-region"></a>

다음 예제 정책은 중동(바레인) 및 미국 서부(오레곤) 리전에서 생성된 모든 이벤트를 미국 동부(버지니아 북부) 리전의 계정 123456789012에서 `CrossRegionBus`라는 이벤트 버스로 전송할 수 있는 권한을 계정 111122223333에 부여합니다. 계정 111122223333에는 다른 리전에서 생성된 이벤트를 전송할 권한이 없습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowCrossRegionEventsFromUSWest2AndMESouth1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111112222333:root"
      },
      "Action": "events:PutEvents",
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": [
            "arn:aws:events:us-west-2:*:*",
            "arn:aws:events:me-south-1:*:*"
          ]
        }
      }
    }
  ]
}
```

------

# 예제 정책: Amazon EventBridge의 특정 리전에서 이벤트 전송 거부
<a name="eb-event-bus-example-policy-deny-regions"></a>

계정 123456789012의 `CrossRegionBus`라는 이벤트 버스에 연결된 다음 예제 정책은 이벤트 버스가 계정 111122223333에서 이벤트를 수신할 수 있는 권한을 부여하지만 미국 서부(오레곤) 리전에서 생성된 이벤트는 허용하지 않습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "1AllowAnyEventsFromAccount111112222333",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111112222333:root"
      },
      "Action": "events:PutEvents",
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus"
    },
    {
      "Sid": "2DenyAllCrossRegionUSWest2Events",
      "Effect": "Deny",
      "Principal": {
        "AWS": "*"
      },
      "Action": "events:PutEvents",
      "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/CrossRegionBus",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": [
            "arn:aws:events:us-west-2:*:*"
          ]
        }
      }
    }
  ]
}
```

------

# Amazon EventBridge의 이벤트
<a name="eb-events"></a>

*이벤트*는 AWS 환경, SaaS 파트너 서비스나 애플리케이션 또는 사용자 애플리케이션이나 서비스 중 하나와 같은 환경의 변화를 나타냅니다. 다음은 이벤트의 예제입니다.
+ Amazon EC2는 인스턴스의 상태가 변경될 때 이벤트를 생성합니다(예: 보류 중에서 실행 중으로 변경).
+ AWS CloudFormation 는 스택을 생성, 업데이트 또는 삭제할 때 이벤트를 생성합니다.
+ AWS CloudTrail 는 API 호출 시 이벤트를 게시합니다.

또한 정기적으로 생성되는 예약 이벤트를 설정할 수도 있습니다.

이벤트는 JSON 객체로 표현되고 모두 구조가 비슷하며 최상위 필드가 동일합니다. 자세한 내용은 *EventBridge 이벤트 참조*에서 [이벤트 구조](https://docs.aws.amazon.com/eventbridge/latest/ref/welcome.html#overiew-event-structure)를 참조하세요.

## AWS 서비스의 이벤트
<a name="eb-service-event"></a>

많은 AWS 서비스가 EventBridge가 수신하는 이벤트를 생성합니다. 계정의 AWS 서비스가 EventBridge로 이벤트를 보내면 계정의 기본 이벤트 버스로 이동합니다.

EventBridge로 이벤트를 보내는 AWS 서비스 목록과 해당 서비스가 보내는 이벤트는 [EventBridge 이벤트 참조](https://docs.aws.amazon.com/eventbridge/latest/ref/welcome.html)를 참조하세요.

AWS 서비스는 *내구성* 또는 *최선의 노력을 기반으로* EventBridge에 이벤트를 전송합니다. 자세한 내용은 *EventBridge 이벤트 참조*에서 [이벤트 전송 수준](https://docs.aws.amazon.com/eventbridge/latest/ref/welcome.html#event-delivery-level)을 참조하세요.

 다음 동영상에서는 이벤트의 기본 사항을 설명합니다.




 다음 동영상에서는 이벤트가 EventBridge에 전달되는 방법을 다룹니다.




# Amazon EventBridge에서 `PutEvents`를 통해 이벤트 전송
<a name="eb-putevents"></a>

`PutEvents` 작업은 단일 요청으로 EventBridge에 여러 개의 [이벤트](eb-events.md)를 전송합니다. 자세한 내용은 *Amazon EventBridge API 참조*의 [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) 및 *AWS CLI 명령 참조*의 [put-events](https://docs.aws.amazon.com/cli/latest/reference/events/put-events.html)를 참조하세요.

각 `PutEvents` 요청은 제한된 수의 항목을 지원할 수 있습니다. 자세한 내용은 [Amazon EventBridge 할당량](eb-quota.md) 단원을 참조하십시오. `PutEvents` 작업은 요청의 일반 순서에 따라 모든 항목들을 처리하고자 시도합니다. `PutEvents`를 호출하면 EventBridge는 각 이벤트에 고유 ID를 할당합니다.

다음 예제의 Java 코드는 EventBridge에 동일한 이벤트를 두 개 전송합니다.

------
#### [ AWS SDK for Java Version 2.x ]

```
EventBridgeClient eventBridgeClient =
    EventBridgeClient.builder().build();

PutEventsRequestEntry requestEntry = PutEventsRequestEntry.builder()
    .resources("resource1", "resource2")
    .source("com.mycompany.myapp")
    .detailType("myDetailType")
    .detail("{ \"key1\": \"value1\", \"key2\": \"value2\" }")
    .build();

List <
PutEventsRequestEntry > requestEntries = new ArrayList <
PutEventsRequestEntry > ();
requestEntries.add(requestEntry);

PutEventsRequest eventsRequest = PutEventsRequest.builder()
    .entries(requestEntries)
    .build();

PutEventsResponse result = eventBridgeClient.putEvents(eventsRequest);

for (PutEventsResultEntry resultEntry: result.entries()) {
    if (resultEntry.eventId() != null) {
        System.out.println("Event Id: " + resultEntry.eventId());
    } else {
        System.out.println("PutEvents failed with Error Code: " + resultEntry.errorCode());
    }
}
```

------
#### [ AWS SDK for Java Version 1.0 ]

```
EventBridgeClient eventBridgeClient =
    EventBridgeClient.builder().build();
    
PutEventsRequestEntry requestEntry = new PutEventsRequestEntry()
        .withTime(new Date())
        .withSource("com.mycompany.myapp")
        .withDetailType("myDetailType")
        .withResources("resource1", "resource2")
        .withDetail("{ \"key1\": \"value1\", \"key2\": \"value2\" }");

PutEventsRequest request = new PutEventsRequest()
        .withEntries(requestEntry, requestEntry);

PutEventsResult result = awsEventsClient.putEvents(request);

for (PutEventsResultEntry resultEntry : result.getEntries()) {
    if (resultEntry.getEventId() != null) {
        System.out.println("Event Id: " + resultEntry.getEventId());
    } else {
        System.out.println("Injection failed with Error Code: " + resultEntry.getErrorCode());
    }
}
```

------

이 코드를 실행하면 `PutEvents` 결과에 응답 항목 어레이가 포함됩니다. 응답 어레이의 각 항목은 요청 및 응답이 처음부터 끝까지 순서대로 나열된 요청 어레이의 항목에 해당합니다. 응답의 `Entries` 어레이에는 항상 요청 어레이와 같은 수의 항목이 포함됩니다.

## `PutEvents`를 사용하여 실패 처리
<a name="eb-failure-handling"></a>

기본적으로 요청 내의 개별 항목이 실패하더라도 EventBridge는 요청의 나머지 항목을 계속 처리합니다. 응답 `Entries` 어레이에는 성공한 항목과 실패한 항목이 모두 포함될 수 있습니다. 따라서 실패한 항목들을 찾아서 후속 호출에 이를 포함시켜야 합니다.

성공한 결과 항목에는 `Id` 값이 포함되고, 실패한 결과 항목에는 `ErrorCode` 및 `ErrorMessage` 값이 포함됩니다. `ErrorCode`는 오류 유형을 설명하며 `ErrorMessage`는 오류에 대한 자세한 정보를 제공합니다. 다음 예제에서는 하나의 `PutEvents` 요청에 대해 3개의 결과 항목이 있습니다. 두 번째 항목은 실패했습니다.

```
{
    "FailedEntryCount": 1, 
    "Entries": [
        {
            "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860"
        },
        {   "ErrorCode": "InternalFailure",
            "ErrorMessage": "Internal Service Failure"
        },
        {
            "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82"
        }
    ]
}
```

**참고**  
`PutEvents`를 사용하여 존재하지 않는 이벤트 버스에 이벤트를 게시하는 경우 EventBridge 이벤트 매칭은 해당 규칙을 찾지 못하고 이벤트를 삭제합니다. EventBridge는 `200` 응답을 보내지만 요청이 실패하거나 요청 응답의 `FailedEntryCount` 값에 이벤트를 포함하지 않습니다.

후속 `PutEvents` 요청에 실패한 항목들을 포함할 수 있습니다. 먼저, 요청에 실패한 항목이 있는지 알아보려면 `PutEventsResult`에서 `FailedRecordCount` 파라미터를 확인합니다. 값이 0이 아닌 경우 null이 아닌 `ErrorCode` 값을 가진 각 `Entry` 항목을 후속 요청에 추가할 수 있습니다. 다음 예제에서는 실패 핸들러를 보여줍니다.

```
PutEventsRequestEntry requestEntry = new PutEventsRequestEntry()
        .withTime(new Date())
        .withSource("com.mycompany.myapp")
        .withDetailType("myDetailType")
        .withResources("resource1", "resource2")
        .withDetail("{ \"key1\": \"value1\", \"key2\": \"value2\" }");

List<PutEventsRequestEntry> putEventsRequestEntryList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
    putEventsRequestEntryList.add(requestEntry);
}

PutEventsRequest putEventsRequest = new PutEventsRequest();
putEventsRequest.withEntries(putEventsRequestEntryList);
PutEventsResult putEventsResult = awsEventsClient.putEvents(putEventsRequest);

while (putEventsResult.getFailedEntryCount() > 0) {
    final List<PutEventsRequestEntry> failedEntriesList = new ArrayList<>();
    final List<PutEventsResultEntry> PutEventsResultEntryList = putEventsResult.getEntries();
    for (int i = 0; i < PutEventsResultEntryList.size(); i++) {
        final PutEventsRequestEntry putEventsRequestEntry = putEventsRequestEntryList.get(i);
        final PutEventsResultEntry putEventsResultEntry = PutEventsResultEntryList.get(i);
        if (putEventsResultEntry.getErrorCode() != null) {
            failedEntriesList.add(putEventsRequestEntry);
        }
    }
    putEventsRequestEntryList = failedEntriesList;
    putEventsRequest.setEntries(putEventsRequestEntryList);
    putEventsResult = awsEventsClient.putEvents(putEventsRequest);
    }
```

## 를 사용하여 이벤트 전송 AWS CLI
<a name="eb-send-events-aws-cli"></a>

 AWS CLI 를 사용하여 사용자 지정 이벤트를 EventBridge로 전송하여 처리할 수 있습니다. 다음 예제는 EventBridge로 하나의 사용자 지정 이벤트를 입력합니다.

```
aws events put-events \
--entries '[{"Time": "2016-01-14T01:02:03Z", "Source": "com.mycompany.myapp", "Resources": ["resource1", "resource2"], "DetailType": "myDetailType", "Detail": "{ \"key1\": \"value1\", \"key2\": \"value2\" }"}]'
```

사용자 지정 이벤트가 포함된 JSON 파일을 생성할 수도 있습니다.

```
[
  {
    "Time": "2016-01-14T01:02:03Z",
    "Source": "com.mycompany.myapp",
    "Resources": [
      "resource1",
      "resource2"
    ],
    "DetailType": "myDetailType",
    "Detail": "{ \"key1\": \"value1\", \"key2\": \"value2\" }"
  }
]
```

그런 다음 AWS CLI 를 사용하여이 파일의 항목을 읽고 이벤트를 보내려면 명령 프롬프트에 다음을 입력합니다.

```
aws events put-events --entries file://entries.json
```

## PutEvents 이벤트 항목 크기 계산
<a name="eb-putevent-size"></a>

`PutEvents` 작업을 사용하여 EventBridge로 사용자 지정 이벤트를 전송할 때 효율성을 위해 최대 10개의 이벤트 항목을 하나의 요청으로 일괄 처리할 수 있습니다. 총 요청 크기, 즉 요청의 모든 이벤트 항목 합계는 1MB 미만이어야 합니다. 이 제한은 개별 항목이 아닌 요청 전체에 적용됩니다. 단일 이벤트는 요청의 유일한 항목인 경우 최대 1MB를 사용할 수 있습니다. 이벤트를 전송하기 전에 항목 크기를 계산할 수 있습니다.



**참고**  
*항목*에는 크기 제한이 있습니다. 항목이 크기 제한보다 작더라도 EventBridge의 *이벤트*는 JSON 형식의 문자와 키로 이벤트를 표현해야 하므로 항상 항목 크기보다 큽니다. 자세한 내용은 [Amazon EventBridge의 이벤트](eb-events.md) 단원을 참조하십시오.

EventBridge는 다음과 같이 `PutEventsRequestEntry` 크기를 계산합니다.
+ 지정된 경우 `Time` 파라미터는 14바이트입니다.
+ `Source` 및 `DetailType` 파라미터는 UTF-8 인코딩 형식의 바이트 수입니다.
+ 지정된 경우 `Detail` 파라미터는 UTF-8 인코딩 형식의 바이트 수입니다.
+ 지정된 경우 각 `Resources` 파라미터 항목은 UTF-8 인코딩 형식의 바이트 수입니다.

다음의 Java 코드 예제는 지정된 `PutEventsRequestEntry` 객체의 크기를 계산합니다. 1MB 제한이 위반되지 않았는지 확인하려면 요청의 모든 이벤트에 대해 계산을 수행해야 합니다.

```
int getSize(PutEventsRequestEntry entry) {
    int size = 0;
    if (entry.getTime() != null) {
        size += 14;
    }
    size += entry.getSource().getBytes(StandardCharsets.UTF_8).length;
    size += entry.getDetailType().getBytes(StandardCharsets.UTF_8).length;
    if (entry.getDetail() != null) {
        size += entry.getDetail().getBytes(StandardCharsets.UTF_8).length;
    }
    if (entry.getResources() != null) {
        for (String resource : entry.getResources()) {
            if (resource != null) {
                size += resource.getBytes(StandardCharsets.UTF_8).length;
            }
        }
    }
    return size;
}
```

**참고**  
항목 크기가 1MB보다 큰 경우 이벤트를 Amazon S3 버킷에 업로드하고 `PutEvents` 항목에 `Object URL`를 포함하는 것이 좋습니다.

# 가 이벤트 전송 EventBridge 을 재시도하는 방법
<a name="eb-rule-retry-policy"></a>

[규칙](eb-rules.md)에 지정된 [대상](eb-targets.md)에 [이벤트](eb-events.md)가 성공적으로 전달되지 않는 경우가 있습니다. 이런 일이 발생할 수 있는 상황은 다음과 같습니다.
+ 대상 리소스를 사용할 수 없는 경우
+ 네트워크 조건으로 인해

재시도 가능한 오류로 인해 이벤트가 대상에 성공적으로 전달되지 않으면 EventBridge는 이벤트 전송을 다시 시도합니다. 대상의 **재시도 정책** 설정에서 시도 시간 및 재시도 횟수를 설정합니다. 기본적으로 EventBridge는 [지수 백오프 및 *지터*](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/) 또는 임의 지연을 사용하여 24시간 동안 최대 185회까지 이벤트 전송을 재시도합니다.

모든 재시도 횟수가 소진된 후에도 이벤트가 전달되지 않으면 해당 이벤트는 삭제되고 EventBridge는 이를 계속 처리하지 않습니다.

이벤트가 대상에게 전달되지 못하여 손실되는 것을 방지하려면, 실패한 모든 이벤트를 수신하도록 Dead Letter Queue(DLQ)를 구성합니다. 자세한 내용은 [Dead Letter Queue(DLQ)를 사용하여 EventBridge에서 배달되지 않은 이벤트 처리](eb-rule-dlq.md) 단원을 참조하십시오.

# Dead Letter Queue(DLQ)를 사용하여 EventBridge에서 배달되지 않은 이벤트 처리
<a name="eb-rule-dlq"></a>

대상으로 전달되지 않는 이벤트가 손실되지 않도록 DLQ(Dead Letter Queue)를 구성하고 실패한 모든 이벤트를 이 대기열로 전송하여 나중에 처리할 수 있습니다.

EventBridge DLQ는 EventBridge가 대상에 성공적으로 전송하지 못한 이벤트를 저장하는 데 사용하는 표준 Amazon SQS 대기열입니다. 규칙을 생성하고 대상을 추가할 때 DLQ 사용 여부를 선택할 수 있습니다. DLQ를 구성하면 성공적으로 전송되지 않은 모든 이벤트를 유지할 수 있습니다. 그러면 이벤트 전송 실패로 이어진 문제를 해결하고 나중에 이벤트를 처리할 수 있습니다.

규칙의 대상에 대해 DLQ를 구성하면 EventBridge는 간접 호출이 실패한 이벤트를 선택한 Amazon SQS 대기열로 보냅니다.

이벤트 오류는 다양한 방식으로 처리됩니다. 재시도 없이 일부 이벤트가 삭제되거나 DLQ로 전송됩니다. 예를 들어 대상에 대한 권한 누락, 더 이상 존재하지 않는 대상 리소스 또는 잘못된 주소 또는 DNS 조회 실패로 인해 찾을 수 없는 대상으로 인해 발생하는 오류의 경우 기본 문제를 해결하기 위한 조치가 취해질 때까지 재시도는 발생하지 않습니다.는 이러한 이벤트를 지정한 경우 대상 DLQ로 직접 EventBridge 보냅니다.

이벤트 전송이 실패하면 EventBridge는 대상 `invocation`이 실패했음을 나타내는 이벤트를 Amazon CloudWatch 지표에 게시합니다. DLQ를 사용하는 경우 `InvocationsSentToDLQ` 및 `InvocationsFailedToBeSentToDLQ`를 포함한 추가 지표가 CloudWatch로 전송됩니다.

를 사용하여 저장 이벤트를 암호화하는 경우 이벤트 버스에 DLQs AWS KMS 고객 관리형 키 를 지정할 수도 있습니다. 자세한 내용은 [Dead Letter Queue(DLQ)을 사용하여 EventBridge에서 암호화된 이벤트 오류 캡처](eb-encryption-event-bus-dlq.md) 단원을 참조하십시오.

DLQ의 각 메시지에는 다음과 같은 사용자 지정 속성이 포함됩니다.
+ `RULE_ARN`
+ `TARGET_ARN`
+ `ERROR_CODE`

  다음은 DLQ가 반환할 수 있는 오류 코드의 샘플입니다.
  + `ACTION_DECRYPTION_FAILURE`
  + `CONNECTION_FAILURE`
  + `CROSS_ACCOUNT_INGESTION_FAILED`
  + `CROSS_REGION_INGESTION_FAILED`
  + `ERROR_FROM_TARGET`
  + `EVENT_DECRYPTION_FAILURE`
  + `EVENT_ENCRYPTION_FAILURE`
  + `EVENTS_IN_BATCH_REQUEST_REJECTED`
  + `FAILED_TO_ASSUME_ROLE`
  + `INTERNAL_ERROR`
  + `INVALID_JSON`
  + `INVALID_PARAMETER`
  + `NO_PERMISSIONS`
  + `NO_RESOURCE`
  + `RESOURCE_ALREADY_EXISTS`
  + `RESOURCE_LIMIT_EXCEEDED`
  + `RESOURCE_MODIFICATION_COLLISION`
  + `RULE_DECRYPTION_FAILURE`
  + `SDK_CLIENT_ERROR`
  + `THIRD_ACCOUNT_HOP_DETECTED`
  + `THIRD_REGION_HOP_DETECTED`
  + `THROTTLING`
  + `TIMEOUT`
  + `TRANSIENT_ASSUME_ROLE`
  + `UNKNOWN`
+ `ERROR_MESSAGE`
+ `EXHAUSTED_RETRY_CONDITION`

  다음 조건이 반환될 수 있습니다.
  + `MaximumRetryAttempts`
  + `MaximumEventAgeInSeconds`
+ `RETRY_ATTEMPTS`

 다음 동영상에서는 DLQs 설정에 대해 설명합니다.




**Topics**
+ [DLQ(Dead Letter Queue) 사용 시 고려할 사항](#eb-dlq-considerations)
+ [DLQ(Dead Letter Queue)에 권한 부여](#eb-dlq-perms)
+ [DLQ(Dead Letter Queue)에서 이벤트를 재전송하는 방법](#eb-dlq-resend)

## DLQ(Dead Letter Queue) 사용 시 고려할 사항
<a name="eb-dlq-considerations"></a>

EventBridge에 대한 DLQ를 구성할 때 다음 사항을 고려하세요.
+ [표준 대기열](https://docs.aws.amazon.com//AWSSimpleQueueService/latest/SQSDeveloperGuide/standard-queues.html)만 지원됩니다. EventBridge에서는 DLQ에 FIFO 대기열을 사용할 수 없습니다.
+ EventBridge는 오류 코드, 오류 메시지, 소진된 재시도 조건, 규칙 ARN, 재시도 횟수, 대상 ARN을 비롯한 이벤트 메타데이터 및 메시지 속성을 메시지에 포함합니다. 이러한 값을 사용하여 이벤트와 실패 원인을 식별할 수 있습니다.
+ 동일한 계정의 DLQ에 대한 권한:
  + 콘솔을 사용하여 규칙에 대상을 추가하고 동일한 계정에서 Amazon SQS 대기열을 선택하면 EventBridge에 대기열에 대한 액세스 권한을 부여하는 [리소스 기반 정책](eb-use-resource-based.md)이 대기열에 자동으로 연결됩니다.
  + EventBridge API의 `PutTargets` 작업을 사용하여 규칙 대상을 추가하거나 업데이트하고 동일한 계정에서 Amazon SQS 대기열을 선택하는 경우, 선택한 대기열에 수동으로 권한을 부여해야 합니다. 자세한 내용은 [DLQ(Dead Letter Queue)에 권한 부여](#eb-dlq-perms)를 참조하세요.
+ 다른 AWS 계정의 Amazon SQS 대기열을 사용할 수 있는 권한.
  + 콘솔에서 규칙을 생성하는 경우 다른 계정의 대기열은 선택할 수 있도록 표시되지 않습니다. 다른 계정의 대기열에 대한 ARN을 제공한 다음, 수동으로 리소스 기반 정책을 연결하여 대기열에 권한을 부여해야 합니다. 자세한 내용은 [DLQ(Dead Letter Queue)에 권한 부여](#eb-dlq-perms)를 참조하세요.
  + API를 사용하여 규칙을 생성하는 경우 DLQ(Dead Letter Queue)로 사용되는 다른 계정의 SQS 대기열에 리소스 기반 정책을 수동으로 연결해야 합니다. 자세한 내용은 [DLQ(Dead Letter Queue)에 권한 부여](#eb-dlq-perms)를 참조하세요.
+ 사용하는 Amazon SQS 대기열은 규칙을 생성한 리전과 동일한 리전에 있어야 합니다.

## DLQ(Dead Letter Queue)에 권한 부여
<a name="eb-dlq-perms"></a>

이벤트를 대기열에 성공적으로 전달하려면 EventBridge에 전달 권한이 있어야 합니다. EventBridge 콘솔을 사용하여 DLQ를 지정하면 권한이 자동으로 추가됩니다. 여기에는 다음이 포함됩니다.
+ 규칙의 대상에 대해 DLQ를 구성하는 경우.
+ 를 EventBridge 사용하여 저장 이벤트를 암호화하도록 지정한 이벤트 버스에 대해 DLQ AWS KMS 고객 관리형 키 를 구성하는 경우.

  자세한 내용은 [Dead Letter Queue(DLQ)을 사용하여 EventBridge에서 암호화된 이벤트 오류 캡처](eb-encryption-event-bus-dlq.md) 단원을 참조하십시오.

 API를 사용하여 DLQ를 지정하거나 다른 AWS 계정에 있는 대기열을 사용하는 경우, 필요한 권한을 부여하는 리소스 기반 정책을 수동으로 생성한 후 대기열에 연결해야 합니다.

**대상 Dead Letter Queue(DLQ) 권한 예제**

다음의 리소스 기반 정책은 EventBridge가 Amazon SQS 대기열에 이벤트 메시지를 보내는 데 필요한 권한을 부여하는 방법을 보여줍니다. 정책 예제는 `SendMessage` 작업을 사용하여 ‘MyEventDLQ’라는 대기열에 메시지를 보낼 수 있는 권한을 EventBridge 서비스에 부여합니다. 대기열은 AWS 계정 123456789012의 us-west-2 리전에 있어야 합니다. `Condition` 문은 AWS 계정 123456789012의 us-west-2 리전에서 생성된 "MyTestRule"이라는 규칙에서 오는 요청만 허용합니다.

```
{
  "Sid": "Dead-letter queue permissions",
  "Effect": "Allow",
  "Principal": {
     "Service": "events.amazonaws.com"
  },
  "Action": "sqs:SendMessage",
  "Resource": "arn:aws:sqs:us-west-2:123456789012:MyEventDLQ",
  "Condition": {
    "ArnEquals": {
      "aws:SourceArn": "arn:aws:events:us-west-2:123456789012:rule/MyTestRule"
    }
  }
}
```

**이벤트 버스 Dead Letter Queue(DLQ) 권한 예제**

다음의 리소스 기반 정책은 이벤트 버스에 DLQ를 지정할 때 필요한 권한을 부여하는 방법을 설명합니다. 이 경우 `aws:SourceArn`은 이벤트를 DLQ로 전송하는 이벤트 버스의 ARN을 지정합니다. 이 예제에서도 대기열은 이벤트 버스와 동일한 리전에 있어야 합니다.

```
{
  "Sid": "Dead-letter queue permissions",
  "Effect": "Allow",
  "Principal": {
     "Service": "events.amazonaws.com"
  },
  "Action": "sqs:SendMessage",
  "Resource": "arn:aws:sqs:region:account-id:queue-name",
  "Condition": {
    "ArnEquals": {
      "aws:SourceArn": "arn:aws:events:region:account-id:event-bus/event-bus-arn"
    }
  }
}
```

정책을 대기열에 연결하려면 Amazon SQS 콘솔을 사용하여 대기열을 열고 **액세스 정책**을 선택하여 정책을 편집합니다. AWS CLI도 사용할 수 있습니다. 자세한 내용은 [Amazon SQS 권한](eb-use-resource-based.md#eb-sqs-permissions)를 참조하세요.

## DLQ(Dead Letter Queue)에서 이벤트를 재전송하는 방법
<a name="eb-dlq-resend"></a>

다음 두 가지 방법을 사용하여 메시지를 DLQ로부터 이동할 수 있습니다.
+ Amazon SQS 소비자 로직 작성 방지 – DLQ를 Lambda 함수에 대한 이벤트 소스로 설정하여 DLQ를 비웁니다.
+ Amazon SQS 소비자 로직 작성 - Amazon SQS API, AWS SDK 또는 AWS CLI 를 사용하여 DLQ에서 메시지를 폴링, 처리 및 삭제하기 위한 사용자 지정 소비자 로직을 작성합니다.

# AWS 를 통해 전달되는 서비스 이벤트 AWS CloudTrail
<a name="eb-service-event-cloudtrail"></a>

 AWS CloudTrail 는 AWS API 호출과 같은 이벤트를 자동으로 기록하는 서비스입니다. CloudTrail의 정보를 사용하는 EventBridge 규칙을 생성할 수 있습니다. CloudTrail에 대한 자세한 내용은 [란 무엇입니까 AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)를 참조하세요.

CloudTrail은 다음과 같은 유형의 이벤트를 기본 EventBridge 이벤트 버스로 전송합니다. 각 경우 이벤트 `detail-type` 값은 나열된 이벤트 유형입니다.
+ `AWS API Call via CloudTrail`

  퍼블릭 AWS 서비스 API에 대한 요청을 나타내는 이벤트입니다.

  자세한 내용은 *AWS CloudTrail 사용 설명서*의 [CloudTrail 이벤트 이해](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-events.html)를 참조하세요.
+ `AWS Console Signin via CloudTrail`

   AWS 관리 콘솔, AWS 토론 포럼 및 AWS 지원 센터에 로그인하려는 시도입니다.

  자세한 내용은 *AWS CloudTrail 사용 설명서*의 [AWS Management Console 로그인 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-aws-console-sign-in-events.html)를 참조하세요.
+ `AWS Console Action via CloudTrail`

  API 직접 호출이 아닌 콘솔에서 수행된 작업입니다.

  자세한 내용은 *AWS CloudTrail 사용 설명서*의 [AWS Management Console 로그인 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-aws-console-sign-in-events.html)를 참조하세요.
+ `AWS Service Event via CloudTrail`

   AWS 서비스에서 생성하지만 퍼블릭 AWS 서비스 API에 대한 요청에 의해 직접 트리거되지 않는 이벤트입니다.

  자세한 내용을 알아보려면 *AWS CloudTrail 사용 설명서*의 [AWS 서비스 이벤트](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/non-api-aws-service-events.html)를 참조하세요.
+ `AWS Insight via CloudTrail`

  인사이트 이벤트는 고객이 CloudTrail Insight 기능을 활성화하면 CloudTrail에 의해 트리거됩니다.

  자세한 설명은 *AWS CloudTrail 사용자 가이드*의 [CloudTrail Insight](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-insight-details.html)를 참조하세요.

CloudTrail `detail-type` 값 중 하나를 사용하여 이벤트를 기록하려면 로깅을 사용하여 CloudTrail 추적을 활성화해야 합니다. 자세한 내용은 *AWS CloudTrail 사용 설명서*의 [CloudTrail 트레일을 통해 작업](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)을 참조하세요.

 AWS 서비스의 일부 발생은 서비스 자체와 CloudTrail 모두에 의해 EventBridge에 보고될 수 있습니다. 예를 들어 인스턴스를 시작하는 Amazon EC2 API 직접 호출은 여러 이벤트를 생성합니다.
+ `EC2 Instance State-change Notification` 인스턴스가 `pending`에 들어갔다가 `running` 상태가 되면 Amazon EC2에서 EventBridge로 직접 전송되는 이벤트입니다. 예제:

  ```
  {
      . . . 
     "detail-type":"EC2 Instance State-change Notification",
     "source":"aws.ec2",
      . . . 
     "detail":{
        "instance-id":"i-abcd1111",
        "state":"pending"
     }
  }
  ```
+ API 직접 호출을 나타내는 CloudTrail에서 EventBridge로 전송되는 `AWS API Call via CloudTrail` 이벤트입니다. 예제:

  ```
  {
      . . . 
     "detail-type":"AWS API Call via CloudTrail",
     "source":"aws.ec2",
      . . . 
     ],
    "detail": {
      "eventSource": "ec2.amazonaws.com",
      "eventName": "StartInstances"
      }
  }
  ```

**참고**  
`Put*Events` API 호출 이벤트를 이벤트 패턴 생성의 기반으로 사용하는 경우 최종 이벤트 패턴이 1MB를 초과하지 않도록 해야 합니다. `Put*Events` 요청의 최대 크기는 1MB입니다. 자세한 내용은 [](eb-putevents.md) 단원을 참조하십시오.

CloudTrail이 지원하는 서비스에 대한 자세한 내용은 *CloudTrail 사용 설명서*의 [CloudTrail 지원 서비스 및 통합](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)을 참조하세요.

# AWS 서비스에서 읽기 전용 관리 이벤트 수신
<a name="eb-service-event-cloudtrail-management"></a>

CloudTrail을 통해 AWS 서비스로부터 읽기 전용 *관리* 이벤트를 수신하도록 기본 또는 사용자 지정 이벤트 버스에 규칙을 설정할 수 있습니다. 관리 이벤트는 AWS 계정의 리소스에 대해 수행되는 관리 작업에 대한 가시성을 제공합니다. 이를 컨트롤 플레인 작업이라고도 합니다. 자세한 내용은 *CloudTrail 사용 설명서*의 [관리 이벤트 로깅](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) 섹션을 참조하십시오.

기본 또는 사용자 지정 이벤트 버스의 각 규칙에 대해 규칙 상태를 설정하여 수신할 이벤트 유형을 제어할 수 있습니다.
+ 가 규칙과 이벤트를 일치 EventBridge 시키지 않도록 규칙을 비활성화합니다.
+ 가 전달되는 읽기 전용 AWS 관리 이벤트를 제외하고 규칙에 대해 이벤트를 EventBridge 일치시키도록 규칙을 활성화합니다 CloudTrail.
+ 가 전달되는 읽기 전용 관리 이벤트를 *포함하여* 규칙과 모든 이벤트를 EventBridge 일치시키도록 규칙을 활성화합니다 CloudTrail.

파트너 이벤트 버스는 AWS 이벤트를 수신하지 않습니다.

읽기 전용 관리 이벤트를 수신할지 여부를 결정할 때 고려해야 할 몇 가지 사항은 다음과 같습니다.
+ 및 `DescribeKey`, IAM `GetPolicy` 및 이벤트와 같은 AWS Key Management Service `GetKeyPolicy` 특정 읽기 전용 관리 `GetRole` 이벤트는 일반적인 변경 이벤트보다 훨씬 높은 볼륨에서 발생합니다.
+ 해당 이벤트가 `Describe`, `Get`또는 로 시작되지 않더라도 이미 읽기 전용 관리 이벤트를 수신하고 있을 수 있습니다`List`. 이러한 예 중 하나는 EventBridge`TestEventPattern`에서 가져온 것입니다.

   AWS 서비스별 `Describe`, `Get`또는 `List` 명명 규칙을 준수하지 않는 읽기 전용 관리 이벤트 목록은 섹션을 참조하세요[EventBridge의 AWS 서비스에서 생성된 관리 이벤트](eb-service-management-event-list.md).

**AWS CLI를 사용하여 읽기 전용 관리 이벤트를 수신하는 규칙을 생성하려면**
+ `put-rule` 명령으로 규칙을 만들거나 업데이트하여 파라미터를 사용하여 다음을 수행할 수 있습니다.
  + 규칙이 기본 이벤트 버스 또는 특정 사용자 지정 이벤트 버스에 속하도록 지정합니다.
  + 규칙 상태를 `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`로 설정합니다. 

  `aws events put-rule --name "ruleForManagementEvents" --event-bus-name "default" --state "ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS"`

**참고**  
CloudWatch 관리 이벤트에 대한 규칙 활성화는 AWS CLI 및 CloudFormation 템플릿을 통해서만 지원됩니다.

**Example**  
다음 예시는 특정 이벤트에 일치시키는 방법을 보여줍니다. 모범 관행은 명확하고 편집하기 쉽도록 특정 이벤트에 일치시키기 위한 전용 규칙을 정의하는 것입니다.  
이 경우 전용 규칙은 `AssumeRole` 관리 이벤트와 일치합니다 AWS Security Token Service.  

```
{
    "source" : [ "aws.sts" ],
    "detail-type": ["AWS API Call via CloudTrail"],
    "detail" : {
        "eventName" : ["AssumeRole"]
    }
}
```

# EventBridge의 AWS 서비스에서 생성된 관리 이벤트
<a name="eb-service-management-event-list"></a>

일반적으로 관리(또는 읽기 전용) 이벤트를 생성하는 API는 동사 `Describe`, `Get` 또는 `List`로 시작합니다. 아래 표에는이 명명 규칙을 따르지 않는 AWS 서비스와 이들이 생성하는 관리 이벤트가 나와 있습니다. 관리 이벤트에 대한 자세한 내용은 [AWS 서비스에서 읽기 전용 관리 이벤트 수신](eb-service-event-cloudtrail-management.md) 섹션을 참조하십시오.

## `Describe`, `Get` 또는 `List`로 시작하지 않는 관리 이벤트
<a name="eb-service-management-table-list"></a>

다음 표에는 `Describe`, `Get`또는 로 시작하는 일반적인 명명 규칙을 따르지 않는 AWS 서비스와 이들이 생성하는 관리 이벤트가 나열되어 있습니다`List`.


| 서비스 | 이벤트 이름 | 이벤트 유형 | 
| --- | --- | --- | 
| Alexa for Business | ResolveRoom | API 직접 호출 | 
| Alexa for Business | SearchAddressBooks | API 직접 호출 | 
| Alexa for Business | SearchContacts | API 직접 호출 | 
| Alexa for Business | SearchDevices | API 직접 호출 | 
| Alexa for Business | SearchProfiles | API 직접 호출 | 
| Alexa for Business | SearchRooms | API 직접 호출 | 
| Alexa for Business | SearchSkillGroups | API 직접 호출 | 
| Alexa for Business | SearchUsers | API 직접 호출 | 
| IAM Access Analyzer | ValidatePolicy | API 직접 호출 | 
| AWS AdSpace Clean Rooms | BatchGetSchema | API 직접 호출 | 
| AWS Amplify UI 빌더 | ExportComponents | API 직접 호출 | 
| AWS Amplify UI 빌더 | ExportForms | API 직접 호출 | 
| AWS Amplify UI 빌더 | ExportThemes | API 직접 호출 | 
| Amazon OpenSearch Service | BatchGetCollection | API 직접 호출 | 
| Amazon API Gateway | ExportApi | API 직접 호출 | 
| AWS AppConfig | ValidateConfiguration | API 직접 호출 | 
| Amazon AppFlow | RetrieveConnectorData | API 직접 호출 | 
| Amazon CloudWatch Application Insights | UpdateApplicationDashboardConfiguration | API 직접 호출 | 
| Amazon Athena | BatchGetNamedQuery | API 직접 호출 | 
| Amazon Athena | BatchGetPreparedStatement | API 직접 호출 | 
| Amazon Athena | BatchGetQueryExecution | API 직접 호출 | 
| Amazon Athena | CheckQueryCompatibility | API 직접 호출 | 
| Amazon Athena | ExportNotebook | API 직접 호출 | 
| AWS Auto Scaling | AreScalableTargetsRegistered | API 직접 호출 | 
| AWS Auto Scaling | 테스트 | API 직접 호출 | 
| AWS Marketplace | SearchAgreements | API 직접 호출 | 
| AWS Backup | CreateLegalHold | API 직접 호출 | 
| AWS Backup | ExportBackupPlanTemplate | API 직접 호출 | 
| AWS Backup gateway | TestHypervisorConfiguration | API 직접 호출 | 
| AWS 결제 및 비용 관리 | AWSPaymentInstrumentGateway.Get | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.DescribeMakePaymentPage | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.DescribePaymentsDashboard | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetAccountPreferences | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetAdvancePaySummary | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetAsoBulkDownload | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetBillingContactAddress | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetDocuments | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetEligiblePaymentInstruments | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetEntitiesByIds | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetFundingDocuments | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetKybcValidationStatus | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetOneTimePasswordStatus | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetPaymentHistory | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetPaymentProfileByArn | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetPaymentProfileCurrencies | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetPaymentProfiles | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetPaymentProfileServiceProviders | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetPaymentsDue | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetRemittanceInformation | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetTaxInvoiceMetadata | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetTermsAndConditionsForProgramGroup | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetTransactionsHistory | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetUnappliedFunds | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPortalService.GetUnpaidInvoices | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | AWSPaymentPreferenceGateway.Get | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | CancelBulkDownload | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | DownloadCommercialInvoice | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | DownloadCsv | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | DownloadDoc | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | DownloadECSVForBillingPeriod | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | DownloadPaymentHistory | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | DownloadRegistrationDocument | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | DownloadTaxInvoice | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | FindBankRedirectPaymentInstruments | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | FindECSVForBillingPeriod | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | ValidateReportDestination | 콘솔 작업 | 
| AWS 결제 및 비용 관리 | VerifyChinaPaymentEligibility | 콘솔 작업 | 
| Amazon Braket | SearchCompilations | API 직접 호출 | 
| Amazon Braket | SearchDevices | API 직접 호출 | 
| Amazon Braket | SearchQuantumTasks | API 직접 호출 | 
| Amazon Connect Cases | BatchGetField | API 직접 호출 | 
| Amazon Connect Cases | SearchCases | API 직접 호출 | 
| Amazon Connect Cases | SearchRelatedItems | API 직접 호출 | 
| Amazon Chime | RetrieveDataExports | API 직접 호출 | 
| Amazon Chime | SearchChannels | API 직접 호출 | 
| Amazon Chime SDK ID | DeleteProfile | 서비스 이벤트 | 
| Amazon Chime SDK ID | DeleteWorkTalkAccount | 서비스 이벤트 | 
| AWS 클린 룸 | BatchGetSchema | API 직접 호출 | 
| Amazon Cloud Directory | BatchRead | API 직접 호출 | 
| Amazon Cloud Directory | LookupPolicy | API 직접 호출 | 
| CloudFormation | DetectStackDrift | API 직접 호출 | 
| CloudFormation | DetectStackResourceDrift | API 직접 호출 | 
| CloudFormation | DetectStackSetDrift | API 직접 호출 | 
| CloudFormation | EstimateTemplateCost | API 직접 호출 | 
| CloudFormation | ValidateTemplate | API 직접 호출 | 
| AWS CloudShell | RedeemCode | API 직접 호출 | 
| AWS CloudTrail | LookupEvents | API 직접 호출 | 
| AWS CodeArtifact | ReadFromRepository | API 직접 호출 | 
| AWS CodeArtifact | SearchPackages | API 직접 호출 | 
| AWS CodeArtifact | VerifyResourcesExistForTagris | API 직접 호출 | 
| AWS CodeBuild | BatchGetBuildBatches | API 직접 호출 | 
| AWS CodeBuild | BatchGetBuilds | API 직접 호출 | 
| AWS CodeBuild | BatchGetProjects | API 직접 호출 | 
| AWS CodeBuild | BatchGetReportGroups | API 직접 호출 | 
| AWS CodeBuild | BatchGetReports | API 직접 호출 | 
| AWS CodeBuild | BatchPutCodeCoverages | API 직접 호출 | 
| AWS CodeBuild | BatchPutTestCases | API 직접 호출 | 
| AWS CodeBuild | RequestBadge | 서비스 이벤트 | 
| AWS CodeCommit | BatchDescribeMergeConflicts | API 직접 호출 | 
| AWS CodeCommit | BatchGetCommits | API 직접 호출 | 
| AWS CodeCommit | BatchGetPullRequests | API 직접 호출 | 
| AWS CodeCommit | BatchGetRepositories | API 직접 호출 | 
| AWS CodeCommit | EvaluatePullRequestApprovalRules | API 직접 호출 | 
| AWS CodeCommit | GitPull | API 직접 호출 | 
| AWS CodeDeploy | BatchGetApplicationRevisions | API 직접 호출 | 
| AWS CodeDeploy | BatchGetApplications | API 직접 호출 | 
| AWS CodeDeploy | BatchGetDeploymentGroups | API 직접 호출 | 
| AWS CodeDeploy | BatchGetDeploymentInstances | API 직접 호출 | 
| AWS CodeDeploy | BatchGetDeployments | API 직접 호출 | 
| AWS CodeDeploy | BatchGetDeploymentTargets | API 직접 호출 | 
| AWS CodeDeploy | BatchGetOnPremisesInstances | API 직접 호출 | 
| Amazon CodeGuru Profiler | BatchGetFrameMetricData | API 직접 호출 | 
| Amazon CodeGuru Profiler | SubmitFeedback | API 직접 호출 | 
| AWS CodePipeline | PollForJobs | API 직접 호출 | 
| AWS CodePipeline | PollForThirdPartyJobs | API 직접 호출 | 
| CodeConnections | StartAppRegistrationHandshake | API 직접 호출 | 
| CodeConnections | StartOAuthHandshake | API 직접 호출 | 
| CodeConnections | ValidateHostWebhook | API 직접 호출 | 
| Amazon CodeWhisperer | CreateCodeScan | API 직접 호출 | 
| Amazon CodeWhisperer | CreateProfile | API 직접 호출 | 
| Amazon CodeWhisperer | CreateUploadUrl | API 직접 호출 | 
| Amazon CodeWhisperer | GenerateRecommendations | API 직접 호출 | 
| Amazon CodeWhisperer | UpdateProfile | API 직접 호출 | 
| Amazon Cognito 자격 증명 | LookupDeveloperIdentity | API 직접 호출 | 
| Amazon Cognito 사용자 풀 | AdminGetDevice | API 직접 호출 | 
| Amazon Cognito 사용자 풀 | AdminGetUser | API 직접 호출 | 
| Amazon Cognito 사용자 풀 | AdminListDevices | API 직접 호출 | 
| Amazon Cognito 사용자 풀 | AdminListGroupsForUser | API 직접 호출 | 
| Amazon Cognito 사용자 풀 | AdminListUserAuthEvents | API 직접 호출 | 
| Amazon Cognito 사용자 풀 | Beta\$1Authorize\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | Confirm\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | ConfirmForgotPassword\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | Error\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | ForgotPassword\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | IntrospectToken | API 직접 호출 | 
| Amazon Cognito 사용자 풀 | Login\$1Error\$1POST | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | Login\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | Mfa\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | MfaOption\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | ResetPassword\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | Signup\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | UserInfo\$1GET | 서비스 이벤트 | 
| Amazon Cognito 사용자 풀 | UserInfo\$1POST | 서비스 이벤트 | 
| Amazon Cognito Sync | BulkPublish | API 직접 호출 | 
| Amazon Comprehend | BatchContainsPiiEntities | API 직접 호출 | 
| Amazon Comprehend | BatchDetectDominantLanguage | API 직접 호출 | 
| Amazon Comprehend | BatchDetectEntities | API 직접 호출 | 
| Amazon Comprehend | BatchDetectKeyPhrases | API 직접 호출 | 
| Amazon Comprehend | BatchDetectPiiEntities | API 직접 호출 | 
| Amazon Comprehend | BatchDetectSentiment | API 직접 호출 | 
| Amazon Comprehend | BatchDetectSyntax | API 직접 호출 | 
| Amazon Comprehend | BatchDetectTargetedSentiment | API 직접 호출 | 
| Amazon Comprehend | ClassifyDocument | API 직접 호출 | 
| Amazon Comprehend | ContainsPiiEntities | API 직접 호출 | 
| Amazon Comprehend | DetectDominantLanguage | API 직접 호출 | 
| Amazon Comprehend | DetectEntities | API 직접 호출 | 
| Amazon Comprehend | DetectKeyPhrases | API 직접 호출 | 
| Amazon Comprehend | DetectPiiEntities | API 직접 호출 | 
| Amazon Comprehend | DetectSentiment | API 직접 호출 | 
| Amazon Comprehend | DetectSyntax | API 직접 호출 | 
| Amazon Comprehend | DetectTargetedSentiment | API 직접 호출 | 
| Amazon Comprehend | DetectToxicContent | API 직접 호출 | 
| AWS Compute Optimizer | ExportAutoScalingGroupRecommendations | API 직접 호출 | 
| AWS Compute Optimizer | ExportEBSVolumeRecommendations | API 직접 호출 | 
| AWS Compute Optimizer | ExportECInstanceRecommendations | API 직접 호출 | 
| AWS Compute Optimizer | ExportECSServiceRecommendations | API 직접 호출 | 
| AWS Compute Optimizer | ExportLambdaFunctionRecommendations | API 직접 호출 | 
| AWS Compute Optimizer | ExportRDSInstanceRecommendations | API 직접 호출 | 
| AWS Config | BatchGetAggregateResourceConfig | API 직접 호출 | 
| AWS Config | BatchGetResourceConfig | API 직접 호출 | 
| AWS Config | SelectAggregateResourceConfig | API 직접 호출 | 
| AWS Config | SelectResourceConfig | API 직접 호출 | 
| Amazon Connect | AdminGetEmergencyAccessToken | API 직접 호출 | 
| Amazon Connect | SearchQueues | API 직접 호출 | 
| Amazon Connect | SearchRoutingProfiles | API 직접 호출 | 
| Amazon Connect | SearchSecurityProfiles | API 직접 호출 | 
| Amazon Connect | SearchUsers | API 직접 호출 | 
| AWS Glue DataBrew | SendProjectSessionAction | API 직접 호출 | 
| AWS Data Pipeline | EvaluateExpression | API 직접 호출 | 
| AWS Data Pipeline | QueryObjects | API 직접 호출 | 
| AWS Data Pipeline | ValidatePipelineDefinition | API 직접 호출 | 
| AWS DataSync | VerifyResourcesExistForTagris | API 직접 호출 | 
| AWS DeepLens | BatchGetDevice | API 직접 호출 | 
| AWS DeepLens | BatchGetModel | API 직접 호출 | 
| AWS DeepLens | BatchGetProject | API 직접 호출 | 
| AWS DeepLens | CreateDeviceCertificates | API 직접 호출 | 
| AWS DeepRacer | AdminGetAccountConfig | API 직접 호출 | 
| AWS DeepRacer | AdminListAssociatedUsers | API 직접 호출 | 
| AWS DeepRacer | TestRewardFunction | API 직접 호출 | 
| AWS DeepRacer | VerifyResourcesExistForTagris | API 직접 호출 | 
| Amazon Detective | BatchGetGraphMemberDatasources | API 직접 호출 | 
| Amazon Detective | BatchGetMembershipDatasources | API 직접 호출 | 
| Amazon Detective | SearchGraph | API 직접 호출 | 
| Amazon DevOps Guru | SearchInsights | API 직접 호출 | 
| Amazon DevOps Guru | SearchOrganizationInsights | API 직접 호출 | 
| AWS Database Migration Service | BatchStartRecommendations | API 직접 호출 | 
| AWS Database Migration Service | ModifyRecommendation | API 직접 호출 | 
| AWS Database Migration Service | StartRecommendations | API 직접 호출 | 
| AWS Database Migration Service | VerifyResourcesExistForTagris | API 직접 호출 | 
| AWS Directory Service | VerifyTrust | API 직접 호출 | 
|  - Amazon Elastic Compute Cloud | ConfirmProductInstance | API 직접 호출 | 
|  - Amazon Elastic Compute Cloud | ReportInstanceStatus | API 직접 호출 | 
| Amazon Elastic Container Registry | BatchCheckLayerAvailability | API 직접 호출 | 
| Amazon Elastic Container Registry | BatchGetImage | API 직접 호출 | 
| Amazon Elastic Container Registry | BatchGetImageReferrer | API 직접 호출 | 
| Amazon Elastic Container Registry | BatchGetRepositoryScanningConfiguration | API 직접 호출 | 
| Amazon Elastic Container Registry | DryRunEvent | 서비스 이벤트 | 
| Amazon Elastic Container Registry | PolicyExecutionEvent | 서비스 이벤트 | 
| Amazon Elastic Container Registry Public | BatchCheckLayerAvailability | API 직접 호출 | 
| Amazon Elastic Container Service | DiscoverPollEndpoint | API 직접 호출 | 
| Amazon Elastic Container Service | FindSubfleetRoute | API 직접 호출 | 
| Amazon Elastic Container Service | ValidateResources | API 직접 호출 | 
| Amazon Elastic Container Service | VerifyTaskSetsExist | API 직접 호출 | 
| Amazon Elastic Kubernetes Service: | AccessKubernetesApi | API 직접 호출 | 
| AWS Elastic Beanstalk | CheckDNSAvailability | API 직접 호출 | 
| AWS Elastic Beanstalk | RequestEnvironmentInfo | API 직접 호출 | 
| AWS Elastic Beanstalk | RetrieveEnvironmentInfo | API 직접 호출 | 
| AWS Elastic Beanstalk | ValidateConfigurationSettings | API 직접 호출 | 
| Amazon Elastic File System | NewClientConnection | 서비스 이벤트 | 
| Amazon Elastic File System | UpdateClientConnection | 서비스 이벤트 | 
| Amazon Elastic Transcoder | ReadJob | API 직접 호출 | 
| Amazon Elastic Transcoder | ReadPipeline | API 직접 호출 | 
| Amazon Elastic Transcoder | ReadPreset | API 직접 호출 | 
| Amazon EventBridge | TestEventPattern | API 직접 호출 | 
| Amazon EventBridge | TestScheduleExpression | API 직접 호출 | 
| Amazon FinSpace API | BatchListCatalogNodesByDataset | API 직접 호출 | 
| Amazon FinSpace API | BatchListNodesByDataset | API 직접 호출 | 
| Amazon FinSpace API | BatchValidateAccess | API 직접 호출 | 
| Amazon FinSpace API | CreateAuditRecordsQuery | API 직접 호출 | 
| Amazon FinSpace API | SearchDatasets | API 직접 호출 | 
| Amazon FinSpace API | SearchDatasetsV | API 직접 호출 | 
| Amazon FinSpace API | ValidateIdToken | API 직접 호출 | 
| AWS Firewall Manager | DisassociateAdminAccount | API 직접 호출 | 
| Amazon Forecast | InvokeForecastEndpoint | API 직접 호출 | 
| Amazon Forecast | QueryFeature | API 직접 호출 | 
| Amazon Forecast | QueryForecast | API 직접 호출 | 
| Amazon Forecast | QueryWhatIfForecast | API 직접 호출 | 
| Amazon Forecast | VerifyResourcesExistForTagris | API 직접 호출 | 
| Amazon Fraud Detector | BatchGetVariable | API 직접 호출 | 
| Amazon Fraud Detector | VerifyResourcesExistForTagris | API 직접 호출 | 
| FreeRTOS | VerifyEmailAddress | API 직접 호출 | 
| Amazon GameLift Servers | RequestUploadCredentials | API 직접 호출 | 
| Amazon GameLift Servers | ResolveAlias | API 직접 호출 | 
| Amazon GameLift Servers | SearchGameSessions | API 직접 호출 | 
| Amazon GameLift Servers | ValidateMatchmakingRuleSet | API 직접 호출 | 
| Amazon GameSparks | ExportSnapshot | API 직접 호출 | 
| Amazon Location Service | BatchGetDevicePosition | API 직접 호출 | 
| Amazon Location Service | CalculateRoute | API 직접 호출 | 
| Amazon Location Service | CalculateRouteMatrix | API 직접 호출 | 
| Amazon Location Service | SearchPlaceIndexForPosition | API 직접 호출 | 
| Amazon Location Service | SearchPlaceIndexForSuggestions | API 직접 호출 | 
| Amazon Location Service | SearchPlaceIndexForText | API 직접 호출 | 
| Amazon Glacier | InitiateJob | API 직접 호출 | 
| AWS Glue | BatchGetBlueprints | API 직접 호출 | 
| AWS Glue | BatchGetColumnStatisticsForTable | API 직접 호출 | 
| AWS Glue | BatchGetCrawlers | API 직접 호출 | 
| AWS Glue | BatchGetCustomEntityTypes | API 직접 호출 | 
| AWS Glue | BatchGetDataQualityResult | API 직접 호출 | 
| AWS Glue | BatchGetDevEndpoints | API 직접 호출 | 
| AWS Glue | BatchGetJobs | API 직접 호출 | 
| AWS Glue | BatchGetMLTransform | API 직접 호출 | 
| AWS Glue | BatchGetPartition | API 직접 호출 | 
| AWS Glue | BatchGetTriggers | API 직접 호출 | 
| AWS Glue | BatchGetWorkflows | API 직접 호출 | 
| AWS Glue | QueryJobRuns | API 직접 호출 | 
| AWS Glue | QueryJobRunsAggregated | API 직접 호출 | 
| AWS Glue | QueryJobs | API 직접 호출 | 
| AWS Glue | QuerySchemaVersionMetadata | API 직접 호출 | 
| AWS Glue | SearchTables | API 직접 호출 | 
| AWS HealthLake | ReadResource | API 직접 호출 | 
| AWS HealthLake | SearchWithGet | API 직접 호출 | 
| AWS HealthLake | SearchWithPost | API 직접 호출 | 
| AWS Identity and Access Management | GenerateCredentialReport | API 직접 호출 | 
| AWS Identity and Access Management | GenerateOrganizationsAccessReport | API 직접 호출 | 
| AWS Identity and Access Management | GenerateServiceLastAccessedDetails | API 직접 호출 | 
| AWS Identity and Access Management | SimulateCustomPolicy | API 직접 호출 | 
| AWS Identity and Access Management | SimulatePrincipalPolicy | API 직접 호출 | 
| AWS 자격 증명 스토어 | IsMemberInGroups | API 직접 호출 | 
| AWS 자격 증명 스토어 인증 | BatchGetSession | API 직접 호출 | 
| Amazon Inspector Classic | PreviewAgents | API 직접 호출 | 
| Amazon Inspector Classic | BatchGetAccountStatus | API 직접 호출 | 
| Amazon Inspector Classic | BatchGetFreeTrialInfo | API 직접 호출 | 
| Amazon Inspector Classic | BatchGetMember | API 직접 호출 | 
| AWS 인보이스 발행 | ValidateDocumentDeliveryS3LocationInfo | API 직접 호출 | 
| AWS IoT | SearchIndex | API 직접 호출 | 
| AWS IoT | TestAuthorization | API 직접 호출 | 
| AWS IoT | TestInvokeAuthorizer | API 직접 호출 | 
| AWS IoT | ValidateSecurityProfileBehaviors | API 직접 호출 | 
| AWS IoT Analytics | SampleChannelData | API 직접 호출 | 
| AWS IoT SiteWise | GatewaysVerifyResourcesExistForTagrisInternal | API 직접 호출 | 
| AWS IoT Things Graph | SearchEntities | API 직접 호출 | 
| AWS IoT Things Graph | SearchFlowExecutions | API 직접 호출 | 
| AWS IoT Things Graph | SearchFlowTemplates | API 직접 호출 | 
| AWS IoT Things Graph | SearchSystemInstances | API 직접 호출 | 
| AWS IoT Things Graph | SearchSystemTemplates | API 직접 호출 | 
| AWS IoT Things Graph | SearchThings | API 직접 호출 | 
| AWS IoT TwinMaker | ExecuteQuery | API 직접 호출 | 
| AWS IoT 무선 | CreateNetworkAnalyzerConfiguration | API 직접 호출 | 
| AWS IoT 무선 | DeleteNetworkAnalyzerConfiguration | API 직접 호출 | 
| AWS IoT 무선 | DeregisterWirelessDevice | API 직접 호출 | 
| Amazon Interactive Video Service | BatchGetChannel | API 직접 호출 | 
| Amazon Interactive Video Service | BatchGetStreamKey | API 직접 호출 | 
| Amazon Kendra | BatchGetDocumentStatus | API 직접 호출 | 
| Amazon Kendra | Query | API 직접 호출 | 
| Amazon Managed Service for Apache Flink | DiscoverInputSchema | API 직접 호출 | 
| AWS Key Management Service | Decrypt | API 직접 호출 | 
| AWS Key Management Service | 암호화 | API 직접 호출 | 
| AWS Key Management Service | GenerateDataKey | API 직접 호출 | 
| AWS Key Management Service | GenerateDataKeyPair | API 직접 호출 | 
| AWS Key Management Service | GenerateDataKeyPairWithoutPlaintext | API 직접 호출 | 
| AWS Key Management Service | GenerateDataKeyWithoutPlaintext | API 직접 호출 | 
| AWS Key Management Service | GenerateMac | API 직접 호출 | 
| AWS Key Management Service | GenerateRandom | API 직접 호출 | 
| AWS Key Management Service | ReEncrypt | API 직접 호출 | 
| AWS Key Management Service | Sign | API 직접 호출 | 
| AWS Key Management Service | 확인 | API 직접 호출 | 
| AWS Key Management Service | VerifyMac | API 직접 호출 | 
| AWS Lake Formation | SearchDatabasesByLFTags | API 직접 호출 | 
| AWS Lake Formation | SearchTablesByLFTags | API 직접 호출 | 
| AWS Lake Formation | StartQueryPlanning | API 직접 호출 | 
| Amazon Lex | BatchCreateCustomVocabularyItem | API 직접 호출 | 
| Amazon Lex | BatchDeleteCustomVocabularyItem | API 직접 호출 | 
| Amazon Lex | BatchUpdateCustomVocabularyItem | API 직접 호출 | 
| Amazon Lex | DeleteCustomVocabulary | API 직접 호출 | 
| Amazon Lex | SearchAssociatedTranscripts | API 직접 호출 | 
| Amazon Lightsail | CreateGUISessionAccessDetails | API 직접 호출 | 
| Amazon Lightsail | DownloadDefaultKeyPair | API 직접 호출 | 
| Amazon Lightsail | IsVpcPeered | API 직접 호출 | 
| Amazon CloudWatch Logs | FilterLogEvents | API 직접 호출 | 
| Amazon Macie | BatchGetCustomDataIdentifiers | API 직접 호출 | 
| Amazon Macie | UpdateFindingsFilter | API 직접 호출 | 
| AWS Elemental MediaConnect | ManagedDescribeFlow | API 직접 호출 | 
| AWS Elemental MediaConnect | PrivateDescribeFlowMeta | API 직접 호출 | 
| AWS Application Migration Service | OperationalDescribeJobLogItems | API 직접 호출 | 
| AWS Application Migration Service | OperationalDescribeJobs | API 직접 호출 | 
| AWS Application Migration Service | OperationalDescribeReplicationConfigurationTemplates | API 직접 호출 | 
| AWS Application Migration Service | OperationalDescribeSourceServer | API 직접 호출 | 
| AWS Application Migration Service | OperationalGetLaunchConfiguration | API 직접 호출 | 
| AWS Application Migration Service | OperationalListSourceServers | API 직접 호출 | 
| AWS Application Migration Service | VerifyClientRoleForMgn | API 직접 호출 | 
| AWS HealthOmics | VerifyResourceExists | API 직접 호출 | 
| AWS HealthOmics | VerifyResourcesExistForTagris | API 직접 호출 | 
| Amazon Polly | SynthesizeLongSpeech | API 직접 호출 | 
| Amazon Polly | SynthesizeSpeech | API 직접 호출 | 
| Amazon Polly | SynthesizeSpeechGet | API 직접 호출 | 
| AWS 관리형 프라이빗 네트워크를 제공하는 서비스 | Ping | API 직접 호출 | 
| AWS Proton | DeleteEnvironmentTemplateVersion | API 직접 호출 | 
| AWS Proton | DeleteServiceTemplateVersion | API 직접 호출 | 
| Amazon QLDB | ShowCatalog | API 직접 호출 | 
| Amazon Quick | GenerateEmbedUrlForAnonymousUser | API 직접 호출 | 
| Amazon Quick | GenerateEmbedUrlForRegisteredUser | API 직접 호출 | 
| Amazon Quick | QueryDatabase | 서비스 이벤트 | 
| Amazon Quick | SearchAnalyses | API 직접 호출 | 
| Amazon Quick | SearchDashboards | API 직접 호출 | 
| Amazon Quick | SearchDataSets | API 직접 호출 | 
| Amazon Quick | SearchDataSources | API 직접 호출 | 
| Amazon Quick | SearchFolders | API 직접 호출 | 
| Amazon Quick | SearchGroups | API 직접 호출 | 
| Amazon Quick | SearchUsers | API 직접 호출 | 
| Amazon Relational Database Service | DownloadCompleteDBLogFile | API 직접 호출 | 
| Amazon Relational Database Service | DownloadDBLogFilePortion | API 직접 호출 | 
| Amazon Rekognition | CompareFaces | API 직접 호출 | 
| Amazon Rekognition | DetectCustomLabels | API 직접 호출 | 
| Amazon Rekognition | DetectFaces | API 직접 호출 | 
| Amazon Rekognition | DetectLabels | API 직접 호출 | 
| Amazon Rekognition | DetectModerationLabels | API 직접 호출 | 
| Amazon Rekognition | DetectProtectiveEquipment | API 직접 호출 | 
| Amazon Rekognition | DetectText | API 직접 호출 | 
| Amazon Rekognition | RecognizeCelebrities | API 직접 호출 | 
| Amazon Rekognition | SearchFaces | API 직접 호출 | 
| Amazon Rekognition | SearchFacesByImage | API 직접 호출 | 
| Amazon Rekognition | SearchUsers | API 직접 호출 | 
| Amazon Rekognition | SearchUsersByImage | API 직접 호출 | 
| AWS Resource Explorer | BatchGetView | API 직접 호출 | 
| AWS Resource Explorer | 검색 | API 직접 호출 | 
| AWS Resource Groups | SearchResources | API 직접 호출 | 
| AWS Resource Groups | ValidateResourceSharing | API 직접 호출 | 
| AWS RoboMaker | BatchDescribeSimulationJob | API 직접 호출 | 
| Amazon Route 53 | TestDNSAnswer | API 직접 호출 | 
| Amazon Route 53 도메인 | checkAvailabilities | API 직접 호출 | 
| Amazon Route 53 도메인 | CheckDomainAvailability | API 직접 호출 | 
| Amazon Route 53 도메인 | checkDomainTransferability | API 직접 호출 | 
| Amazon Route 53 도메인 | CheckDomainTransferability | API 직접 호출 | 
| Amazon Route 53 도메인 | isEmailReachable | API 직접 호출 | 
| Amazon Route 53 도메인 | searchDomains | API 직접 호출 | 
| Amazon Route 53 도메인 | sendVerificationMessage | API 직접 호출 | 
| Amazon Route 53 도메인 | ViewBilling | API 직접 호출 | 
| Amazon Route 53 도메인 | viewBilling | API 직접 호출 | 
| Amazon CloudWatch RUM | BatchGetRumMetricDefinitions | API 직접 호출 | 
| Amazon Simple Storage Service | echo | API 직접 호출 | 
| Amazon Simple Storage Service | GenerateInventory | 서비스 이벤트 | 
| Amazon SageMaker AI | BatchDescribeModelPackage | API 직접 호출 | 
| Amazon SageMaker AI | DeleteModelCard | API 직접 호출 | 
| Amazon SageMaker AI | QueryLineage | API 직접 호출 | 
| Amazon SageMaker AI | RenderUiTemplate | API 직접 호출 | 
| Amazon SageMaker AI | 검색 | API 직접 호출 | 
| Amazon EventBridge 스키마 | ExportSchema | API 직접 호출 | 
| Amazon EventBridge 스키마 | SearchSchemas | API 직접 호출 | 
| Amazon SimpleDB | DomainMetadata | API 직접 호출 | 
| AWS Secrets Manager | ValidateResourcePolicy | API 직접 호출 | 
| AWS Service Catalog | ScanProvisionedProducts | API 직접 호출 | 
| AWS Service Catalog | SearchProducts | API 직접 호출 | 
| AWS Service Catalog | SearchProductsAsAdmin | API 직접 호출 | 
| AWS Service Catalog | SearchProvisionedProducts | API 직접 호출 | 
| Amazon SES | BatchGetMetricData | API 직접 호출 | 
| Amazon SES | TestRenderEmailTemplate | API 직접 호출 | 
| Amazon SES | TestRenderTemplate | API 직접 호출 | 
|  Amazon Simple Notification Service | CheckIfPhoneNumberIsOptedOut | API 직접 호출 | 
| AWS SQL Workbench | BatchGetNotebookCell | API 직접 호출 | 
| AWS SQL Workbench | ExportNotebook | API 직접 호출 | 
| Amazon EC2 Systems Manager | ExecuteApi | API 직접 호출 | 
| AWS Systems Manager Incident Manager | DeleteContactChannel | API 직접 호출 | 
| AWS IAM Identity Center | IsMemberInGroup | API 직접 호출 | 
| AWS IAM Identity Center | SearchGroups | API 직접 호출 | 
| AWS IAM Identity Center | SearchUsers | API 직접 호출 | 
| AWS STS | AssumeRole | API 직접 호출 | 
| AWS STS | AssumeRoleWithSAML | API 직접 호출 | 
| AWS STS | AssumeRoleWithWebIdentity | API 직접 호출 | 
| AWS STS | DecodeAuthorizationMessage | API 직접 호출 | 
| AWS 세금 설정 | BatchGetTaxExemptions | API 직접 호출 | 
| AWS WAFV2 | CheckCapacity | API 직접 호출 | 
| AWS WAFV2 | GenerateMobileSdkReleaseUrl | API 직접 호출 | 
| AWS Well-Architected Tool | ExportLens | API 직접 호출 | 
| AWS Well-Architected Tool | TagResource | API 직접 호출 | 
| AWS Well-Architected Tool | UntagResource | API 직접 호출 | 
| AWS Well-Architected Tool | UpdateGlobalSettings | API 직접 호출 | 
| Amazon Connect Wisdom | QueryAssistant | API 직접 호출 | 
| Amazon Connect Wisdom | SearchContent | API 직접 호출 | 
| Amazon Connect Wisdom | SearchSessions | API 직접 호출 | 
| Amazon WorkDocs | AbortDocumentVersionUpload | API 직접 호출 | 
| Amazon WorkDocs | AddUsersToGroup | API 직접 호출 | 
| Amazon WorkDocs | BatchGetUsers | API 직접 호출 | 
| Amazon WorkDocs | CheckAlias | API 직접 호출 | 
| Amazon WorkDocs | CompleteDocumentVersionUpload | API 직접 호출 | 
| Amazon WorkDocs | CreateAnnotation | API 직접 호출 | 
| Amazon WorkDocs | CreateComment | API 직접 호출 | 
| Amazon WorkDocs | CreateFeedbackRequest | API 직접 호출 | 
| Amazon WorkDocs | CreateFolder | API 직접 호출 | 
| Amazon WorkDocs | CreateGroup | API 직접 호출 | 
| Amazon WorkDocs | CreateShare | API 직접 호출 | 
| Amazon WorkDocs | CreateUser | API 직접 호출 | 
| Amazon WorkDocs | DeleteAnnotation | API 직접 호출 | 
| Amazon WorkDocs | DeleteComment | API 직접 호출 | 
| Amazon WorkDocs | DeleteDocument | API 직접 호출 | 
| Amazon WorkDocs | DeleteFeedbackRequest | API 직접 호출 | 
| Amazon WorkDocs | DeleteFolder | API 직접 호출 | 
| Amazon WorkDocs | DeleteFolderContents | API 직접 호출 | 
| Amazon WorkDocs | DeleteGroup | API 직접 호출 | 
| Amazon WorkDocs | DeleteOrganizationShare | API 직접 호출 | 
| Amazon WorkDocs | DeleteUser | API 직접 호출 | 
| Amazon WorkDocs | DownloadDocumentVersion | API 직접 호출 | 
| Amazon WorkDocs | DownloadDocumentVersionUnderlays | API 직접 호출 | 
| Amazon WorkDocs | InitiateDocumentVersionUpload | API 직접 호출 | 
| Amazon WorkDocs | LogoutUser | API 직접 호출 | 
| Amazon WorkDocs | PaginatedOrganizationActivity | API 직접 호출 | 
| Amazon WorkDocs | PublishAnnotations | API 직접 호출 | 
| Amazon WorkDocs | PublishComments | API 직접 호출 | 
| Amazon WorkDocs | RestoreDocument | API 직접 호출 | 
| Amazon WorkDocs | RestoreFolder | API 직접 호출 | 
| Amazon WorkDocs | SearchGroups | API 직접 호출 | 
| Amazon WorkDocs | SearchOrganizationUsers | API 직접 호출 | 
| Amazon WorkDocs | TransferUserResources | API 직접 호출 | 
| Amazon WorkDocs | UpdateAnnotation | API 직접 호출 | 
| Amazon WorkDocs | UpdateComment | API 직접 호출 | 
| Amazon WorkDocs | UpdateDocument | API 직접 호출 | 
| Amazon WorkDocs | UpdateDocumentVersion | API 직접 호출 | 
| Amazon WorkDocs | UpdateFolder | API 직접 호출 | 
| Amazon WorkDocs | UpdateGroup | API 직접 호출 | 
| Amazon WorkDocs | UpdateOrganization | API 직접 호출 | 
| Amazon WorkDocs | UpdateUser | API 직접 호출 | 
| Amazon WorkMail | AssumeImpersonationRole | API 직접 호출 | 
| Amazon WorkMail | QueryDnsRecords | API 직접 호출 | 
| Amazon WorkMail | SearchMembers | API 직접 호출 | 
| Amazon WorkMail | TestAvailabilityConfiguration | API 직접 호출 | 
| Amazon WorkMail | TestInboundMailFlowRules | API 직접 호출 | 
| Amazon WorkMail | TestOutboundMailFlowRules | API 직접 호출 | 

# Amazon EventBridge 이벤트 세부 정보 참조
<a name="event-reference"></a>

EventBridge 자체적으로 다음 이벤트를 내보냅니다. 이러한 이벤트는 다른 AWS 서비스와 마찬가지로 기본 이벤트 버스로 자동 전송됩니다.

모든 이벤트에 포함된 다른 메타데이터 필드의 정의는 *이벤트 참조*의 [AWS 서비스 이벤트 메타데이터](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)를 참조하세요.


| 이벤트 세부 정보 유형 | 설명 | 
| --- | --- | 
|   [예약된 이벤트](#event-detail-scheduled-event)   |  예약된 이벤트를 나타냅니다. | 
|   [스키마 생성 완료](#event-detail-schema-created)   |  새 이벤트 스키마의 생성을 나타냅니다. | 
|   [스키마 버전 생성 완료](#event-detail-schema-version-created)   |  새 또는 기존 이벤트 스키마의 새 버전 생성을 나타냅니다.  | 
|   [연결 상태 이벤트](#event-detail-connection-state)   |  연결 상태의 변경을 나타냅니다.  | 
|   [API 대상 상태 이벤트](#event-detail-api-destination-state)   |  API 대상의 상태 변경을 나타냅니다.  | 

## 예약된 이벤트
<a name="event-reference-schedules"></a>

EventBridge는 다음과 같은 유형의 예약된 이벤트를 기본 이벤트 버스로 전송합니다. 자세한 내용은 [스케줄러](using-eventbridge-scheduler.md) 단원을 참조하십시오.

### 예약된 이벤트
<a name="event-detail-scheduled-event"></a>

예약된 이벤트를 나타냅니다.

`source` 및 `detail-type` 필드는 EventBridge 이벤트에 대한 특정 값을 포함하기 때문에 포함됩니다. 모든 이벤트에 포함된 다른 메타데이터 필드의 정의는 *이벤트 참조*의 [AWS 서비스 이벤트 메타데이터](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)를 참조하세요.

```
{
  . . .,
  "detail-type": "Scheduled Event",
  "source": "aws.events",
  . . .,
  "detail": {}
}
```

`detail-type`  <a name="scheduled-event-detail-type"></a>
이벤트의 유형을 식별합니다.  
이 이벤트의 경우 이 값은 `Scheduled Event`입니다.  
필수 항목 여부: 예

`source`  <a name="scheduled-event-source"></a>
이벤트를 생성한 서비스를 식별합니다. EventBridge 이벤트의 경우 이 값은 `aws.events`입니다.  
필수 항목 여부: 예

`detail`  <a name="scheduled-event-detail"></a>
이벤트에 대한 정보를 포함하는 JSON 객체입니다. 이벤트를 생성하는 서비스에 따라 이 필드의 내용이 결정됩니다.  
필수 항목 여부: 예  
이 객체에는 `Scheduled Event` 이벤트에 대한 필수 필드가 없습니다.

**Example 예약된 이벤트 이벤트의 예**  <a name="event-detail-scheduled-event.example"></a>

```
{
  "version": "0",
  "id": "89d1a02d-5ec7-412e-82f5-13505f849b41",
  "detail-type": "Scheduled Event",
  "source": "aws.events",
  "account": "123456789012",
  "time": "2016-12-30T18:44:49Z",
  "region": "us-east-1",
  "resources": ["arn:aws:events:us-east-1:123456789012:rule/SampleRule"],
  "detail": {}
}
```

## 스키마 레지스트리 이벤트
<a name="event-reference-schemas"></a>

EventBridge는 다음 스키마 레지스트리 이벤트를 기본 이벤트 버스로 전송합니다. 자세한 내용은 [](eb-schema.md) 단원을 참조하십시오.

### 스키마 생성 완료
<a name="event-detail-schema-created"></a>

새 스키마 생성을 나타냅니다.

스키마가 생성되면는 `Schema Created` 및 `Schema Version Created` 이벤트를 모두 EventBridge 전송합니다.

`source` 및 `detail-type` 필드는 EventBridge 이벤트에 대한 특정 값을 포함하기 때문에 포함됩니다. 모든 이벤트에 포함된 다른 메타데이터 필드의 정의는 *이벤트 참조*의 [AWS 서비스 이벤트 메타데이터](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)를 참조하세요.

```
{
  . . .,
  "detail-type": "Schema Created",
  "source": "aws.schemas",
  . . .,
  "detail": {
    "SchemaName" : "String",
    "SchemaType" : "String",
    "RegistryName" : "String",
    "CreationDate" : "DateTime",
    "Version" : "Number"
  }
}
```

`detail-type`  <a name="schema-created-detail-type"></a>
이벤트의 유형을 식별합니다.  
이 이벤트의 경우 이 값은 `Schema Created`입니다.  
필수 항목 여부: 예

`source`  <a name="schema-created-source"></a>
이벤트를 생성한 서비스를 식별합니다. EventBridge 이벤트의 경우 이 값은 `aws.schemas`입니다.  
필수 항목 여부: 예

`detail`  <a name="schema-created-detail"></a>
이벤트에 대한 정보를 포함하는 JSON 객체입니다. 이벤트를 생성하는 서비스에 따라 이 필드의 내용이 결정됩니다.  
필수 항목 여부: 예  
이 이벤트의 경우 이 데이터에는 다음이 포함됩니다.    
`SchemaName`  <a name="schema-created-schema-name"></a>
스키마의 이름입니다.  
필수 항목 여부: 예  
`SchemaType`  <a name="schema-created-schema-type"></a>
스키마의 유형입니다.  
유효한 값: `OpenApi3` \$1 `JSONSchemaDraft4`  
필수 항목 여부: 예  
`RegistryName`  <a name="schema-created-registry-name"></a>
해당 스키마가 포함된 레지스트리의 이름입니다.  
필수 항목 여부: 예  
`CreationDate`  <a name="schema-created-creation-date"></a>
스키마가 생성된 날짜입니다.  
필수 항목 여부: 예  
`Version`  <a name="schema-created-version"></a>
스키마의 버전입니다.  
`Schema Created` 이벤트의 경우 이 값은 항상 `1`입니다.  
필수 항목 여부: 예

**Example 스키마 생성 완료 이벤트의 예**  <a name="event-detail-schema-created.example"></a>

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "Schema Created",
  "source": "aws.schemas",
  "account": "123456789012",
  "time": "2019-05-31T21:49:54Z",
  "region": "us-east-1",
  "resources": ["arn:aws:schemas:us-east-1::schema/myRegistry/mySchema"],
  "detail": {
    "SchemaName": "mySchema",
    "SchemaType": "OpenApi3",
    "RegistryName": "myRegistry",
    "CreationDate": "2019-11-29T20:08:55Z",
    "Version": "1"
  }
}
```

### 스키마 버전 생성 완료
<a name="event-detail-schema-version-created"></a>

새 또는 기존 이벤트 스키마의 새 버전 생성을 나타냅니다.

스키마가 생성되면는 `Schema Created` 및 `Schema Version Created` 이벤트를 모두 EventBridge 전송합니다.

`source` 및 `detail-type` 필드는 EventBridge 이벤트에 대한 특정 값을 포함하기 때문에 포함됩니다. 모든 이벤트에 포함된 다른 메타데이터 필드의 정의는 *이벤트 참조*의 [AWS 서비스 이벤트 메타데이터](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)를 참조하세요.

```
{
  . . .,
  "detail-type": "Schema Version Created",
  "source": "aws.schemas",
  . . .,
  "detail": {
    "SchemaName" : "String",
    "SchemaType" : "String",
    "RegistryName" : "String",
    "CreationDate" : "DateTime",
    "Version" : "Number"
  }
}
```

`detail-type`  <a name="schema-version-created-detail-type"></a>
이벤트의 유형을 식별합니다.  
이 이벤트의 경우 이 값은 `Schema Version Created`입니다.  
필수 항목 여부: 예

`source`  <a name="schema-version-created-source"></a>
이벤트를 생성한 서비스를 식별합니다. EventBridge 이벤트의 경우 이 값은 `aws.schemas`입니다.  
필수 항목 여부: 예

`detail`  <a name="schema-version-created-detail"></a>
이벤트에 대한 정보를 포함하는 JSON 객체입니다. 이벤트를 생성하는 서비스에 따라 이 필드의 내용이 결정됩니다.  
필수 항목 여부: 예  
이 이벤트의 경우 이 데이터에는 다음이 포함됩니다.    
`SchemaName`  <a name="schema-version-created-schema-name"></a>
스키마의 이름입니다.  
필수 항목 여부: 예  
`SchemaType`  <a name="schema-version-created-schema-type"></a>
스키마의 유형입니다.  
유효한 값: `OpenApi3` \$1 `JSONSchemaDraft4`  
필수 항목 여부: 예  
`RegistryName`  <a name="schema-version-created-registry-name"></a>
해당 스키마가 포함된 레지스트리의 이름입니다.  
필수 항목 여부: 예  
`CreationDate`  <a name="schema-version-created-creation-date"></a>
스키마 버전이 생성된 날짜입니다.  
필수 항목 여부: 예  
`Version`  <a name="schema-version-created-version"></a>
스키마의 버전입니다.  
필수 항목 여부: 예

**Example 스키마 버전 생성 완료 이벤트의 예**  <a name="event-detail-schema-version-created.example"></a>

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "Schema Version Created",
  "source": "aws.schemas",
  "account": "123456789012",
  "time": "2019-05-31T21:49:54Z",
  "region": "us-east-1",
  "resources": ["arn:aws:schemas:us-east-1::schema/myRegistry/mySchema"],
  "detail": {
    "SchemaName": "mySchema",
    "SchemaType": "OpenApi3",
    "RegistryName": "myRegistry",
    "CreationDate": "2019-11-29T20:08:55Z",
    "Version": "5"
  }
}
```

## 연결 이벤트
<a name="event-reference-connections"></a>

EventBridge는 다음 연결 이벤트를 기본 이벤트 버스로 전송합니다. 자세한 내용은 [연결](eb-target-connection.md) 단원을 참조하십시오.

### 연결 상태 이벤트
<a name="event-detail-connection-state"></a>

이러한 이벤트는 각각 새 연결 또는 기존 연결의 상태 변화를 나타냅니다.

`source` 및 `detail-type` 필드는 EventBridge 이벤트에 대한 특정 값을 포함하기 때문에 포함됩니다. 모든 이벤트에 포함된 다른 메타데이터 필드의 정의는 *이벤트 참조*의 [AWS 서비스 이벤트 메타데이터](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)를 참조하세요.

```
{
  . . .,
  "detail-type": "Connection status",
  "source": "aws.events",
  . . .,
  "detail": {
    "ConnectionName" : "String",
    "StateReason" : "String",
    "Timestamp" : "DateTime"
  }
}
```

`detail-type`  <a name="connection-state-detail-type"></a>
이벤트의 유형을 식별합니다.  
이 이벤트의 경우 이 값은 다음 중 하나입니다.  
+ `Connection Creation Started`
+ `Connection Update Started`
+ `Connection Deletion Started`
+ `Connection Activated`
+ `Connection Authorized`
+ `Connection Authorization Started`
+ `Connection Deauthorization Started`
+ `Connection Deauthorized`
+ `Connection Failed Connectivity`
필수 항목 여부: 예

`source`  <a name="connection-state-source"></a>
이벤트를 생성한 서비스를 식별합니다. EventBridge 이벤트의 경우이 값은 입니다`aws.events`.  
필수 항목 여부: 예

`detail`  <a name="connection-state-detail"></a>
이벤트에 대한 정보를 포함하는 JSON 객체입니다. 이벤트를 생성하는 서비스에 따라 이 필드의 내용이 결정됩니다.  
필수 항목 여부: 예  
이 이벤트의 경우 이 데이터에는 다음이 포함됩니다.    
`ConnectionName`  <a name="connection-state-connection-name"></a>
연결의 이름입니다.  
필수 항목 여부: 예  
`StateReason`  <a name="connection-state-state-reason"></a>
연결 상태가 변경된 이유입니다.  
필수 여부: 아니요  
`Timestamp`  <a name="connection-state-timestamp"></a>
연결 상태가 변경된 시간 및 날짜입니다.  
필수 항목 여부: 예

**Example 연결 상태 이벤트 예시**  <a name="event-detail-connection-state.example"></a>

```
{
    "version": "0",
    "id": "1d7a4ac6-a50a-745f-a331-a0d802f7badb",
    "detail-type": "Connection Creation Started",
    "source": "aws.events",
    "account": "123456789012",
    "time": "2024-10-28T09:08:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:events:us-east-1:123456789012:connection/sample-connection/ee7e4d52-8df0-4bed-a0d5-fa7dea43fcf8"
    ],
    "detail": {
        "ConnectionName": "sample-connection",
        "Timestamp": "2024-10-24 09:26:35 +0000 UTC"
    }
}
```

## API 대상 이벤트
<a name="event-reference-api-destinations"></a>

EventBridge는 다음 API 대상 이벤트를 기본 이벤트 버스로 전송합니다. 자세한 내용은 [API 데스티네이션](eb-api-destinations.md) 단원을 참조하십시오.

### API 대상 상태 이벤트
<a name="event-detail-api-destination-state"></a>

이러한 이벤트는 각각 API 대상의 상태 변경을 나타냅니다.

`source` 및 `detail-type` 필드는 EventBridge 이벤트에 대한 특정 값을 포함하기 때문에 포함됩니다. 모든 이벤트에 포함된 다른 메타데이터 필드의 정의는 *이벤트 참조*의 [AWS 서비스 이벤트 메타데이터](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)를 참조하세요.

```
{
  . . .,
  "detail-type": "API Destination status",
  "source": "aws.events",
  . . .,
  "detail": {
    "ApiDestinationName" : "String",
    "Timestamp" : "DateTime"
  }
}
```

`detail-type`  <a name="api-destination-state-detail-type"></a>
이벤트의 유형을 식별합니다.  
이 이벤트의 경우 이 값은 다음 중 하나입니다.  
+ `API Destination Activated`
+ `API Destination Deactivated`
필수 항목 여부: 예

`source`  <a name="api-destination-state-source"></a>
이벤트를 생성한 서비스를 식별합니다. EventBridge 이벤트의 경우이 값은 입니다`aws.events`.  
필수 항목 여부: 예

`detail`  <a name="api-destination-state-detail"></a>
이벤트에 대한 정보를 포함하는 JSON 객체입니다. 이벤트를 생성하는 서비스에 따라 이 필드의 내용이 결정됩니다.  
필수 항목 여부: 예  
이 이벤트의 경우 이 데이터에는 다음이 포함됩니다.    
`ApiDestinationName`  <a name="api-destination-state-connection-name"></a>
API 대상의 이름입니다.  
필수 항목 여부: 예  
`Timestamp`  <a name="api-destination-state-timestamp"></a>
API 대상 상태가 변경된 시간 및 날짜입니다.  
필수 항목 여부: 예

**Example API 대상 상태 이벤트 예시**  <a name="event-detail-api-destination-state.example"></a>

```
{
    "version": "0",
    "id": "1d7a4ac6-a50a-745f-a331-a0d802f7badb",
    "detail-type": "API Destination Deactivated",
    "source": "aws.events",
    "account": "123456789012",
    "time": "2024-10-28T09:08:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:events:us-east-1:123456789012:api-destination/sample-api-destination/ee7e4d52-8df0-4bed-a0d5-fa7dea43fcf8"
    ],
    "detail": {
        "ApiDestinationName": "sample-api-destination",
        "Timestamp": "2024-10-24 09:26:35 +0000 UTC"
    }
}
```

# Amazon EventBridge의 규칙
<a name="eb-rules"></a>

각 이벤트 버스에 전달되는 이벤트로가 EventBridge 수행하는 작업을 지정합니다. 이를 위해 *규칙*을 생성합니다. 규칙은 처리를 위해 어떤 이벤트를 어떤 [대상](eb-targets.md)으로 전송할지를 지정합니다. 단일 규칙으로 이벤트를 여러 대상으로 전송한 다음, 병렬로 실행합니다.

두 가지 유형의 규칙을 생성할 수 있습니다. 즉, 이벤트가 전달될 때 이벤트 데이터에 일치하는 규칙과 정의된 일정에 따라 실행되는 규칙입니다. 또한 특정 AWS 서비스는 계정에서도 규칙을 생성하고 관리할 수 있습니다.

## 이벤트 데이터에 일치하는 규칙
<a name="eb-rules-match"></a>

이벤트 데이터 기준(*이벤트 패턴*이라고 함)을 기반으로 들어오는 이벤트에 대해 일치하는 규칙을 생성할 수 있습니다. 이벤트 패턴은 규칙이 일치시키는 이벤트 구조와 필드를 정의합니다. 이벤트가 이벤트 패턴에 정의된 기준과 일치하는 경우는 지정한 대상(들)에 이벤트를 EventBridge 전송합니다.

자세한 내용은 [Amazon EventBridge에서 규칙 생성](eb-create-rule-visual.md) 단원을 참조하십시오.

## 일정에 따라 실행되는 규칙
<a name="eb-rules-scheduled"></a>

**참고**  
예약된 규칙은 EventBridge의 레거시 기능입니다.  
EventBridge는 대규모로 예약된 작업을 중앙에서 생성, 실행 및 관리하는 보다 유연하고 강력한 방법인 EventBridge 스케줄러를 제공합니다. EventBridge 스케줄러를 사용하면 반복 패턴에 대해 cron 및 rate 표현식을 사용하여 일정을 만들거나 일회성 간접 호출을 구성할 수 있습니다. 전송을 위한 유연한 기간을 설정하고, 재시도 제한을 정의하고, 실패한 API 간접 호출의 최대 보존 시간을 설정할 수 있습니다.  
스케줄러는 사용자 지정이 가능하며 더 광범위한 대상 API 작업 및 AWS 서비스를 통해 예약된 규칙보다 향상된 확장성을 제공합니다. 스케줄러를 사용하여 일정에 따라 대상을 간접적으로 호출하는 것이 좋습니다.  
자세한 내용은 [일정 생성](using-eventbridge-scheduler.md#using-eventbridge-scheduler-create) 또는 *[EventBridge 스케줄러 사용 설명서를](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)* 참조하세요.

또한, 지정된 간격으로 지정된 대상에 이벤트를 보내는 규칙을 생성할 수도 있습니다. 예를 들어 Lambda 함수를 주기적으로 실행하려면 일정에 따라 실행할 규칙을 생성할 수 있습니다.

자세한 내용은 [Amazon EventBridge에서 예약된 규칙(레거시) 생성](eb-create-rule-schedule.md) 단원을 참조하십시오.

## AWS 서비스에서 관리하는 규칙
<a name="eb-rules-managed"></a>

생성하는 규칙 외에도 AWS 서비스는 AWS 계정에서 해당 서비스의 특정 함수에 필요한 EventBridge 규칙을 생성하고 관리할 수 있습니다. 이를 *관리형 정책*이라고 합니다.

서비스는 관리형 규칙을 생성하는 경우, 해당 서비스에 규칙을 생성하는 권한을 부여하는 [IAM 정책](eb-iam.md)을 생성할 수도 있습니다. 이러한 방식으로 생성된 IAM 정책은 필수 규칙만 생성하도록 허용하는 리소스 수준 권한을 통해 범위가 좁아집니다.

**강제 삭제** 옵션을 사용하여 관리형 규칙을 삭제할 수 있지만 다른 서비스에 더 이상 해당 규칙이 필요하지 않다고 확신하는 경우에만 삭제해야 합니다. 그렇지 않은 경우 관리형 규칙을 삭제하면 해당 규칙을 사용하는 기능이 작동하지 않게 됩니다.

# Amazon EventBridge에서 규칙 생성
<a name="eb-create-rule-visual"></a>

## 사전 조건
<a name="eb-create-rule-prerequisites"></a>

시작하기 전에 다음을 갖추었는지 확인하세요.
+ Amazon EventBridge 콘솔에 대한 액세스
+ EventBridge 규칙을 생성하기 위한 적절한 IAM 권한
+ 이벤트 기반 아키텍처에 대한 기본 이해

## 개요
<a name="eb-create-rule-overview"></a>

EventBridge에서 수신한 이벤트에 대해 조치를 취하려면 규칙을 생성하면 됩니다. 이벤트가 규칙에 정의된 이벤트 패턴과 일치하면 EventBridge는 이벤트를 지정된 대상으로 보냅니다.

이 주제에서는 EventBridge가 지정된 이벤트 버스로 전송되는 이벤트를 일치시키는 데 사용하는 규칙을 생성하는 방법을 안내합니다.

EventBridge 규칙 생성에는 네 가지 주요 단계가 포함됩니다.

1. 처리할 이벤트 선택

1. 이벤트 필터링 및 테스트 구성

1. 대상 선택 및 구성

1. 규칙 설정 구성

## 이벤트 선택
<a name="eb-create-rule-source"></a>

먼저 대상으로 전송할 이벤트를 선택합니다.

**이벤트를 선택하려면**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 탐색 창에서 **규칙을** 선택한 다음 **규칙 생성을** 선택합니다.

1. **이벤트** 탭에서 대상으로 전송할 이벤트를 찾습니다.

   1. **AWS 서비스 이벤트** 또는 **사용자 지정 이벤트를** 선택합니다.

   1. 검색 상자를 사용하거나 이벤트 목록을 검색하여 대상에 보낼 이벤트를 찾습니다.

   1. 하나 이상의 이벤트를 **빌드** 캔버스로 끌어 **이벤트 트리거**에 놓습니다.

   EventBridge에 **이벤트 트리거 섹션이** 표시됩니다. 이 섹션에는 다음 내용이 포함되어 있습니다.
   + **이벤트** - 선택한 이벤트를 나열합니다.
   + **스키마** - 사용 가능한 경우 선택한 이벤트의 스키마를 표시합니다.

     **스키마**에는 세 개의 탭이 있습니다.
     + **트리**: 이벤트 스키마의 트리 보기입니다.
     + **코드**: Open API 사양 또는 JSON 형식의 이벤트 스키마입니다.
     + **정보**: 스키마에 대한 개요 정보입니다.
   + **샘플 이벤트** - 가능한 경우 선택한 이벤트의 샘플을 표시합니다.
   + **이벤트 패턴(필터)** - 선택한 모든 이벤트를 선택하는 이벤트 패턴을 포함합니다.

## 원하는 것만 전송하도록 이벤트 필터링
<a name="eb-create-rule-event-pattern-visual"></a>

특정 유형의 *모든* 이벤트를 대상으로 전송하고 싶지 않을 수 있습니다. 관심 있는 속성과 값이 포함된 이벤트만 선택하도록 이벤트 패턴을 보다 구체적으로 만들 수 있습니다.

### 이벤트 패턴 편집(선택 사항)
<a name="eb-create-rule-event-pattern-steps"></a>

**이벤트 트리거** 창에서 다음 두 가지 방법으로 이벤트 패턴을 빌드할 수 있습니다.
+ 시각적으로 **스키마** 트리 보기 사용
+ **이벤트 패턴** 창에서 JSON을 직접 편집하여

**스키마 트리 보기를 사용하여 이벤트 패턴을 편집하려면**

1. **스키마** 창의 **트리** 탭을 선택합니다.

1. 필터를 추가하고 편집하여 이벤트 패턴을 빌드합니다.

   1. 이벤트 패턴에 필터로 추가할 속성 옆에 있는 필터 아이콘을 선택합니다.

   1. 드롭다운 목록에서 비교 연산자를 선택합니다.

      비교 연산자에 대한 자세한 내용은 [이벤트 패턴 생성을](eb-create-pattern-operators.md) 참조하세요.

   1. 일치시킬 값을 입력합니다.

   1. 확인 표시를 클릭하여 완료합니다.

   EventBridge는 생성한 필터를 **이벤트 패턴** 창의 JSON에 추가합니다.

1. 원하는 모든 이벤트 속성과 일치하는 이벤트 패턴을 구성할 때까지 필터를 추가합니다.

### 이벤트 패턴 테스트
<a name="eb-create-rule-event-pattern-test"></a>

원하는 모든 이벤트 속성과 일치하는 이벤트 패턴을 구성한 후 이벤트 패턴이 예상대로 작동하는지 테스트합니다.

#### 이벤트 패턴 테스트(선택 사항)
<a name="eb-create-rule-event-pattern-test-steps"></a>

1. 테스트할 샘플 이벤트를 선택하거나 자체 이벤트를 사용합니다.
   + **제공된 샘플 이벤트 사용**

     1. **제공된 샘플 이벤트 사용을** 선택합니다.

     1. **샘플 트리거 이벤트**의 드롭다운 목록에서 테스트에 사용할 이벤트를 선택합니다.
   + **자체 이벤트 사용**

     1. **자체 이벤트 사용**을 선택합니다.

        EventBridge는 빈 `details` 요소가 있는 일반 이벤트를 표시합니다.

     1. 이벤트 JSON을 편집하여 이벤트 패턴을 테스트할 이벤트를 생성합니다.
**작은 정보**  
제공된 샘플 이벤트를 시작점으로 삼아 테스트에 사용할 사용자 지정 이벤트를 생성할 수 있습니다.  
**제공된 샘플 이벤트 사용**을 선택하고 **샘플 트리거 이벤트**에서 이벤트를 선택한 다음 **복사**를 선택합니다.
**자체 이벤트 사용**을 선택합니다.
창에서 전체 이벤트를 선택하고 샘플 이벤트를 그 위에 붙여 넣습니다.
원하는 대로 이벤트를 편집합니다.

1. **테스트 실행**을 선택합니다.

   EventBridge는 테스트 이벤트가 이벤트 패턴과 일치하는지 여부를 나타내는 메시지를 표시합니다.

## 대상 선택
<a name="eb-create-rule-target-visual"></a>

하나(최대 5개)의 대상을 **빌드** 캔버스로 끌어**서 대상**에 놓아 지정된 이벤트 패턴과 일치하는 이벤트를 수신합니다. 대상에는 다음이 포함될 수 있습니다.
+ 동일하거나 다른의 기타 EventBridge 이벤트 버스 AWS 계정
+ Salesforce와 같은 SaaS 파트너를 포함한 EventBridge API 대상
+ Amazon SQS 대기열 또는 Amazon SNS 주제와 같은 다양한 AWS 서비스 리소스

**대상을 선택하려면**

1. 대상 창에서 **대상** 유형을 선택하고 빌드 캔버스의 **대상** 셰이프에 놓습니다.

   EventBridge는 선택한 **대상** 유형에 따라 적용 가능한 구성 옵션과 함께 빌드의 대상 섹션을 표시합니다.
**작은 정보**  
둘 이상의 대상을 지정한 경우 대상 셰이프를 선택하면 해당 대상의 구성 섹션이 표시됩니다.

1. 대상 유형에 따라 대상을 구성합니다. 자세한 구성 단계는 [EventBridge 대상을 참조하세요](eb-targets.md).

### 대상으로 전송되는 이벤트 데이터 사용자 지정
<a name="eb-create-rule-target-transform"></a>

EventBridge 이벤트 버스 또는 EventBridge API 대상 이외의 대상을 선택하는 경우 실제로 대상에 전송되는 데이터를 사용자 지정할 수 있습니다.

#### 전송된 이벤트 데이터 변환 또는 교체(선택 사항)
<a name="eb-create-rule-target-transform-steps"></a>

1. 빌드 디자인 캔버스에서 **대상** 셰이프의 **입력 변환** 아이콘을 선택합니다.

   EventBridge는 **입력 변환** 섹션을 표시합니다.

1. **입력 변환 구성**에서 **활성화**를 선택합니다.

1. 변환 방법을 선택하여 일치하는 이벤트를 위해 대상으로 전송되는 텍스트를 사용자 지정하는 방법을 선택합니다.
   + **일치하는 이벤트의 일부** — EventBridge는 원본 소스 이벤트의 지정된 부분만 대상에 보냅니다.
   + **상수(JSON 텍스트)** - EventBridge는 지정된 JSON 텍스트만 대상으로 전송합니다. 원본 소스 이벤트의 어떤 부분도 전송되지 않습니다.
   + **입력 변환기** - EventBridge가 대상으로 전송할 텍스트를 사용자 지정하도록 입력 변환기를 구성합니다. 자세한 내용은 [대상 입력 변환을 참조하세요](eb-transform-target-input.md).

## 규칙 구성
<a name="eb-create-rule-configure"></a>

마지막으로 규칙을 구성하고 생성합니다.

**규칙을 구성하려면(콘솔)**

1. **구성**을 선택합니다.

1. 규칙의 **이름**을 입력하고 선택적으로 **설명**을 입력합니다.

   규칙은 동일한 및 동일한 이벤트 버스의 다른 규칙 AWS 리전 과 동일한 이름을 가질 수 없습니다.

1. **이벤트 버스**에서 이 규칙과 연결할 이벤트 버스를 선택합니다.

   이 규칙이 자신의 계정에서 발생하는 이벤트와 일치하도록 하려면 **AWS 기본 이벤트 버스(default event bus)**를 선택합니다. 계정 AWS 서비스 의가 이벤트를 보내면 항상 계정의 기본 이벤트 버스로 이동합니다.

1. 규칙이 생성되는 즉시 활성화하려면 **활성화**에서 **활성 활성화**를 활성화합니다.

1. (선택 사항)규칙에 대해 하나 이상의 태그를 입력하세요. 자세한 내용은 [Amazon EventBridge에서 리소스 태그 지정](eb-tagging.md) 단원을 참조하십시오.

1. **생성(Create)**을 선택합니다.

## 다음 단계
<a name="eb-create-rule-next-steps"></a>

규칙을 생성한 후 다음을 수행할 수 있습니다.
+ [지표를 사용하여 규칙 성능 모니터링](eb-monitoring.md)
+ [샘플 이벤트로 규칙 테스트](eb-event-pattern-sandbox.md)
+ [필요에 따라 이벤트 패턴 수정](eb-event-patterns.md)
+ [기존 규칙에 대상 추가](eb-targets.md)

## 추가 리소스
<a name="eb-create-rule-additional-resources"></a>

EventBridge 규칙에 대한 자세한 내용은 다음을 참조하세요.
+ [EventBridge 규칙 개요](eb-rules.md)
+ [이벤트 패턴 생성](eb-event-patterns.md)
+ [EventBridge 대상](eb-targets.md)
+ [EventBridge 규칙 문제 해결](eb-troubleshooting.md)

# Amazon EventBridge에서 이벤트에 반응하는 규칙 생성
<a name="eb-create-rule-wizard"></a>

Amazon EventBridge에서 수신한 이벤트에 대해 조치를 취하기 위해 [규칙](eb-rules.md)을 생성할 수 있습니다. 이벤트가 규칙에 정의된 [이벤트 패턴](eb-event-patterns.md)과 일치하면 EventBridge는 이벤트를 지정된 [대상](eb-targets.md)으로 보내고 규칙에 정의된 작업을 트리거합니다.

다음 단계는 이벤트가 지정된 이벤트 버스로 전송될 때 EventBridge에서 이벤트를 일치시키는 데 사용하는 규칙을 만드는 방법을 안내합니다.

**Topics**
+ [규칙 정의](#eb-create-rule-define)
+ [이벤트 패턴 작성](#eb-create-rule-event-pattern)
+ [대상 선택](#eb-create-rule-target)
+ [태그 구성 및 규칙 검토](#eb-create-rule-review)

## 규칙 정의
<a name="eb-create-rule-define"></a>

먼저 규칙을 식별할 수 있도록 규칙의 이름과 설명을 입력합니다. 또한 규칙이 이벤트 패턴에 맞는 이벤트를 찾는 이벤트 버스를 정의해야 합니다.

**규칙 세부 정보를 정의하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **규칙**을 선택합니다.

1. **규칙 생성**을 선택합니다.

1. 규칙의 **이름**을 입력하고 선택적으로 **설명**을 입력합니다.

   규칙은 동일한 및 동일한 이벤트 버스의 다른 규칙 AWS 리전 과 동일한 이름을 가질 수 없습니다.

1. **이벤트 버스**에서 이 규칙과 연결할 이벤트 버스를 선택합니다. 이 규칙이 자신의 계정에서 발생하는 이벤트와 일치하도록 하려면 **AWS 기본 이벤트 버스(default event bus)**를 선택합니다. 계정 AWS 서비스 의가 이벤트를 내보내면 항상 계정의 기본 이벤트 버스로 이동합니다.

1. **규칙 유형(Rule type)**에서 **이벤트 패턴이 있는 규칙(Rule with an event pattern)**을 생성합니다.

1. **다음**을 선택합니다.

## 이벤트 패턴 작성
<a name="eb-create-rule-event-pattern"></a>

다음으로 이벤트 패턴을 작성합니다. 이렇게 하려면 이벤트 소스를 지정하고, 이벤트 패턴의 기준을 선택하고, 일치시킬 속성과 값을 정의합니다. 또한 JSON으로 이벤트 패턴을 생성하고 샘플 이벤트와 비교하여 테스트할 수 있습니다.

**이벤트 패턴을 작성하려면**

1. **이벤트 소스**에서 **AWS 이벤트 또는 EventBridge 파트너 이벤트**를 선택합니다.

1. (선택 사항) **샘플 이벤트** 섹션에서 이벤트 패턴을 테스트할 **샘플 이벤트 유형**을 선택합니다.

   다음 샘플 이벤트 유형을 사용할 수 있습니다.
   + **AWS 이벤트 **- 지원되는에서 내보낸 이벤트 중에서 선택합니다 AWS 서비스.
   + **EventBridge 파트너 이벤트** - Salesforce와 같이 EventBridge를 지원하는 타사 서비스에서 발생한 이벤트 중에서 선택합니다.
   + **내 이벤트 입력** - JSON 텍스트로 자체 이벤트를 입력합니다.

      AWS 또는 파트너 이벤트를 자체 사용자 지정 이벤트를 생성하기 위한 시작점으로 사용할 수도 있습니다.

     1. **AWS 이벤트** 또는 **EventBridge 파트너 이벤트**를 선택합니다.

     1. **샘플 이벤트** 드롭다운을 이용해 사용자 지정 이벤트의 시작점으로 사용할 이벤트를 선택합니다.

        EventBridge는 샘플 이벤트를 표시합니다.

     1. **복사**를 선택합니다.

     1. **이벤트 유형**에서 **내 이벤트 입력**을 선택합니다.

     1. JSON 편집 창에서 샘플 이벤트 구조를 삭제하고 AWS 또는 파트너 이벤트를 해당 위치에 붙여 넣습니다.

     1. 이벤트 JSON을 편집하여 자체 샘플 이벤트를 생성합니다.

1. **생성 방법**을 선택합니다. EventBridge 스키마 또는 템플릿에서 이벤트 패턴을 생성하거나 사용자 지정 이벤트 패턴을 생성할 수 있습니다.

------
#### [ Existing schema ]

   기존 EventBridge 스키마를 사용하여 이벤트 패턴을 생성하려면 다음을 수행하세요.

   1. **생성 방법** 섹션의 **메서드**에서 **스키마 사용**을 선택합니다.

   1. **이벤트 패턴** 섹션의 **스키마 유형**에서 **스키마 레지스트리에서 스키마 선택**을 선택합니다.

   1. **스키마 레지스트리**의 경우 드롭다운 상자를 선택하고 스키마 레지스트리 이름(예: `aws.events`)을 입력합니다. 표시되는 드롭다운 목록에서 옵션을 선택할 수도 있습니다.

   1. **스키마**의 경우 드롭다운 상자를 선택하고 사용할 스키마 이름을 입력합니다. 예를 들어 `aws.s3@ObjectDeleted`입니다. 표시되는 드롭다운 목록에서 옵션을 선택할 수도 있습니다.

   1. **모델** 섹션에서 속성 옆에 있는 **편집** 버튼을 선택하여 해당 속성을 엽니다. 필요에 따라 **관계** 및 **값** 필드를 설정한 다음, **설정**을 선택하여 속성을 저장합니다.
**참고**  
속성 정의에 대한 자세한 내용을 보려면 속성 이름 옆에 있는 **정보** 아이콘을 선택하세요. 이벤트에서 속성 특성을 설정하는 방법에 대한 참조를 보려면 속성 특성 대화 상자의 **참고** 섹션을 엽니다.  
속성 특성을 삭제하려면 해당 속성의 **편집** 버튼을 선택한 다음, **지우기**를 선택합니다.

   1. 이벤트 패턴을 JSON 텍스트로 생성하고 검증하려면 **JSON으로 이벤트 패턴 생성**을 선택합니다.

   1. (선택 사항) 테스트 패턴과 비교하여 샘플 이벤트를 테스트하려면 **테스트 패턴**을 선택합니다.

      EventBridge는 샘플 이벤트가 이벤트 패턴과 일치하는지 여부를 나타내는 메시지 상자를 표시합니다.

      다음 옵션 중 하나를 선택할 수도 있습니다.
      + **복사** - 이벤트 패턴을 디바이스의 클립보드에 복사합니다.
      + **정리** - 줄 바꿈, 탭, 공백을 추가하여 JSON 텍스트를 더 쉽게 읽을 수 있습니다.

------
#### [ Custom schema ]

   사용자 지정 스키마를 작성하고 이벤트 패턴으로 변환하려면 다음을 수행하세요.

   1. **생성 방법** 섹션의 **메서드**에서 **스키마 사용**을 선택합니다.

   1. **이벤트 패턴** 섹션의 **스키마 유형**에서 **스키마 입력**을 선택합니다.

   1. 텍스트 상자에 스키마를 입력합니다. 스키마의 형식을 유효한 JSON 텍스트로 지정해야 합니다.

   1. **모델** 섹션에서 속성 옆에 있는 **편집** 버튼을 선택하여 해당 속성을 엽니다. 필요에 따라 **관계** 및 **값** 필드를 설정한 다음, **설정**을 선택하여 속성을 저장합니다.
**참고**  
속성 정의에 대한 자세한 내용을 보려면 속성 이름 옆에 있는 **정보** 아이콘을 선택하세요. 이벤트에서 속성 특성을 설정하는 방법에 대한 참조를 보려면 속성 특성 대화 상자의 **참고** 섹션을 엽니다.  
속성 특성을 삭제하려면 해당 속성의 **편집** 버튼을 선택한 다음, **지우기**를 선택합니다.

   1. 이벤트 패턴을 JSON 텍스트로 생성하고 검증하려면 **JSON으로 이벤트 패턴 생성**을 선택합니다.

   1. (선택 사항) 테스트 패턴과 비교하여 샘플 이벤트를 테스트하려면 **테스트 패턴**을 선택합니다.

      EventBridge는 샘플 이벤트가 이벤트 패턴과 일치하는지 여부를 나타내는 메시지 상자를 표시합니다.

      다음 옵션 중 하나를 선택할 수도 있습니다.
      + **복사** - 이벤트 패턴을 디바이스의 클립보드에 복사합니다.
      + **정리** - 줄 바꿈, 탭, 공백을 추가하여 JSON 텍스트를 더 쉽게 읽을 수 있습니다.

------
#### [ Event pattern ]

   JSON 형식의 사용자 지정 이벤트 패턴을 작성하려면 다음을 수행하세요.

   1. **생성 방법** 섹션의 **메서드**에서 **사용자 지정 패턴(JSON 편집기)**을 선택합니다.

   1. **이벤트 패턴**의 경우 JSON 형식 텍스트로 사용자 지정 이벤트 패턴을 입력합니다.

   1. (선택 사항) 테스트 패턴과 비교하여 샘플 이벤트를 테스트하려면 **테스트 패턴**을 선택합니다.

      EventBridge는 샘플 이벤트가 이벤트 패턴과 일치하는지 여부를 나타내는 메시지 상자를 표시합니다.

      다음 옵션 중 하나를 선택할 수도 있습니다.
      + **복사** - 이벤트 패턴을 디바이스의 클립보드에 복사합니다.
      + **정리** - 줄 바꿈, 탭, 공백을 추가하여 JSON 텍스트를 더 쉽게 읽을 수 있습니다.
      + **이벤트 패턴 양식** - 패턴 빌더에서 이벤트 패턴을 엽니다. 패턴 빌더에서 패턴을 있는 그대로 렌더링할 수 없는 경우 EventBridge는 패턴 빌더를 열기 전에 경고를 표시합니다.

------

1. **다음**을 선택합니다.

## 대상 선택
<a name="eb-create-rule-target"></a>

지정된 패턴과 일치하는 이벤트를 수신할 대상을 하나 이상 선택합니다. 대상은 EventBridge 이벤트 버스, Salesforce 등의 SaaS 파트너를 포함한 EventBridge API 대상 또는 다른 AWS 서비스를 포함할 수 있습니다.

**대상을 선택하려면**

1. **대상 유형**에서 다음 대상 유형 중 하나를 선택합니다.

------
#### [ Event bus ]

   1. **EventBridge 이벤트 버스**를 선택합니다.

   1. 대상으로 사용할 이벤트 버스를 선택합니다.
      +  AWS 리전 이 규칙과 동일한에서 이벤트 버스를 사용하려면: 

        1. **동일한 계정 및 리전의 이벤트 버스**를 선택합니다.

        1. **대상에 대한 이벤트 버스**의 경우 드롭다운 상자를 선택하고 이벤트 버스의 이름을 입력합니다. 드롭다운 목록에서 이벤트 버스를 선택할 수도 있습니다.

           자세한 내용은 [Amazon EventBridge에서 동일한 계정 및 리전의 이벤트 버스 간 이벤트 전송](eb-bus-to-bus.md) 단원을 참조하십시오.
      + 다른 AWS 리전 또는 계정의 이벤트 버스를이 규칙으로 사용하려면:

        1. **다른 계정 또는 리전의 이벤트 버스**를 선택합니다.

        1. **대상 이벤트 버스**에는 사용하려는 이벤트 버스의 ARN을 입력합니다.

           자세한 내용은 다음을 참조하세요.
           + [Amazon EventBridge의 AWS 계정 간에 이벤트 전송 및 수신](eb-cross-account.md)
           + [Amazon EventBridge의 AWS 리전 간에 이벤트 전송 및 수신](eb-cross-region.md)

   1. 여러 대상 유형에 대해 EventBridge에서는 대상에 이벤트를 보낼 권한이 필요합니다. 이 경우 EventBridge는 규칙 실행에 필요한 IAM 역할을 생성할 수 있습니다.

      **실행 역할**에서는 다음 중 하나를 수행합니다.
      + 이 규칙의 새 실행 역할을 만들려면:

        1. **이 특정 리소스에 대해 새 역할 생성**을 선택합니다.

        1. 이 실행 역할의 이름을 입력하거나 EventBridge에서 생성된 이름을 사용합니다.
      + 이 규칙에 기존 실행 역할을 사용하려면:

        1. **기존 역할 사용**을 선택합니다.

        1. 드롭다운 목록에서 사용할 실행 역할의 이름을 입력하거나 선택합니다.

   1. (선택 사항) **추가 설정**의 경우 대상 유형에 사용할 수 있는 선택적 설정을 지정합니다.

      (선택 사항) **DLQ(Dead Letter Queue)**에서 표준 Amazon SQS 대기열을 배달 못한 편지 대기열로 사용할지를 선택합니다. 이벤트가 대상에 성공적으로 전달되지 않은 경우 EventBridge는 이 규칙과 일치하는 이벤트를 DLQ(Dead Letter Queue)로 보냅니다. 다음 중 하나를 수행합니다.
      + 배달 못한 편지 대기열을 사용하지 않으려면 **없음(None)**을 선택합니다.
      + **현재 AWS 계정에서 배달 못한 편지 대기열로 사용할 대기열 선택(Select an Amazon SQS queue in the current AWS account to use as the dead-letter queue)**을 선택한 다음, 드롭다운 목록에서 사용할 대기열을 선택합니다.
      + **다른 AWS 계정에서 배달 못한 편지 대기열로 사용할 Amazon SQS 대기열 선택(Select an Amazon SQS queue in an other AWS account as a dead-letter queue)**을 선택한 다음, 사용할 대기열의 ARN을 입력합니다. 메시지를 보낼 수 있는 EventBridge 권한을 부여하는 리소스 기반 정책을 대기열에 연결해야 합니다.

        자세한 내용은 [DLQ(Dead Letter Queue)에 권한 부여](eb-rule-dlq.md#eb-dlq-perms) 단원을 참조하십시오.

------
#### [ API destination ]

   1. **EventBridge API 대상**을 선택합니다.

   1. 새 API 대상 또는 기존 API 대상을 선택합니다.
      + 기존 API 대상을 사용하려면 **기존 API 대상 사용**을 선택합니다. 그런 다음 드롭다운 목록에서 API 대상을 선택합니다.
      + 새 API 대상을 생성하려면 **새 API 대상 생성**을 선택합니다. 그런 다음 대상에 대해 다음 세부 정보를 제공합니다.
        + **이름** - 대상의 이름을 입력합니다.

          이름은 AWS 계정내에서 고유해야 합니다. 이름은 최대 64자까지 가능합니다. 유효한 문자는 **A\$1Z**, **a-z**, **0-9** 및 **.** **\$1** **-**(하이픈)입니다.
        + (선택 사항) **설명** – 대상에 대한 설명을 입력합니다.

          설명은 최대 512자까지 가능합니다.
        + **API 대상 엔드포인트** — 대상의 URL 엔드포인트입니다.

          엔드포인트 URL은 **https**로 시작해야 합니다. **\$1**를 경로 파라미터 와일드카드로 포함할 수 있습니다. 대상 `HttpParameters` 속성에서 경로 파라미터를 설정할 수 있습니다.
        + **HTTP 메서드** - 엔드포인트를 간접 호출할 때 사용할 HTTP 메서드를 선택합니다.
        + (선택 사항) **초당 간접 호출 속도 제한** — 이 대상에 대해 초당 허용되는 최대 간접 호출 수를 입력합니다.

          이 값은 0보다 커야 합니다. 기본적으로 이 값은 300으로 설정됩니다.
        + **연결** — 새 연결을 사용할지 기존 연결을 사용할지 선택합니다.
          + 기존 연결을 사용하려면 **기존 연결 사용**을 선택하고 드롭다운 목록에서 연결을 선택합니다.
          + 이 대상에 대한 새 연결을 만들려면 **새 연결 만들기**를 선택한 다음 연결의 **이름**, **대상 유형** 및 **권한 부여** 유형을 정의합니다. 이 연결에 대한 **설명**(선택 사항)을 추가할 수도 있습니다.

   1. 여러 대상 유형에 대해 EventBridge에서는 대상에 이벤트를 보낼 권한이 필요합니다. 이 경우 EventBridge는 규칙 실행에 필요한 IAM 역할을 생성할 수 있습니다.

      **실행 역할**에서는 다음 중 하나를 수행합니다.
      + 이 규칙의 새 실행 역할을 만들려면:

        1. **이 특정 리소스에 대해 새 역할 생성**을 선택합니다.

        1. 이 실행 역할의 이름을 입력하거나 EventBridge에서 생성된 이름을 사용합니다.
      + 이 규칙에 기존 실행 역할을 사용하려면:

        1. **기존 역할 사용**을 선택합니다.

        1. 드롭다운 목록에서 사용할 실행 역할의 이름을 입력하거나 선택합니다.

   1. (선택 사항) **추가 설정**의 경우 대상 유형에 사용할 수 있는 선택적 설정을 지정합니다.

      EventBridge는 지정된 AWS 서비스에 대해 다음 필드를 모두 표시하지 않을 수 있습니다.

      1. (선택 사항) 대상 입력 구성의 경우 일치하는 이벤트를 위해 대상으로 전송되는 텍스트를 사용자 지정하는 방법을 선택합니다. 다음 중 하나를 선택합니다.
         + **일치하는 이벤트** — EventBridge는 원본 소스 이벤트 전체를 대상으로 보냅니다. 기본값입니다.
         + **일치하는 이벤트의 일부** — EventBridge는 원본 소스 이벤트의 지정된 부분만 대상에 보냅니다.

           **일치하는 이벤트의 일부를 지정합니다.**에서 EventBridge가 대상으로 전송할 이벤트 부분을 정의하는 JSON 경로를 지정합니다.
         + **상수(JSON 텍스트)** - EventBridge는 지정된 JSON 텍스트만 대상으로 전송합니다. 원본 소스 이벤트의 어떤 부분도 전송되지 않습니다.

           **JSON으로 상수를 지정**에서 EventBridge가 이벤트 대신 대상으로 전송할 JSON 텍스트를 지정합니다.
         + **입력 변환기** - EventBridge가 대상으로 보낼 텍스트를 사용자 지정하도록 입력 변환기를 구성합니다. 자세한 내용은 [Amazon EventBridge 입력 변환](eb-transform-target-input.md) 단원을 참조하십시오.

           1. **입력 변환기 구성**을 선택합니다.

           1. [EventBridge에서 규칙을 생성할 때 입력 변환기 구성](eb-transform-input-rule.md)의 단계에 따라 입력 변환기를 구성합니다.

      1. (선택 사항) **재시도 정책**에서 오류 발생 후 EventBridge가 대상으로의 이벤트 전송을 재시도하는 방법을 지정합니다.
         + **최대 이벤트 기간** - EventBridge에서 처리되지 않은 이벤트를 유지할 수 있는 최대 시간(시간, 분, 초)을 입력합니다. 기본값은 24시간입니다.
         + **재시도** - 오류 발생 후 EventBridge가 대상으로 이벤트 전송을 재시도해야 하는 최대 횟수를 입력합니다. 기본값은 185회입니다.

      1. (선택 사항) **DLQ(Dead Letter Queue)**에서 표준 Amazon SQS 대기열을 배달 못한 편지 대기열로 사용할지를 선택합니다. 이벤트가 대상에 성공적으로 전달되지 않은 경우 EventBridge는 이 규칙과 일치하는 이벤트를 DLQ(Dead Letter Queue)로 보냅니다. 다음 중 하나를 수행합니다.
         + 배달 못한 편지 대기열을 사용하지 않으려면 **없음(None)**을 선택합니다.
         + **현재 AWS 계정에서 배달 못한 편지 대기열로 사용할 Amazon SQS 대기열** 선택을 선택한 다음 드롭다운 목록에서 사용할 대기열을 선택합니다.
         + **다른 AWS 계정에서 배달 못한 편지 대기열로 사용할 Amazon SQS 대기열 선택**을 선택한 다음, 사용할 대기열의 ARN을 입력합니다. 메시지를 보낼 수 있는 EventBridge 권한을 부여하는 리소스 기반 정책을 대기열에 연결해야 합니다.

           자세한 내용은 [DLQ(Dead Letter Queue)에 권한 부여](eb-rule-dlq.md#eb-dlq-perms) 단원을 참조하십시오.

   자세한 내용은 [Amazon EventBridge의 대상으로 사용되는 API 데스티네이션](eb-api-destinations.md) 단원을 참조하십시오.

------
#### [ AWS 서비스 ]

   1. **AWS 서비스**을 선택합니다.

   1. **대상 선택**에서 대상으로 사용할 AWS 서비스 를 선택합니다.

   1. 교차 계정 대상을 지원하는 AWS 서비스를 선택하는 경우 이벤트 버스와 동일한 계정 또는 다른 계정의 대상을 선택할 수 있습니다.
      + 동일한 계정의 대상인 경우 **대상 유형**에서 **이 계정의 대상**을 선택합니다.

        1. 선택한 서비스에 대해 요청된 정보를 제공합니다.
**참고**  
표시되는 필드는 선택한 서비스에 따라 달라집니다. 사용 가능한 대상에 대한 자세한 내용은 [EventBridge 콘솔에서 사용 가능한 이벤트 버스 대상](eb-targets.md#eb-console-targets) 섹션을 참조하세요.

        1. 여러 대상 유형에 대해 EventBridge에서는 대상에 이벤트를 보낼 권한이 필요합니다. 이 경우 EventBridge는 규칙 실행에 필요한 IAM 역할을 생성할 수 있습니다.

           **실행 역할**에서는 다음 중 하나를 수행합니다.
           + 이 규칙의 새 실행 역할을 만들려면:

             1. **이 특정 리소스에 대해 새 역할 생성**을 선택합니다.

             1. 이 실행 역할의 이름을 입력하거나 EventBridge에서 생성된 이름을 사용합니다.
           + 이 규칙에 기존 실행 역할을 사용하려면:

             1. **기존 역할 사용**을 선택합니다.

             1. 드롭다운 목록에서 사용할 실행 역할의 이름을 입력하거나 선택합니다.
      + 다른 계정의 대상의 경우 **대상 유형**에서 **다른 AWS 계정의 대상**을 선택합니다.

        1. 이벤트를 전송할 대상 리소스의 ARN을 입력합니다.

        1. 선택한 서비스에 대해 요청된 모든 추가 정보를 제공합니다.

        1. 드롭다운 목록에서 사용할 실행 역할의 이름을 선택합니다.

   1. (선택 사항) **추가 설정**의 경우 대상 유형에 사용할 수 있는 선택적 설정을 지정합니다.

      1. (선택 사항) 대상 입력 구성의 경우 일치하는 이벤트를 위해 대상으로 전송되는 텍스트를 사용자 지정하는 방법을 선택합니다. 다음 중 하나를 선택합니다.
         + **일치하는 이벤트** — EventBridge는 원본 소스 이벤트 전체를 대상으로 보냅니다. 기본값입니다.
         + **일치하는 이벤트의 일부** — EventBridge는 원본 소스 이벤트의 지정된 부분만 대상에 보냅니다.

           **일치하는 이벤트의 일부를 지정합니다.**에서 EventBridge가 대상으로 전송할 이벤트 부분을 정의하는 JSON 경로를 지정합니다.
         + **상수(JSON 텍스트)** - EventBridge는 지정된 JSON 텍스트만 대상으로 전송합니다. 원본 소스 이벤트의 어떤 부분도 전송되지 않습니다.

           **JSON으로 상수를 지정**에서 EventBridge가 이벤트 대신 대상으로 전송할 JSON 텍스트를 지정합니다.
         + **입력 변환기** - EventBridge가 대상으로 보낼 텍스트를 사용자 지정하도록 입력 변환기를 구성합니다. 자세한 내용은 [Amazon EventBridge 입력 변환](eb-transform-target-input.md) 단원을 참조하십시오.

           1. **입력 변환기 구성**을 선택합니다.

           1. [EventBridge에서 규칙을 생성할 때 입력 변환기 구성](eb-transform-input-rule.md)의 단계에 따라 입력 변환기를 구성합니다.

      1. (선택 사항) **재시도 정책**에서 오류 발생 후 EventBridge가 대상으로의 이벤트 전송을 재시도하는 방법을 지정합니다.
         + **최대 이벤트 기간** - EventBridge에서 처리되지 않은 이벤트를 유지할 수 있는 최대 시간(시간, 분, 초)을 입력합니다. 기본값은 24시간입니다.
         + **재시도** - 오류 발생 후 EventBridge가 대상으로 이벤트 전송을 재시도해야 하는 최대 횟수를 입력합니다. 기본값은 185회입니다.

      1. (선택 사항) **DLQ(Dead Letter Queue)**에서 표준 Amazon SQS 대기열을 배달 못한 편지 대기열로 사용할지를 선택합니다. 이벤트가 대상에 성공적으로 전달되지 않은 경우 EventBridge는 이 규칙과 일치하는 이벤트를 DLQ(Dead Letter Queue)로 보냅니다. 다음 중 하나를 수행합니다.
         + 배달 못한 편지 대기열을 사용하지 않으려면 **없음(None)**을 선택합니다.
         + **현재 AWS 계정에서 배달 못한 편지 대기열로 사용할 Amazon SQS 대기열** 선택을 선택한 다음 드롭다운 목록에서 사용할 대기열을 선택합니다.
         + **다른 AWS 계정에서 배달 못한 편지 대기열로 사용할 Amazon SQS 대기열 선택**을 선택한 다음, 사용할 대기열의 ARN을 입력합니다. 메시지를 보낼 수 있는 EventBridge 권한을 부여하는 리소스 기반 정책을 대기열에 연결해야 합니다.

           자세한 내용은 [DLQ(Dead Letter Queue)에 권한 부여](eb-rule-dlq.md#eb-dlq-perms) 단원을 참조하십시오.

------

1. (선택 사항) 이 규칙에 다른 대상을 추가하려면 **다른 대상 추가**를 선택합니다.

1. **다음**을 선택합니다.

## 태그 구성 및 규칙 검토
<a name="eb-create-rule-review"></a>

마지막으로 규칙에 원하는 태그를 입력한 다음 규칙을 검토 및 생성합니다.

**태그를 구성하고 규칙을 검토 및 생성하려면**

1. (선택 사항)규칙에 대해 하나 이상의 태그를 입력하세요. 자세한 내용은 [Amazon EventBridge에서 리소스 태그 지정](eb-tagging.md) 단원을 참조하십시오.

1. **다음**을 선택합니다.

1. 새 규칙의 세부 정보를 검토합니다. 섹션을 변경하려면 해당 섹션 옆에 있는 **편집** 버튼을 선택합니다.

   규칙 세부 정보에 만족하면 **규칙 생성**을 선택합니다.

# Amazon EventBridge에서 규칙 비활성화 또는 삭제
<a name="eb-delete-rule"></a>

[규칙](eb-rules.md)이 [이벤트](eb-events.md)를 처리하거나 일정에 따라 실행되는 것을 중지하려면 규칙을 삭제하거나 비활성화하면 됩니다. 다음 단계는 EventBridge 규칙을 삭제하거나 비활성화하는 방법을 안내합니다.

**규칙을 삭제하거나 비활성화하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **규칙**을 선택합니다.

   **이벤트 버스**에서 규칙과 연결된 이벤트 버스를 선택합니다.

1. 다음 중 하나를 수행하세요.

   1. 규칙을 삭제하려면 규칙 옆의 버튼을 선택하고 **작업**, **삭제**, **삭제**를 선택합니다.

      규칙이 관리형 규칙인 경우 해당 규칙이 관리형 규칙이고, 규칙을 삭제하면 규칙을 생성한 서비스에서 기능이 멈출 수 있음을 확인하도록 규칙 이름을 입력합니다. 계속하려면 규칙 이름을 입력하고 **강제 삭제**를 선택합니다.

   1. 규칙을 일시적으로 비활성화하려면 규칙 옆의 버튼을 선택하고 **비활성화**, **비활성화**를 선택합니다.

      관리형 규칙은 비활성화할 수 없습니다.

# Amazon EventBridge의 규칙 정의 시 모범 사례
<a name="eb-rules-best-practices"></a>

다음은 이벤트 버스에 대한 규칙을 생성할 때 고려해야 할 몇 가지 모범 사례입니다.

## 각 규칙에 단일 대상 설정
<a name="eb-rules-best-practices-single-target"></a>

특정 규칙에 최대 5개의 대상을 지정할 수 있지만 각 규칙에 대해 단일 대상을 지정하면 규칙을 더 쉽게 관리할 수 있습니다. 둘 이상의 대상이 동일한 이벤트 세트를 수신해야 하는 경우 규칙을 복제하여 동일한 이벤트를 다른 대상에 전달하는 것이 좋습니다. 이러한 캡슐화는 규칙 유지 관리를 간소화합니다. 시간이 지남에 따라 이벤트 대상의 요구 사항이 달라지면 각 규칙과 해당 이벤트 패턴을 다른 규칙과 독립적으로 업데이트할 수 있습니다.

## 규칙 권한 설정
<a name="eb-rules-best-practices-permissions"></a>

이벤트를 소비하는 애플리케이션 구성 요소 또는 서비스가 자체 규칙 관리를 제어할 수 있도록 할 수 있습니다. 고객이 채택하는 일반적인 아키텍처 접근 방식은 별도의 AWS 계정을 사용하여 이러한 애플리케이션 구성 요소 또는 서비스를 격리하는 것입니다. 한 계정에서 다른 계정으로 이벤트가 흐르도록 하려면 이벤트를 다른 계정의 이벤트 버스로 라우팅하는 규칙을 한 이벤트 버스에 생성해야 합니다. 이벤트를 소비하는 팀 또는 서비스가 자체 규칙 관리를 제어할 수 있도록 할 수 있습니다. 리소스 정책을 통해 해당 계정에 적절한 권한을 지정하면 됩니다. 이는 모든 계정과 지역에 적용됩니다.

자세한 내용은 [Amazon EventBridge의 이벤트 버스에 대한 권한](eb-event-bus-perms.md) 단원을 참조하십시오.

리소스 정책의 예는 GitHub에서 [Multi-account design patterns with Amazon EventBridge](https://github.com/aws-samples/amazon-eventbridge-resource-policy-samples/tree/main/patterns)를 참조하세요.

## 규칙 성능 모니터링
<a name="eb-rules-best-practices-monitor"></a>

규칙이 예상대로 작동하는지 확인하기 위해 규칙을 모니터링합니다.
+ `TriggeredRules` 지표에 누락된 데이터 포인트 또는 이상 항목이 있는지 모니터링하면 주요 변경 사항을 적용한 게시자의 불일치를 감지하는 데 도움이 될 수 있습니다. 자세한 내용은 [Amazon EventBridge 모니터링](eb-monitoring.md) 단원을 참조하십시오.
+ 이상 항목 또는 최대 예상 개수에 대한 경보를 통해 규칙이 새 이벤트와 일치하는지 감지하는 데도 도움이 될 수 있습니다. AWS 서비스 및 SaaS 파트너를 포함한 이벤트 게시자가 새로운 사용 사례 및 기능을 활성화할 때 새로운 이벤트를 도입할 때 발생할 수 있습니다. 이러한 새 이벤트가 예상치 못한 상태에서 다운스트림 대상의 처리 속도보다 높은 볼륨으로 이어지면 이벤트 백로그가 발생할 수 있습니다.

  이런 예기치 않은 이벤트 처리로 인해 원치 않는 청구 요금이 발생할 수도 있습니다.

  또한 계정이 초당 총 대상 간접 호출 서비스 할당량을 초과할 경우 규칙 제한이 트리거될 수 있습니다. EventBridge는 여전히 제한된 규칙과 일치하는 이벤트를 전달하려고 시도하고 최대 24시간 동안 또는 대상의 사용자 지정 재시도 정책에 설명된 대로 재시도합니다. `ThrottledRules` 지표를 사용하여 제한된 규칙을 감지하고 알릴 수 있습니다.
+ 지연 시간이 짧은 사용 사례의 경우 이벤트 버스의 상태를 나타내는 `IngestionToInvocationStartLatency`를 사용하여 지연 시간을 모니터링할 수도 있습니다. 긴 지연 시간이 30초 이상 지속되면 서비스 중단이나 규칙 제한이 발생할 수 있습니다.

# AWS Serverless Application Model 템플릿을 사용하여 Amazon EventBridge 리소스 배포
<a name="eb-use-sam"></a>

EventBridge 콘솔에서 수동으로 [규칙](eb-rules.md)을 작성하고 테스트할 수 있으며, 이는 [이벤트 패턴](eb-event-patterns.md)을 구체화할 때 개발 프로세스에 도움이 될 수 있습니다. 하지만 애플리케이션을 배포할 준비가 되면 [AWS SAM](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/what-is-sam.html)과 같은 프레임워크를 사용하여 모든 서버리스 리소스를 일관되게 시작하는 것이 더 쉽습니다.

이 [ 예제 애플리케이션을](https://github.com/aws-samples/amazon-eventbridge-producer-consumer-example) 사용하여 AWS SAM 템플릿을 사용하여 EventBridge 리소스를 빌드하는 방법을 살펴보겠습니다. 이 예제의 template.yaml 파일은 네 가지 [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 함수를 정의하고 Lambda 함수를 EventBridge와 통합하는 두 가지 방법을 보여주는 AWS SAM 템플릿입니다.

이 예제 애플리케이션에 대한 자세한 내용은 [자습서: 샘플 Amazon EventBridge 애플리케이션 생성](eb-tutorial-get-started.md) 섹션을 참조하세요.

 EventBridge와 AWS SAM 템플릿을 사용하는 방법에는 두 가지가 있습니다. 하나의 규칙에 의해 하나의 Lambda 함수가 간접 호출되는 간단한 통합의 경우 **결합된 템플릿** 접근 방식을 사용하는 것이 좋습니다. 복잡한 라우팅 로직이 있거나 AWS SAM 템플릿 외부의 리소스에 연결하는 경우 **분리된 템플릿** 접근 방식이 더 좋습니다.

**Topics**
+ [결합된 템플릿](#eb-combined-template)
+ [분리된 템플릿](#eb-separated-template)

## 결합된 템플릿
<a name="eb-combined-template"></a>

첫 번째 접근 방식은 `Events` 속성을 사용하여 EventBridge 규칙을 구성하는 것입니다. 다음 예제 코드는 Lambda 함수를 간접적으로 간접 호출하는 [이벤트](eb-events.md)를 정의합니다.

**참고**  
이 예제에서는 모든 AWS 계정에 있는 기본 [이벤트 버스](eb-event-bus.md)에 규칙을 자동으로 생성합니다. 규칙을 사용자 지정 이벤트 버스에 연결하려면 템플릿에 `EventBusName`을 추가하면 됩니다.

```
atmConsumerCase3Fn:
  Type: AWS::Serverless::Function
  Properties:
    CodeUri: atmConsumer/
    Handler: handler.case3Handler
    Runtime: nodejs12.x
    Events:
      Trigger:
        Type: CloudWatchEvent 
        Properties:
          Pattern:
            source:
              - custom.myATMapp
            detail-type:
              - transaction                
            detail:
              result:
                - "anything-but": "approved"
```

 이 YAML 코드는 EventBridge 콘솔의 이벤트 패턴과 동일합니다. YAML에서는 이벤트 패턴만 정의하면 되며는 필요한 권한이 있는 IAM 역할을 AWS SAM 자동으로 생성합니다.

## 분리된 템플릿
<a name="eb-separated-template"></a>

에서 EventBridge 구성을 정의하는 두 번째 접근 방식에서는 템플릿에서 AWS SAM리소스가 더 명확하게 분리됩니다.

1. 먼저 Lambda 함수를 정의합니다.

   ```
   atmConsumerCase1Fn:
     Type: AWS::Serverless::Function
     Properties:
       CodeUri: atmConsumer/
       Handler: handler.case1Handler
       Runtime: nodejs12.x
   ```

1. 다음으로 `AWS::Events::Rule` 리소스를 사용하여 규칙을 정의합니다. 속성은 이벤트 패턴을 정의하고 [대상](eb-targets.md)을 지정할 수도 있습니다. 여러 대상을 명시적으로 정의할 수 있습니다.

   ```
   EventRuleCase1: 
     Type: AWS::Events::Rule
     Properties: 
       Description: "Approved transactions"
       EventPattern: 
         source: 
           - "custom.myATMapp"
         detail-type:
           - transaction   
         detail: 
           result: 
             - "approved"
       State: "ENABLED"
       Targets: 
         - 
           Arn: 
             Fn::GetAtt: 
               - "atmConsumerCase1Fn"
               - "Arn"
           Id: "atmConsumerTarget1"
   ```

1. 마지막으로, 대상을 간접적으로 간접 호출할 수 있는 권한을 EventBridge에 부여하는 `AWS::Lambda::Permission` 리소스를 정의합니다.

   ```
   PermissionForEventsToInvokeLambda: 
     Type: AWS::Lambda::Permission
     Properties: 
       FunctionName: 
         Ref: "atmConsumerCase1Fn"
       Action: "lambda:InvokeFunction"
       Principal: "events.amazonaws.com"
       SourceArn: 
         Fn::GetAtt: 
           - "EventRuleCase1"
           - "Arn"
   ```

# 기존 EventBridge 규칙에서 AWS CloudFormation 템플릿 생성
<a name="rule-generate-template"></a>

AWS CloudFormation 를 사용하면 인프라를 코드로 취급하여 중앙 집중식으로 반복 가능한 방식으로 계정 및 리전 간에 AWS 리소스를 구성하고 관리할 수 있습니다. CloudFormation은 프로비저닝 및 관리하려는 리소스를 정의하는 *템플릿*을 생성하게 하여 이 작업을 수행합니다.

EventBridge를 사용하면 계정의 기존 규칙에서 템플릿을 생성할 수 있으므로 CloudFormation 템플릿 개발을 바로 시작할 수 있습니다. 템플릿에 포함할 규칙을 하나 또는 여러 개 선택할 수 있습니다. 따라서 이러한 템플릿을 기반으로 사용해 CloudFormation 관리에 따른 리소스 [스택을 생성](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)할 수 있습니다.

CloudFormation에 대한 자세한 내용은 [* CloudFormation 사용 설명서를* 참조하세요.](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)

**참고**  
EventBridge는 생성된 템플릿에 [관리형 규칙](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)을 포함하지 않습니다.

이벤트 버스에 포함된 규칙을 포함하여 [기존 이벤트 버스에서 템플릿을 생성할](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-generate-event-bus-template.html) 수도 있습니다.

**하나 이상의 규칙에서 CloudFormation 템플릿을 생성하려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **규칙**을 선택합니다.

1. **이벤트 버스 선택**에서 템플릿에 포함할 규칙이 포함된 이벤트 버스를 선택합니다.

1. **규칙**에서 생성된 CloudFormation 템플릿에 포함할 규칙을 선택합니다.

   단일 규칙의 경우 규칙 이름을 선택하여 규칙의 세부 정보 페이지를 표시할 수도 있습니다.

1. **CloudFormation 템플릿**을 선택한 다음, EventBridge에서 템플릿을 생성할 때 사용할 형식(**JSON** 또는 **YAML**)을 선택합니다.

   EventBridge는 선택한 형식으로 생성된 템플릿을 표시합니다.

1. EventBridge는 템플릿 파일을 다운로드하거나 템플릿을 클립보드에 복사하는 옵션을 제공합니다.
   + 템플릿 파일을 다운로드하려면 **다운로드**를 선택합니다.
   + 템플릿을 클립보드에 복사하려면 **복사**를 선택합니다.

1. 템플릿을 종료하려면 **취소**를 선택합니다.

사용 사례에 맞게 템플릿을 사용자 지정한 후에는 CloudFormation 템플릿을 사용하여에서 [스택을 생성할](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) 수 있습니다 CloudFormation.

## Amazon EventBridge에서 생성된 CloudFormation 템플릿 사용 시 고려할 사항
<a name="eb-generate-rule-template-considerations"></a>

EventBridge에서 생성한 CloudFormation 템플릿을 사용할 때는 다음 요소를 고려합니다.
+ EventBridge는 생성 템플릿에 암호를 포함하지 않습니다.

  템플릿을 사용하여 CloudFormation 스택을 생성하거나 업데이트할 때 사용자가 암호 또는 기타 중요한 정보를 지정할 수 있는 [템플릿 파라미터](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)를 포함하도록 템플릿을 편집할 수 있습니다.

  또한 사용자는 Secrets Manager를 이용해 원하는 리전에 보안 암호를 생성한 다음, 생성된 템플릿을 편집하여 [동적 파라미터](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-secretsmanager)를 적용할 수 있습니다.
+ 생성된 템플릿의 대상은 원래 이벤트 버스에 지정된 그대로 유지됩니다. 따라서 템플릿을 사용하여 다른 리전에 스택을 생성하기 전에 템플릿을 적절하게 편집하지 않으면 교차 리전 문제가 발생할 수 있습니다.

  또한 생성된 템플릿은 다운스트림 대상을 자동으로 생성하지 않습니다.

# 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`)
대시
밑줄
영숫자
배열 인덱스
와일드카드(\$1)
슬래시 전달

### 동적 경로 파라미터
<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\$15개의 실행 명령 대상을 지정할 수 있습니다.

실행하고 파라미터를 전달할 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 소유 키참조하세요.

# Amazon EventBridge의 규칙에 대한 Amazon API Gateway 대상
<a name="eb-api-gateway-target"></a>

Amazon API Gateway를 사용해 API를 생성, 게시, 유지 관리, 모니터링할 수 있습니다. Amazon EventBridge는 API Gateway 엔드포인트로의 이벤트 전송을 지원합니다. API Gateway 엔드포인트를 [대상](eb-targets.md)으로 지정하면 대상으로 전송되는 각 [이벤트](eb-events.md)가 엔드포인트로 전송된 요청에 매핑됩니다.

**중요**  
EventBridge는 API Gateway *엣지 최적화* 엔드포인트 및 *리전* 엔드포인트를 대상으로 사용할 수 있도록 지원합니다. *프라이빗* 엔드포인트는 현재 지원되지 않습니다. 엔드포인트에 대한 자세한 내용은 [https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-endpoint-types.html](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-endpoint-types.html) 섹션을 참조하세요.

다음과 같은 사용 사례에 API Gateway 대상을 사용할 수 있습니다.
+  AWS 또는 타사 이벤트를 기반으로 API Gateway에서 호스팅되는 고객 지정 API를 호출합니다.
+ 일정에 따라 주기적으로 엔드포인트를 간접 호출합니다.

EventBridge JSON 이벤트 정보는 HTTP 요청 본문으로 엔드포인트에 전송됩니다. 다음과 같이 대상의 `HttpParameters` 필드에 다른 요청 속성을 지정할 수 있습니다.
+ `PathParameterValues`는 엔드포인트 ARN의 모든 경로 변수에 순차적으로 해당하는 값을 나열합니다(예: `"arn:aws:execute-api:us-east-1:112233445566:myapi/dev/POST/pets/*/*"`).
+ `QueryStringParameters`는 EventBridge가 간접 호출된 엔드포인트에 추가하는 쿼리 문자열 파라미터를 나타냅니다.
+ `HeaderParameters`는 요청에 추가할 HTTP 헤더를 정의합니다.

**참고**  
보안상의 이유로 다음 HTTP 헤더 키는 허용되지 않습니다.  
`X-Amz` 또는 `X-Amzn` 접두사가 붙은 모든 항목
`Authorization`
`Connection`
`Content-Encoding`
`Content-Length`
`Host`
`Max-Forwards`
`TE`
`Transfer-Encoding`
`Trailer`
`Upgrade`
`Via`
`WWW-Authenticate`
`X-Forwarded-For`

## 동적 파라미터
<a name="eb-targets-apigateway-dynamic"></a>

API Gateway 대상을 간접 호출할 때 대상으로 전송되는 이벤트에 데이터를 동적으로 추가할 수 있습니다. 자세한 내용은 [대상 파라미터](eb-targets.md#targets-specific-parms) 단원을 참조하십시오.

## 간접 호출 재시도
<a name="eb-targets-apigateway-retries"></a>

모든 대상과 마찬가지로 EventBridge는 일부 실패한 간접 호출을 다시 시도합니다. API Gateway의 경우, EventBridge는 5xx 또는 429 HTTP 상태 코드와 함께 전송된 응답을 [지수 백오프 및 지터](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/)를 사용해 최대 24시간 동안 재시도합니다. 그 후 EventBridge는 Amazon CloudWatch에 `FailedInvocations` 지표를 게시합니다. EventBridge는 다른 4xx HTTP 오류를 재시도하지 않습니다.

## 제한 시간
<a name="eb-targets-apigateway-timeout"></a>

EventBridge 규칙 API Gateway 요청에는 최대 클라이언트 실행 제한 시간이 5초여야 합니다. API Gateway가 응답하는 데 5초 이상 걸리는 경우 EventBridge는 요청 시간을 초과한 후 재시도합니다.

EventBridge 파이프 API Gateway 요청의 최대 제한 시간은 API Gateway의 최댓값인 29초입니다.

# AWS AppSync Amazon EventBridge의 규칙 대상
<a name="target-appsync"></a>

AWS AppSync 를 통해 개발자는 안전하고 서버가 없는 고성능 GraphQL 및 Pub/Sub APIs. 를 사용하면 GraphQL 변형을 사용하여 애플리케이션에 실시간 데이터 업데이트를 게시할 AWS AppSync수 있습니다. EventBridge는 일치하는 이벤트에 대해 유효한 GraphQL 변형 작업 직접 호출을 지원합니다. AWS AppSync API 변형을 대상으로 지정하면는 변형 작업을 통해 이벤트를 AWS AppSync 처리한 다음 변형에 연결된 구독을 트리거할 수 있습니다.

**참고**  
EventBridge는 AWS AppSync 퍼블릭 GraphQL APIs 지원합니다. EventBridge는 현재 AWS AppSync 프라이빗 APIs 지원하지 않습니다.

다음 사용 사례에는 an AWS AppSync GraphQL API 대상을 사용할 수 있습니다.
+ 이벤트 데이터를 구성된 데이터 소스로 푸시, 변환 및 저장합니다.
+ 연결된 애플리케이션 클라이언트에 실시간 알림을 전송합니다.

**참고**  
AWS AppSync 대상은 [`AWS_IAM` 권한 부여 유형을](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html#aws-iam-authorization) 사용한 AWS AppSync GraphQL APIs 호출만 지원합니다.

 AWS AppSync GraphQL APIs에 대한 자세한 내용은 *AWS AppSync 개발자 안내서*의 [GraphQL 및 AWS AppSync 아키텍처](https://docs.aws.amazon.com/appsync/latest/devguide/graphql-overview.html)를 참조하세요.

**콘솔을 사용하여 EventBridge 규칙의 AWS AppSync 대상을 지정하려면**

1. [규칙을 만들거나 편집하십시오.](eb-create-rule-visual.md)

1. **대상**에서 **AWS 서비스** 및 **AWS AppSync**를 선택하여 [대상을 지정하십시오](eb-create-rule-wizard.md#eb-create-rule-target).

1. 선택 세트와 함께 파싱하여 실행할 변형 작업을 지정합니다.
   +  AWS AppSync API를 선택한 다음 호출할 GraphQL API 변형을 선택합니다.
   + **파라미터 및 선택 세트 구성**에서 키-값 매핑 또는 입력 변환기를 사용하여 선택 세트를 만들도록 선택합니다.

------
#### [ Key-value mapping ]

     키-값 매핑을 사용하여 선택 세트를 만들려면 다음과 같이 하십시오.
     + API 파라미터의 변수를 지정합니다. 각 변수는 정적 값이거나 이벤트 페이로드의 동적 JSON 경로 표현식일 수 있습니다.
     + **선택 세트**에서 응답에 포함할 변수를 선택합니다.

------
#### [ Input transformer ]

     입력 변환기를 사용하여 선택 세트를 만들려면 다음과 같이 하십시오.
     + 사용할 변수를 정의하는 입력 경로를 지정합니다.
     + 입력 템플릿을 지정하여 대상에 전달하려는 정보를 정의하고 형식을 지정합니다.

     자세한 내용은 [EventBridge에서 규칙을 생성할 때 입력 변환기 구성](eb-transform-input-rule.md) 단원을 참조하십시오.

------

1. **실행 역할**에서 새 역할을 생성할지 또는 기존 역할을 사용할지 선택합니다.

1. 규칙 생성 또는 편집을 완료합니다.

## 예:Amazon EventBridge의 AWS AppSync 대상
<a name="target-appsync-walkthrough"></a>

다음 예제에서는 전송을 위한 이벤트 형식 지정을 위한 입력 변환 정의를 포함하여 EventBridge 규칙의 AWS AppSync 대상을 지정하는 방법을 안내합니다.

다음 스키마로 정의된 AWS AppSync GraphQL API `Ec2EventAPI`가 있다고 가정해 보겠습니다.

```
type Event {
    id: ID!
    statusCode: String
    instanceId: String
}

type Mutation {
    pushEvent(id: ID!, statusCode: String!, instanceId: String): Event
}

type Query {
    listEvents: [Event]
}

type Subscription {
    subscribeToEvent(id: ID, statusCode: String, instanceId: String): Event
        @aws_subscribe(mutations: ["pushEvent"])
}
```

이 API를 사용하는 애플리케이션 클라이언트는 `subscribeToEvent` 구독을 구독할 수 있으며, 이는 `pushEvent` 변형에 의해 트리거됩니다.

`pushEvent` 변형을 통해 AppSync API로 이벤트를 보내는 대상을 사용하여 EventBridge 규칙을 생성할 수 있습니다. 변형이 간접 호출되면 구독한 모든 클라이언트가 이벤트를 수신합니다.

EventBridge 규칙의 대상으로 이 API를 지정하려면 다음과 같이 하십시오.

1. 규칙 대상의 Amazon 리소스 이름(ARN)을 `Ec2EventAPI` API의GraphQL 엔드포인트로 설정합니다.

1. 변형 GraphQL 작업을 대상 파라미터로 지정합니다.

   ```
   mutation CreatePushEvent($id: ID!, $statusCode: String, $instanceId: String) {
     pushEvent(id: $input, statusCode: $statusCode, instanceId: $instanceId) {
       id
       statusCode
       instanceId
     }
   }
   ```

   변형 선택 세트에는 GraphQL 구독에서 구독하려는 모든 필드가 포함되어야 합니다.

1. 입력 변환기를 구성하여 일치하는 이벤트의 데이터가 작업에 사용되는 방식을 지정합니다.

   `“EC2 Instance Launch Successful”` 샘플 이벤트를 선택했다고 가정해 보겠습니다.

   ```
   {
     "version": "0",
     "id": "3e3c153a-8339-4e30-8c35-687ebef853fe",
     "detail-type": "EC2 Instance Launch Successful",
     "source": "aws.autoscaling",
     "account": "123456789012",
     "time": "2015-11-11T21:31:47Z",
     "region": "us-east-1",
     "resources": ["arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:eb56d16b-bbf0-401d-b893-d5978ed4a025:autoScalingGroupName/sampleLuanchSucASG", "arn:aws:ec2:us-east-1:123456789012:instance/i-b188560f"],
     "detail": {
       "StatusCode": "InProgress",
       "AutoScalingGroupName": "sampleLuanchSucASG",
       "ActivityId": "9cabb81f-42de-417d-8aa7-ce16bf026590",
       "Details": {
         "Availability Zone": "us-east-1b",
         "Subnet ID": "subnet-95bfcebe"
       },
       "RequestId": "9cabb81f-42de-417d-8aa7-ce16bf026590",
       "EndTime": "2015-11-11T21:31:47.208Z",
       "EC2InstanceId": "i-b188560f",
       "StartTime": "2015-11-11T21:31:13.671Z",
       "Cause": "At 2015-11-11T21:31:10Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1.  At 2015-11-11T21:31:11Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1."
     }
   }
   ```

   대상 입력 변환기의 입력 경로를 사용하여 템플릿에서 사용할 다음 변수를 정의할 수 있습니다.

   ```
   {
     "id": "$.id",
     "statusCode": "$.detail.StatusCode",
     "EC2InstanceId": "$.detail.EC2InstanceId"
   }
   ```

   입력 변환기 템플릿을 작성하여 EventBridge가 AWS AppSync 변형 작업에 전달하는 변수를 정의합니다. 템플릿은 JSON으로 평가되어야 합니다. 입력 경로가 주어지면 다음 템플릿을 작성할 수 있습니다.

   ```
   {
     "id": <id>,
     "statusCode": <statusCode>,
     "instanceId": <EC2InstanceId>
   }
   ```

# EventBridge의 다른 계정에 있는 AWS 서비스로 이벤트 전송
<a name="eb-service-cross-account"></a>

EventBridge는 한 AWS 계정의 이벤트 버스에서 다른 계정의 지원되는 AWS 서비스로 이벤트를 전송할 수 있으므로 이벤트 기반 솔루션의 아키텍처를 간소화하고 지연 시간을 줄일 수 있습니다.

예를 들어 여러 계정에서 호스팅되는 이벤트 버스 세트가 있어 추가 비동기 처리 및 분석을 위해 중앙 계정의 Amazon SQS 대기열로 보안 관련 이벤트를 전송해야 한다고 가정해 보겠습니다.

EventBridge는 같은 리전의 교차 계정 대상으로 이벤트 전송을 지원합니다.

## 지원되는 서비스
<a name="eb-service-cross-account-services"></a>

EventBridge는 다른 AWS 계정의 다음 대상으로 이벤트 전송을 지원합니다.
+ Amazon API Gateway APIs
+ Amazon Kinesis Data Streams 스트림
+ Lambda 함수
+ Amazon SNS 주제
+ Amazon SQS 대기열

요금에 대한 내용은 [Amazon EventBridge 요금](https://aws.amazon.com/eventbridge/pricing/)을 참조하세요.

## 권한
<a name="eb-service-cross-account-permissions"></a>

 AWS 대상으로 서비스에 대한 교차 계정 이벤트 전송에 대한 액세스를 활성화하려면 다음 단계가 필요합니다.
+ 실행 역할 지정
+ 대상에 리소스 정책 연결

### 실행 역할 지정
<a name="eb-service-cross-account-permissions-role"></a>

규칙이 트리거될 때 대상에 이벤트를 보낼 때 사용할 EventBridge의 실행 역할을 지정합니다.

이 실행 역할은 이벤트 버스와 동일한 계정에 있어야 합니다. EventBridge는 대상을 간접 호출하려고 할 때 이 역할을 수임하며, 이 계정에 영향을 미치는 모든 서비스 제어 정책(SCP)이 적용됩니다.

서비스 제어 정책(SCP)은 조직의 권한을 관리하는 데 사용할 수 있는 조직 정책의 유형입니다. 자세한 내용은AWS Organizations 사용 설명서의 [서비스 제어 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)을 참조하세요.**

예를 들어 다음 정책은 EventBridge 서비스가 실행 역할을 수임하도록 허용합니다.

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

****  

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

------

그리고 다음 정책은 역할이 Amazon SQS 대기열로 메시지를 보내도록 허용합니다.

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

****  

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

------

를 사용하는 계정의 경우 다음 예제와 같이 SCP를 적용하여 조직에 속하지 않는 리소스 호출을 방지할 AWS Organizations수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
          {
            "Action": [
                "*"
            ],
            "Resource": "*",
            "Effect": "Deny",
            "Condition": {
                "StringNotEquals": {
                    "aws:ResourceOrgID": "o-1234567890"
                }
            }
        }
    ]
}
```

------

**참고**  
이벤트 버스 이외의 교차 계정 대상의 경우 직접 호출 계정에서 실행 역할을 제공하더라도 이벤트 버스와 다른 계정에서 `PutTarget` 직접 호출이 지원되지 않습니다.

### 리소스 액세스 정책을 대상에 연결
<a name="eb-service-cross-account-permissions-policy"></a>

교차 계정 이벤트를 수신할 수 있는 AWS 서비스는 IAM 리소스 기반 정책을 지원합니다. 이렇게 하면 리소스 액세스 정책을 대상에 연결할 수 있으므로 액세스할 수 있는 계정을 지정할 수 있습니다.

이전 예제를 기반으로 다음 정책은 대상 계정의 Amazon SQS 대기열에 대한 이벤트 버스 계정 액세스를 허용합니다.

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

****  

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

------

자세한 내용은 *AWS Identity and Access Management 사용 설명서*에서 [자격 증명 기반 정책 및 리소스 기반 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)을 참조하세요.

## 다른 계정의 AWS 서비스에 이벤트를 보내는 규칙 생성
<a name="eb-service-cross-account"></a>

다른 계정의 AWS 서비스를 대상으로 지정하는 것은 이벤트 버스 규칙 생성의 일부입니다.

**콘솔을 사용하여 다른 AWS 계정의 AWS 서비스로 이벤트를 보내는 규칙을 생성하려면**

1. [Amazon EventBridge에서 규칙 생성](eb-create-rule-visual.md) 절차에서 해당 단계를 따릅니다.

1. [대상 선택](eb-create-rule-wizard.md#eb-create-rule-target) 단계에서 대상 유형을 선택하라는 메시지가 표시되면

   1. **AWS 서비스**를 선택합니다.

   1. 교차 계정 대상을 지원하는 AWS 서비스를 선택합니다.

      자세한 내용은 [지원되는 서비스](#eb-service-cross-account-services) 단원을 참조하십시오.

   1. **대상 위치**에서 **다른 AWS 계정의 대상**을 선택합니다.

   1. 이벤트를 전송할 대상 리소스의 ARN을 입력합니다.

   1. 드롭다운 목록에서 사용할 실행 역할의 이름을 선택합니다.

   1. 선택한 서비스에 대해 요청된 모든 추가 정보를 제공합니다. 표시되는 필드는 선택한 서비스에 따라 달라집니다.

1. 절차 단계에 따라 규칙 생성을 완료합니다.

# Amazon EventBridge의 AWS 계정 간에 이벤트 전송 및 수신
<a name="eb-cross-account"></a>

 AWS 계정의 이벤트 버스 간에 [이벤트를](eb-events.md) 보내고 받도록 EventBridge를 구성할 수 있습니다. [Amazon EventBridge의 이벤트 버스](eb-event-bus.md) 계정 간에 이벤트를 보내거나 받도록 EventBridge를 구성할 때 사용자 계정의 이벤트 버스에 이벤트를 보내거나 이벤트 버스로부터 이벤트를 수신할 수 있는 AWS 계정을 지정할 수 있습니다. 이벤트 버스와 관련된 특정 [규칙](eb-rules.md)의 이벤트 또는 특정 소스의 이벤트를 허용하거나 거부할 수도 있습니다. 자세한 내용은 [Amazon EventBridge 리소스 정책으로 크로스 계정 액세스 간소화](https://aws.amazon.com/blogs//compute/simplifying-cross-account-access-with-amazon-eventbridge-resource-policies/)를 참조하세요.

**참고**  
를 사용하는 경우 조직을 지정하고 해당 조직의 모든 계정에 액세스 권한을 부여할 AWS Organizations수 있습니다. 또한 다른 계정으로 이벤트를 전송할 경우 전송 이벤트 버스에는 IAM 역할이 연결되어 있어야 합니다. 자세한 내용은AWS Organizations 사용 설명서에서 [AWS Organizations란 무엇입니까?](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) 단원을 참조하세요.**

**참고**  
Incident Manager 대응 계획을 대상으로 사용하는 경우 계정과 공유되는 모든 대응 계획을 기본적으로 사용할 수 있습니다.

대상 리전이 지원되는 [리전 간](eb-cross-region.md) 대상 리전인 한 모든 리전의 동일한 리전 내 AWS 계정과 다른 리전의 계정 간에 이벤트를 보내고 받을 수 있습니다.

다른 계정의 이벤트 버스로 이벤트를 보내거나 이벤트 버스로부터 이벤트를 받도록 EventBridge를 구성하는 단계는 다음과 같습니다.
+ *수신자* 계정에서 이벤트 버스에 대한 권한을 편집하여 지정된 AWS 계정, 조직 또는 모든 AWS 계정이 수신자 계정으로 이벤트를 보내도록 허용합니다.
+ *발신자* 계정에서 수신자 계정의 이벤트 버스를 대상으로 갖는 하나 이상의 규칙을 설정합니다.

  발신자 계정이 AWS 조직에서 이벤트를 전송할 수 있는 권한을 상속하는 경우 발신자 계정에는 수신자 계정으로 이벤트를 전송할 수 있는 정책이 포함된 IAM 역할도 있어야 합니다. AWS Management Console 를 사용하여 수신자 계정의 이벤트 버스를 대상으로 하는 규칙을 생성하면 역할이 자동으로 생성됩니다. 를 사용하는 경우 역할을 수동으로 생성 AWS CLI해야 합니다.
+ *수신자* 계정에서 발신자 계정이 전송하는 이벤트를 일치시키는 하나 이상의 규칙을 설정합니다.

한 계정에서 다른 계정으로 전송되는 이벤트에 대해서는 전송 계정에서 사용자 지정 이벤트로 요금이 부과됩니다. 수신 계정에는 요금이 부과되지 않습니다. 자세한 내용을 알아보려면 [Amazon EventBridge 요금](https://aws.amazon.com/eventbridge/pricing/)을 참조하세요.

수신자 계정은 발신자 계정에서 수신되는 이벤트를 제3의 계정으로 전송하는 규칙을 설정하는 경우 이러한 이벤트는 제3의 계정으로 전송되지 않습니다.

동일한 계정에 3개의 이벤트 버스가 있고 두 번째 이벤트 버스에서 세 번째 이벤트 버스로 이벤트를 전달하도록 첫 번째 이벤트 버스에 규칙을 설정한 경우, 해당 이벤트는 세 번째 이벤트 버스로 전송되지 않습니다.

 다음 동영상에서는 계정 간 라우팅 이벤트를 다룹니다.




## 다른 AWS 계정의 이벤트를 허용할 수 있는 권한 부여
<a name="eb-receiving-events-from-another-account"></a>

다른 계정 또는 조직으로부터 이벤트를 수신하려면 먼저 이벤트를 수신하려는 이벤트 버스에 대한 권한을 편집해야 합니다. 기본 이벤트 버스는 AWS 서비스, 기타 승인된 AWS 계정 및 `PutEvents` 호출의 이벤트를 수락합니다. 이벤트 버스에 대한 권한은 이벤트 버스에 연결된 리소스 기반 정책을 사용해 부여되거나 거부됩니다. 정책에서 AWS 계정 ID를 사용하여 다른 계정에 권한을 부여하거나 AWS 조직 ID를 사용하여 조직에 권한을 부여할 수 있습니다. 예제 정책을 비롯하여 이벤트 버스 권한에 대한 자세한 내용은 [Amazon EventBridge의 이벤트 버스에 대한 권한](eb-event-bus-perms.md) 섹션을 참조하세요.

**참고**  
이제 EventBridge에서 IAM 역할을 추가하려면 새 교차 계정 이벤트 버스 대상이 모두 필요합니다. 이는 2023년 3월 2일 이후에 생성된 이벤트 버스 대상에만 적용됩니다. 해당 날짜 이전에 IAM 역할 없이 생성된 애플리케이션은 영향을 받지 않습니다. 그러나 사용자에게 다른 계정의 리소스에 대한 액세스 권한을 부여하는 IAM 역할을 추가하는 것이 좋습니다. 이렇게 하면 서비스 제어 정책(SCP)을 사용해 조직의 경계를 적용하여 조직에 속한 계정에서 이벤트를 보내고 받을 수 있는 사람을 결정할 수 있습니다.

**중요**  
모든 AWS 계정에서 이벤트를 수신하도록 선택한 경우 다른 계정에서 수신할 이벤트와만 일치하는 규칙을 생성해야 합니다. 더욱 안전한 규칙을 생성하려면 이벤트를 수신할 계정 하나 이상의 계정 ID가 입력되는 `Account` 필드가 각 규칙의 모든 패턴에 포함되어야 합니다. 이벤트 패턴에 계정 필드가 포함되는 규칙은 `Account` 필드에 나열되어 있지 않은 계정에서 전송된 이벤트와 일치하지 않습니다. 자세한 내용은 [Amazon EventBridge의 이벤트](eb-events.md) 단원을 참조하십시오.

## AWS 계정 간 이벤트 규칙
<a name="eb-writing-rules-that-match-events-from-another-account"></a>

계정이 다른 계정의 이벤트 버스에서 이벤트를 수신하도록 설정된 경우 해당 이벤트와 일치하는 규칙을 작성할 AWS 수 있습니다. 다른 계정의 이벤트 버스에서 수신할 이벤트에 일치하도록 규칙의 [이벤트 패턴](eb-event-patterns.md)을 설정합니다.

규칙의 이벤트 패턴에 `account`를 지정하지 않을 경우 다른 계정의 이벤트 버스로부터 수신하는 이벤트를 일치시키는 계정의 모든 규칙(신규 및 기존)이 해당 이벤트를 기준으로 트리거됩니다. 다른 계정의 이벤트 버스에서 이벤트를 수신할 때 자체 계정에서 생성된 이벤트 패턴에서만 규칙이 트리거되도록 하려면 규칙의 이벤트 패턴에 `account`를 추가하고 자체 계정 ID를 지정해야 합니다.

모든 AWS 계정의 이벤트 버스에서 이벤트를 수락하도록 AWS 계정을 설정한 경우 계정의 모든 EventBridge 규칙에 `account`를 추가하는 것이 좋습니다. 이렇게 하면 계정의 규칙이 알 수 없는 AWS 계정의 이벤트에 대해 트리거되지 않습니다. 규칙에 `account` 필드를 지정할 때 AWS 계정 2개 이상의 계정 ID를 필드에 지정할 수 있습니다.

권한을 부여한 AWS 계정의 이벤트 버스에서 일치하는 이벤트를 트리거하려면 규칙의 `account` 필드에 \$1를 지정하지 마십시오. 이벤트의 `account` 필드에는 \$1가 절대 나타나지 않으므로 그렇게 하면 모든 이벤트가 일치하지 않을 것입니다. 대신 규칙에서 `account` 필드만 생략하세요.

## AWS 계정 간에 이벤트를 보내는 규칙 생성
<a name="eb-create-rule-cross-account-target"></a>

다른 계정의 이벤트 버스를 대상으로 지정하는 것은 규칙 생성의 일부입니다.

**콘솔을 사용하여 다른 AWS 계정으로 이벤트를 보내는 규칙을 생성하려면**

1. [Amazon EventBridge에서 규칙 생성](eb-create-rule-visual.md) 절차에서 해당 단계를 따릅니다.

1. [대상 선택](eb-create-rule-wizard.md#eb-create-rule-target) 단계에서 대상 유형을 선택하라는 메시지가 표시되면

   1. **EventBridge 이벤트 버스**를 선택합니다.

   1. **다른 계정 또는 리전의 이벤트 버스**를 선택합니다.

   1. **대상 이벤트 버스**에는 사용하려는 이벤트 버스의 ARN을 입력합니다.

1. 절차 단계에 따라 규칙 생성을 완료합니다.

# Amazon EventBridge의 AWS 리전 간에 이벤트 전송 및 수신
<a name="eb-cross-region"></a>

 AWS 리전 간에 [이벤트를](eb-events.md) 보내고 받도록 EventBridge를 구성할 수 있습니다. 특정 리전의 이벤트, 이벤트 버스와 관련된 특정 [규칙](eb-rules.md)의 이벤트 또는 특정 소스의 이벤트를 허용하거나 거부할 수도 있습니다. 자세한 내용은 [Introducing cross-Region event routing with Amazon EventBridge](https://aws.amazon.com/blogs//compute/introducing-cross-region-event-routing-with-amazon-eventbridge/)를 참조하세요.

 다음 동영상에서는 [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) AWS CloudFormation및를 사용하여 리전 간에 이벤트를 라우팅하는 방법을 다룹니다 AWS Serverless Application Model.




## 이벤트를 다른 AWS 리전으로 보내는 규칙 생성
<a name="eb-create-rule-cross-region-target"></a>

다른 AWS 리전의 이벤트 버스를 대상으로 지정하는 것은 규칙 생성의 일부입니다.

**콘솔을 사용하여 다른 AWS 계정으로 이벤트를 보내는 규칙을 생성하려면**

1. [Amazon EventBridge에서 규칙 생성](eb-create-rule-visual.md) 절차에서 해당 단계를 따릅니다.

1. [대상 선택](eb-create-rule-wizard.md#eb-create-rule-target) 단계에서 대상 유형을 선택하라는 메시지가 표시되면

   1. **EventBridge 이벤트 버스**를 선택합니다.

   1. **다른 계정 또는 리전의 이벤트 버스**를 선택합니다.

   1. **대상 이벤트 버스**에는 사용하려는 이벤트 버스의 ARN을 입력합니다.

1. 절차 단계에 따라 규칙 생성을 완료합니다.

# Amazon EventBridge에서 동일한 계정 및 리전의 이벤트 버스 간 이벤트 전송
<a name="eb-bus-to-bus"></a>

동일한 AWS 계정과 리전의 [이벤트 버스](eb-event-bus.md) 간에 [이벤트를](eb-events.md) 보내고 받도록 EventBridge를 구성할 수 있습니다.

이벤트 버스 간에 이벤트를 보내거나 받도록 EventBridge를 구성하는 경우, *발신자* 이벤트 버스의 IAM 역할을 사용해 이벤트를 *수신자* 이벤트 버스로 보낼 수 있는 권한을 *발신자* 이벤트 버스에 부여합니다. *수신자* 이벤트 버스에서 [리소스 기반](eb-use-resource-based.md) 정책을 사용하여 *발신자* 이벤트 버스로부터 이벤트를 수신할 수 있는 권한을 *수신자* 이벤트 버스에 부여합니다. 특정 이벤트 버스의 이벤트, 이벤트 버스와 관련된 특정 [규칙](eb-rules.md)의 이벤트 또는 특정 소스의 이벤트를 허용하거나 거부할 수도 있습니다. 예제 정책을 비롯하여 이벤트 버스 권한에 대한 자세한 내용은 [Amazon EventBridge의 이벤트 버스에 대한 권한](eb-event-bus-perms.md) 섹션을 참조하세요.

사용자 계정의 이벤트 버스 간에 이벤트를 보내거나 받도록 EventBridge를 구성하는 단계는 다음과 같습니다.
+ 기존 IAM 역할을 사용하려면 발신자 이벤트 버스 권한을 수신자 이벤트 버스에 부여하거나 수신자 이벤트 버스 권한을 반신자 이벤트 버스에 부여해야 합니다.
+ *발신자* 이벤트 버스에서 수신자 이벤트 버스를 대상으로 하는 하나 이상의 규칙을 설정하고 IAM 역할을 생성합니다. 역할에 연결되어야 하는 정책의 예는 [예제 정책: Amazon EventBridge의 동일한 계정에 있는 이벤트 버스로 이벤트 전송](eb-event-bus-example-policy-same-account.md) 섹션을 참조하세요.
+ *수신자* 이벤트 버스에서 이벤트가 다른 이벤트 버스로부터 전달될 수 있도록 권한을 편집합니다.
+ *수신자* 이벤트에서 발신자 이벤트 버스가 전송하는 이벤트를 일치시키는 하나 이상의 규칙을 설정합니다.
**참고**  
EventBridge는 발신자 이벤트 버스로부터 수신한 이벤트를 세 번째 이벤트 버스로 라우팅할 수 없습니다.

한 이벤트 버스에서 다른 이벤트 버스로 전송된 이벤트는 사용자 지정 이벤트로 요금이 부과됩니다. 자세한 내용을 알아보려면 [Amazon EventBridge 요금](https://aws.amazon.com/eventbridge/pricing/)을 참조하세요.

## 동일한 AWS 계정 및 리전의 다른 이벤트 버스로 이벤트를 보내는 규칙 생성
<a name="eb-create-rule-same-account-region-target"></a>

이벤트를 다른 이벤트 버스로 보내려면 이벤트 버스를 대상으로 하는 규칙을 생성합니다. 대상과 동일한 AWS 계정 및 리전에서 이벤트 버스를 지정하는 것은 규칙 생성의 일부입니다.

**콘솔을 사용하여 동일한 AWS 계정 및 리전의 다른 이벤트 버스로 이벤트를 보내는 규칙을 생성하려면**

1. [Amazon EventBridge에서 규칙 생성](eb-create-rule-visual.md) 절차에서 해당 단계를 따릅니다.

1. [대상 선택](eb-create-rule-wizard.md#eb-create-rule-target) 단계에서 대상 유형을 선택하라는 메시지가 표시되면

   1. **EventBridge 이벤트 버스**를 선택합니다.

   1. **동일한 AWS 계정 및 리전에서 이벤트 버스를** 선택합니다.

   1. **이벤트 버스를 대상**으로 하려면 드롭다운 목록에서 이벤트 버스를 선택합니다.

1. 절차 단계에 따라 규칙 생성을 완료합니다.

# Amazon EventBridge 입력 변환
<a name="eb-transform-target-input"></a>

EventBridge가 정보를 [규칙](eb-rules.md) [대상](eb-targets.md)으로 전달하기 전에 [이벤트](eb-events.md)의 텍스트를 사용자 지정할 수 있습니다. 콘솔 또는 API의 입력 변환기를 통해 JSON 경로를 사용하여 원래 이벤트 소스의 값을 참조하는 변수를 정의합니다. 변환된 이벤트는 원래 이벤트 대신 대상으로 전송됩니다. 그러나 [동적 경로 파라미터](eb-targets.md#dynamic-path-parameters)는 변환된 이벤트가 아닌 원래 이벤트를 참조해야 합니다. 입력에서 각 값을 할당하여 최대 100개의 변수를 정의할 수 있습니다. 그런 다음, <*variable-name*>으로 *입력 템플릿* 내에서 이러한 변수를 사용할 수 있습니다.

입력 변환기 사용에 대한 자습서는 [자습서: 입력 변환기를 사용하여 EventBridge에서 이벤트 변환](eb-input-transformer-tutorial.md) 섹션을 참조하세요.

**참고**  
EventBridge는 일부 JSON 경로 구문을 지원하며 런타임 시 이를 평가합니다. 지원되는 구문은 다음과 같습니다.  
점 표기법(예: `$.detail`)
대시
밑줄
영숫자
배열 인덱스
와일드카드(\$1)
슬래시 전달

**Topics**
+ [미리 정의된 변수](#eb-transform-input-predefined)
+ [입력 변환 예제](#eb-transform-input-examples)
+ [EventBridge API를 사용한 입력 변환](#eb-transform-input-api)
+ [를 사용하여 입력 변환 AWS CloudFormation](#eb-transform-input-cfn)
+ [입력 변환과 관련된 일반적인 문제](#eb-transform-input-issues)
+ [EventBridge에서 규칙을 생성할 때 입력 변환기 구성](eb-transform-input-rule.md)
+ [EventBridge 샌드박스를 사용한 대상 입력 변환기 테스트](eb-sandbox-input-trans.md)

## 미리 정의된 변수
<a name="eb-transform-input-predefined"></a>

JSON 경로를 정의하지 않고 사용할 수 있는 미리 정의된 변수가 있습니다. 이러한 변수는 예약되어 있으며 이러한 이름으로 변수를 만들 수 없습니다.
+ ****`aws.events.rule-arn` — EventBridge 규칙의 Amazon 리소스 이름(ARN)입니다.
+ ****`aws.events.rule-name` — EventBridge 규칙의 이름입니다.
+ ****`aws.events.event.ingestion-time` — EventBridge가 이벤트를 수신한 시간입니다. 이는 ISO 8601 타임스탬프입니다. 이 변수는 EventBridge에서 생성되며 덮어쓸 수 없습니다.
+ ****`aws.events.event` — JSON 형식의 원본 이벤트 페이로드입니다(`detail` 필드 제외). 내용이 이스케이프되지 않으므로 JSON 필드의 값으로만 사용할 수 있습니다.
+ ****`aws.events.event.json` — JSON 형식의 전체 원본 이벤트 페이로드입니다(`detail` 필드 포함). 내용이 이스케이프되지 않으므로 JSON 필드의 값으로만 사용할 수 있습니다.

## 입력 변환 예제
<a name="eb-transform-input-examples"></a>

다음은 Amazon EC2 이벤트 예제입니다.

```
{
  "version": "0",
  "id": "7bf73129-1428-4cd3-a780-95db273d1602",
  "detail-type": "EC2 Instance State-change Notification",
  "source": "aws.ec2",
  "account": "123456789012",
  "time": "2015-11-11T21:29:54Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:ec2:us-east-1:123456789012:instance/i-abcd1111"
  ],
  "detail": {
    "instance-id": "i-0123456789",
    "state": "RUNNING"
  }
}
```

콘솔에서 규칙을 정의할 때 **입력 구성**에서 **입력 변환기** 옵션을 선택합니다. 이 옵션은 텍스트 상자 두 개를 표시합니다. 하나는 *입력 경로*, 하나는 *입력 템플릿*에 대한 텍스트 상자입니다.

### 입력 경로
<a name="eb-transform-target-input-path"></a>

*입력 경로*는 변수를 정의하는 데 사용됩니다. JSON 경로를 사용하여 이벤트의 항목을 참조하고 해당 값을 변수에 저장합니다. 예를 들어 첫 번째 텍스트 상자에 다음을 입력하여 이벤트 예제의 값을 참조하는 *입력 경로*를 만들 수 있습니다. 대괄호와 인덱스를 사용해 배열에서 항목을 가져올 수도 있습니다.

**참고**  
EventBridge는 유효한 JSON 출력을 보장하기 위해 런타임 시 입력 변환기를 대체합니다. 따라서 JSON 경로 파라미터를 참조하는 변수는 따옴표로 묶고 JSON 객체 또는 배열을 참조하는 변수는 따옴표로 묶지 마세요.

```
{
  "timestamp" : "$.time",
  "instance" : "$.detail.instance-id", 
  "state" : "$.detail.state",
  "resource" : "$.resources[0]"
}
```

이는 `<timestamp>`, `<instance>`, `<state>` 및 `<resource>`라는 4가지 변수를 정의합니다. *입력 템플릿*을 만들 때 이러한 변수를 참조할 수 있습니다.

**참고**  
Amazon CloudWatch Logs 및 SSM 대상은 입력 변환기에서 `Input` 및 `InputPath` 사용을 지원하지 않습니다.

### 입력 템플릿
<a name="eb-transform-target-input-template"></a>

*입력 템플릿*은 대상에 전달하려는 정보에 대한 템플릿입니다. 문자열이나 JSON을 대상에 전달하는 템플릿을 만들 수 있습니다. 다음 *입력 템플릿* 예는 이전 이벤트 및 *입력 경로*를 사용하여 이벤트를 대상으로 라우팅하기 전에 예제 출력으로 변환합니다.


| 설명 | Template | 출력 | 
| --- | --- | --- | 
| 단순 문자열 |  <pre>"instance <instance> is in <state>"</pre> |  <pre>"instance i-0123456789 is in RUNNING"</pre>  | 
|  **이스케이프된 따옴표가 있는 문자열**  |  <pre>"instance \"<instance>\" is in <state>"</pre> |  <pre>"instance \"i-0123456789\" is in RUNNING"</pre> 이는 EventBridge 콘솔의 동작입니다. AWS CLI 는 슬래시 문자를 이스케이프하고 결과는 `"instance "i-0123456789" is in RUNNING"`입니다.  | 
|  **단순 JSON**  |  <pre>{<br />  "instance" : <instance>,<br />  "state": <state><br />}</pre> |  <pre>{<br />  "instance" : "i-0123456789",<br />  "state": "RUNNING"<br />}</pre>  | 
|  **문자열과 변수가 포함된 JSON**  |  <pre>{<br /> "instance" : <instance>,<br /> "state": "<state>",<br /> "instanceStatus": "instance \"<instance>\" is in <state>"<br />}</pre>  |  <pre>{<br /> "instance" : "i-0123456789",<br /> "state": "RUNNING",<br /> "instanceStatus": "instance \"i-0123456789\" is in RUNNING"<br />}</pre>  | 
|  **변수와 정적 정보가 혼합된 JSON**  |  <pre>{<br />  "instance" : <instance>,<br />  "state": [ 9, <state>, true ],<br />  "Transformed" : "Yes"<br />}<br /></pre> |  <pre>{<br />  "instance" : "i-0123456789",<br />  "state": [<br />    9,<br />    "RUNNING",<br />    true<br />  ],<br />  "Transformed" : "Yes"<br />}</pre>  | 
|  **JSON에 예약된 변수 포함**  |  <pre>{<br />  "instance" : <instance>,<br />  "state": <state>,<br />  "ruleArn" : <aws.events.rule-arn>,<br />  "ruleName" : <aws.events.rule-name>,<br />  "originalEvent" : <aws.events.event.json><br />}</pre> |  <pre>{<br />  "instance" : "i-0123456789",<br />  "state": "RUNNING",<br />  "ruleArn" : "arn:aws:events:us-east-2:123456789012:rule/example",<br />  "ruleName" : "example",<br />  "originalEvent" : {<br />    ... // commented for brevity<br />  }<br />}</pre>  | 
|  **문자열에 예약된 변수 포함**  | <pre>"<aws.events.rule-name> triggered"</pre> |  <pre>"example triggered"</pre>  | 
|  **Amazon CloudWatch 로그 그룹**  | <pre>{<br />  "timestamp" : <timestamp>,<br />  "message": "instance \"<instance>\" is in <state>"<br />}</pre> |  <pre>{<br />  "timestamp" : 2015-11-11T21:29:54Z,<br />  "message": "instance "i-0123456789" is in RUNNING<br />}</pre>  | 

## EventBridge API를 사용한 입력 변환
<a name="eb-transform-input-api"></a>

EventBridge API를 사용해 입력을 변환하는 방법에 대한 자세한 내용은 [입력 변환기를 사용하여 이벤트에서 데이터를 추출하고 대상에 해당 데이터를 입력](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html#API_PutTargets_Example_2) 섹션을 참조하세요.

## 를 사용하여 입력 변환 AWS CloudFormation
<a name="eb-transform-input-cfn"></a>

를 사용하여 입력을 변환 AWS CloudFormation 하는 방법에 대한 자세한 내용은 [AWS::Events::Rule InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)를 참조하세요.

## 입력 변환과 관련된 일반적인 문제
<a name="eb-transform-input-issues"></a>

다음은 EventBridge에서 입력을 변환할 때 나타나는 몇 가지 일반적인 문제입니다.
+  문자열의 경우 따옴표가 필요합니다.
+  템플릿에 대한 JSON 경로를 만들 때 검증이 수행되지 않습니다.
+  변수를 지정하여 이벤트에 존재하지 않는 JSON 경로를 일치시키는 경우 변수가 생성되지 않기 때문에 출력에 나타나지 않습니다.
+ `aws.events.event.json`과 같은 JSON 속성은 JSON 필드의 값으로만 사용할 수 있으며 다른 문자열에서는 인라인으로 사용할 수 없습니다.
+  EventBridge는 대상에 대한 *입력 템플릿*을 채울 때 *입력 경로*에서 추출된 값을 이스케이프하지 않습니다.
+ JSON 경로가 JSON 객체 또는 배열을 참조하지만 변수가 문자열에서 참조되는 경우, EventBridge는 문자열이 유효하도록 모든 내부 따옴표를 제거합니다. 예를 들어 `$.detail`을 가리키는 변수 `<detail>`의 경우 "Detail is <detail>"을 통해 EventBridge가 객체에서 따옴표를 제거합니다.

  따라서 단일 JSON 경로 변수를 기반으로 JSON 객체를 출력하려면 해당 변수를 키로 배치해야 합니다. 이 예에서는 `{"detail": <detail>}`입니다.
+ 문자열을 나타내는 변수에는 따옴표가 필요하지 않습니다. 따옴표가 허용되지만 EventBridge는 변환 중에 문자열 변수 값에 자동으로 따옴표를 추가하여 변환 출력이 유효한 JSON인지 확인합니다. EventBridge는 JSON 객체 또는 배열을 나타내는 변수에 따옴표를 추가하지 않습니다. JSON 객체 또는 배열을 나타내는 변수에 따옴표를 추가하지 마세요.

  예를 들어 다음 입력 템플릿에는 문자열과 JSON 객체를 모두 나타내는 변수가 포함되어 있습니다.

  ```
  {
    "ruleArn" : <aws.events.rule-arn>,
    "ruleName" : <aws.events.rule-name>,
    "originalEvent" : <aws.events.event.json>
  }
  ```

  올바른 따옴표를 사용하여 유효한 JSON을 생성합니다.

  ```
  {
    "ruleArn" : "arn:aws:events:us-east-2:123456789012:rule/example",
    "ruleName" : "example",
    "originalEvent" : {
      ... // commented for brevity
    }
  }
  ```
+ (JSON이 아닌) 텍스트 출력을 여러 줄 문자열로 사용하는 경우, 입력 템플릿의 각 줄을 큰따옴표로 묶습니다.

  예를 들어, 다음 이벤트 패턴에 대해 [Amazon Inspector 결과](https://docs.aws.amazon.com/inspector/latest/user/eventbridge-integration.html#event-finding) 이벤트를 일치시키는 경우:

  ```
  {
    "detail": {
      "severity": ["HIGH"],
      "status": ["ACTIVE"]
    },
    "detail-type": ["Inspector2 Finding"],
    "source": ["inspector2"]
  }
  ```

  그리고 다음 입력 경로를 사용하는 경우:

  ```
  {
    "account": "$.detail.awsAccountId",
    "ami": "$.detail.resources[0].details.awsEc2Instance.imageId",
    "arn": "$.detail.findingArn",
    "description": "$.detail.description",
    "instance": "$.detail.resources[0].id",
    "platform": "$.detail.resources[0].details.awsEc2Instance.platform",
    "region": "$.detail.resources[0].region",
    "severity": "$.detail.severity",
    "time": "$.time",
    "title": "$.detail.title",
    "type": "$.detail.type"
  }
  ```

  아래 입력 템플릿을 사용하여 여러 줄 문자열 출력을 생성할 수 있습니다.

  ```
  "<severity> severity finding <title>"
  "Description: <description>"
  "ARN: \"<arn>\""
  "Type: <type>"
  "AWS Account: <account>"
  "Region: <region>"
  "EC2 Instance: <instance>"
  "Platform: <platform>"
  "AMI: <ami>"
  ```

# EventBridge에서 규칙을 생성할 때 입력 변환기 구성
<a name="eb-transform-input-rule"></a>

규칙을 생성하는 중에 해당 이벤트를 지정된 대상으로 보내기 전에 일치하는 이벤트를 처리하는 데 사용할 EventBridge의 입력 변환기를 지정할 수 있습니다. AWS 서비스 또는 API 대상인 대상에 대해 입력 변환기를 구성할 수 있습니다.

**규칙의 일부로 대상 입력 변환기를 생성하려면**

1. [Amazon EventBridge에서 규칙 생성](eb-create-rule-visual.md)에 설명된 대로 규칙을 생성하는 단계를 따르세요.

1. **3단계 - 대상 선택**에서 **추가 설정**을 확장합니다.

1. **대상 입력 구성**의 경우 드롭다운에서 **입력 변환기**를 선택합니다.

   **입력 변환기 구성**을 클릭합니다.

   EventBridge에는 **입력 변환기 구성** 대화 상자가 표시됩니다.

1. **샘플 이벤트** 섹션에서 이벤트 패턴을 테스트할 **샘플 이벤트 유형**을 선택합니다. AWS 이벤트, 파트너 이벤트를 선택하거나 사용자 지정 이벤트를 입력할 수 있습니다.

------
#### [ AWS events ]

   지원되는 AWS 서비스에서 발생한 이벤트 중에서 선택합니다.

   1. **AWS 이벤트**를 선택합니다.

   1. **샘플 이벤트**에서 원하는 AWS 이벤트를 선택합니다. 이벤트는 AWS 서비스별로 구성됩니다.

      이벤트를 선택하면 EventBridge가 샘플 이벤트를 채웁니다.

      예를 들어 **S3 객체 생성됨**을 선택하면 EventBridge는 샘플 S3 객체 생성 이벤트를 표시합니다.

   1. (선택 사항) **복사**를 선택하여 샘플 이벤트를 디바이스의 클립보드에 복사할 수도 있습니다.

------
#### [ Partner events ]

   Salesforce와 같이 EventBridge를 지원하는 타사 서비스에서 발생한 이벤트 중에서 선택합니다.

   1. **EventBridge 파트너 이벤트**를 선택합니다.

   1. **샘플 이벤트**에서 원하는 파트너 이벤트를 선택합니다. 이벤트는 파트너별로 구성됩니다.

      이벤트를 선택하면 EventBridge가 샘플 이벤트를 채웁니다.

   1. (선택 사항) **복사**를 선택하여 샘플 이벤트를 디바이스의 클립보드에 복사할 수도 있습니다.

------
#### [ Enter your own ]

   JSON 텍스트로 자체 이벤트를 입력합니다.

   1. **직접 입력**을 선택합니다.

   1. EventBridge는 필수 이벤트 속성의 템플릿으로 샘플 이벤트를 채웁니다.

   1. 필요에 따라 샘플 이벤트를 편집하고 추가합니다. 샘플 이벤트는 유효한 JSON이어야 합니다.

   1. (선택 사항) 다음 옵션 중 하나를 선택할 수도 있습니다.
      + **복사** - 샘플 이벤트를 디바이스의 클립보드에 복사합니다.
      + **정리** - 줄 바꿈, 탭, 공백을 추가하여 JSON 텍스트를 더 쉽게 읽을 수 있습니다.

------

1. (선택 사항) **예시 입력 경로, 템플릿 및 출력** 섹션을 확장하여 다음 예를 확인합니다.
   + JSON 경로를 사용하여 이벤트 데이터를 나타내는 변수를 정의하는 방법
   + 입력 변환기 템플릿에서 해당 변수를 사용하는 방법
   + EventBridge가 대상으로 전송하는 결과 출력

   입력 변환의 자세한 예는 [입력 변환 예제](eb-transform-target-input.md#eb-transform-input-examples) 섹션을 참조하세요.

1. **대상 입력 변환기** 섹션에서 입력 템플릿에 사용할 변수를 정의합니다.

   변수는 JSON 경로를 사용하여 원래 이벤트 소스의 값을 참조합니다. 이에 따라 입력 템플릿에서 해당 변수를 참조하여 EventBridge가 대상으로 전달하는 변환된 이벤트에 원본 소스 이벤트의 데이터를 포함할 수 있습니다. 최대 100개의 변수를 정의할 수 있습니다. 입력 변환기는 유효한 JSON이어야 합니다.

   예를 들어이 입력 변환기에 대한 샘플 AWS 이벤트로 **생성된 S3 객체** 이벤트를 선택했다고 가정해 보겠습니다. 그러면 템플릿에서 사용할 다음 변수를 정의할 수 있습니다.

   ```
   {
     "requester": "$.detail.requester",
     "key": "$.detail.object.key",
     "bucket": "$.detail.bucket.name"
   }
   ```

   (선택 사항) **복사**를 선택하여 입력 변환기를 디바이스의 클립보드에 복사할 수도 있습니다.

1. **템플릿** 섹션에서 EventBridge가 대상으로 전달하는 항목을 결정하는 데 사용할 템플릿을 작성합니다.

   JSON, 문자열, 정적 정보, 정의한 변수 및 예약된 변수를 사용할 수 있습니다. 입력 변환의 자세한 예는 [입력 변환 예제](eb-transform-target-input.md#eb-transform-input-examples) 섹션을 참조하세요.

   예를 들어 이전 예에서 변수를 정의했다고 가정하겠습니다. 그러면 해당 변수, 예약된 변수 및 정적 정보를 참조하는 다음 템플릿을 작성할 수 있습니다.

   ```
   {
       "message": "<requester> has created the object \"<key>\" in the bucket \"<bucket>\"",
       "RuleName": <aws.events.rule-name>,
       "ruleArn" : <aws.events.rule-arn>,
       "Transformed": "Yes"
   }
   ```

   (선택 사항) **복사**를 선택하여 템플릿을 디바이스의 클립보드에 복사할 수도 있습니다.

1. 템플릿을 테스트하려면 **출력 생성**을 선택합니다.

   EventBridge는 입력 템플릿을 기반으로 샘플 이벤트를 처리하고 **출력**에서 생성된 변환 출력을 표시합니다. 이는 EventBridge가 원본 소스 이벤트 대신 대상에 전달할 정보입니다.

   위에서 설명한 예시 입력 템플릿에 대해 생성된 출력은 다음과 같습니다.

   ```
   {
       "message": "123456789012 has created the object "example-key" in the bucket "amzn-s3-demo-bucket"",
       "RuleName": rule-name,
       "ruleArn" : arn:aws:events:us-east-1:123456789012:rule/rule-name,
       "Transformed": "Yes"
   }
   ```

   (선택 사항) **복사**를 선택하여 생성된 출력을 디바이스의 클립보드에 복사할 수도 있습니다.

1. **확인**을 선택합니다.

1. [Amazon EventBridge에서 규칙 생성](eb-create-rule-visual.md)에 설명된 대로 규칙을 생성하는 나머지 단계를 따르세요.

# EventBridge 샌드박스를 사용한 대상 입력 변환기 테스트
<a name="eb-sandbox-input-trans"></a>

EventBridge가 정보를 [규칙](eb-rules.md) [대상](eb-targets.md)으로 전달하기 전에 입력 변환기를 사용하여 [이벤트](eb-events.md)의 텍스트를 사용자 지정할 수 있습니다.

일반적으로 입력 변환기 구성은 [새 규칙을 생성](eb-create-rule-visual.md)하거나 기존 규칙을 편집할 때 대상을 지정하는 대규모 프로세스의 일부입니다. 그러나 EventBridge의 샌드박스를 사용하면 규칙을 생성하거나 편집할 필요 없이 입력 변환기를 빠르게 구성하고 샘플 이벤트를 사용해 원하는 출력을 얻고 있는지 확인할 수 있습니다.

입력 변환에 대한 자세한 내용은 [Amazon EventBridge 입력 변환](eb-transform-target-input.md) 섹션을 참조하세요.

**대상 입력 변환기를 테스트하려면**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. **개발자 리소스**에서 **샌드박스**를 선택하고 **샌드박스** 페이지에서 **대상 입력 변환기** 탭을 선택합니다.

1. **샘플 이벤트** 섹션에서 이벤트 패턴을 테스트할 **샘플 이벤트 유형**을 선택합니다. AWS 이벤트, 파트너 이벤트를 선택하거나 사용자 지정 이벤트를 입력할 수 있습니다.

------
#### [ AWS events ]

   지원되는 AWS 서비스에서 발생한 이벤트 중에서 선택합니다.

   1. **AWS 이벤트**를 선택합니다.

   1. **샘플 이벤트**에서 원하는 AWS 이벤트를 선택합니다. 이벤트는 AWS 서비스별로 구성됩니다.

      이벤트를 선택하면 EventBridge가 샘플 이벤트를 채웁니다.

      예를 들어 **S3 객체 생성됨**을 선택하면 EventBridge는 샘플 S3 객체 생성 이벤트를 표시합니다.

   1. (선택 사항) **복사**를 선택하여 샘플 이벤트를 디바이스의 클립보드에 복사할 수도 있습니다.

------
#### [ Partner events ]

   Salesforce와 같이 EventBridge를 지원하는 타사 서비스에서 발생한 이벤트 중에서 선택합니다.

   1. **EventBridge 파트너 이벤트**를 선택합니다.

   1. **샘플 이벤트**에서 원하는 파트너 이벤트를 선택합니다. 이벤트는 파트너별로 구성됩니다.

      이벤트를 선택하면 EventBridge가 샘플 이벤트를 채웁니다.

   1. (선택 사항) **복사**를 선택하여 샘플 이벤트를 디바이스의 클립보드에 복사할 수도 있습니다.

------
#### [ Enter your own ]

   JSON 텍스트로 자체 이벤트를 입력합니다.

   1. **직접 입력**을 선택합니다.

   1. EventBridge는 필수 이벤트 속성의 템플릿으로 샘플 이벤트를 채웁니다.

   1. 필요에 따라 샘플 이벤트를 편집하고 추가합니다. 샘플 이벤트는 유효한 JSON이어야 합니다.

   1. (선택 사항) 다음 옵션 중 하나를 선택할 수도 있습니다.
      + **복사** - 샘플 이벤트를 디바이스의 클립보드에 복사합니다.
      + **정리** - 줄 바꿈, 탭, 공백을 추가하여 JSON 텍스트를 더 쉽게 읽을 수 있습니다.

------

1. (선택 사항) **예시 입력 경로, 템플릿 및 출력** 섹션을 확장하여 다음 예를 확인합니다.
   + JSON 경로를 사용하여 이벤트 데이터를 나타내는 변수를 정의하는 방법
   + 입력 변환기 템플릿에서 해당 변수를 사용하는 방법
   + EventBridge가 대상으로 전송하는 결과 출력

   입력 변환의 자세한 예는 [입력 변환 예제](eb-transform-target-input.md#eb-transform-input-examples) 섹션을 참조하세요.

1. **대상 입력 변환기** 섹션에서 입력 템플릿에 사용할 변수를 정의합니다.

   변수는 JSON 경로를 사용하여 원래 이벤트 소스의 값을 참조합니다. 이에 따라 입력 템플릿에서 해당 변수를 참조하여 EventBridge가 대상으로 전달하는 변환된 이벤트에 원본 소스 이벤트의 데이터를 포함할 수 있습니다. 최대 100개의 변수를 정의할 수 있습니다. 입력 변환기는 유효한 JSON이어야 합니다.

   예를 들어 S**S3 객체 생성** AWS 이벤트를이 입력 변환기의 샘플 이벤트로 선택했다고 가정해 보겠습니다. 그러면 템플릿에서 사용할 다음 변수를 정의할 수 있습니다.

   ```
   {
     "requester": "$.detail.requester",
     "key": "$.detail.object.key",
     "bucket": "$.detail.bucket.name"
   }
   ```

   (선택 사항) **복사**를 선택하여 입력 변환기를 디바이스의 클립보드에 복사할 수도 있습니다.

1. **템플릿** 섹션에서 EventBridge가 대상으로 전달하는 항목을 결정하는 데 사용할 템플릿을 작성합니다.

   JSON, 문자열, 정적 정보, 정의한 변수 및 예약된 변수를 사용할 수 있습니다. 입력 변환의 자세한 예는 [입력 변환 예제](eb-transform-target-input.md#eb-transform-input-examples) 섹션을 참조하세요.

   예를 들어 이전 예에서 변수를 정의했다고 가정하겠습니다. 그러면 해당 변수, 예약된 변수 및 정적 정보를 참조하는 다음 템플릿을 작성할 수 있습니다.

   ```
   {
       "message": "<requester> has created the object \"<key>\" in the bucket \"<bucket>\"",
       "RuleName": <aws.events.rule-name>,
       "ruleArn" : <aws.events.rule-arn>,
       "Transformed": "Yes"
   }
   ```

   (선택 사항) **복사**를 선택하여 템플릿을 디바이스의 클립보드에 복사할 수도 있습니다.

1. 템플릿을 테스트하려면 **출력 생성**을 선택합니다.

   EventBridge는 입력 템플릿을 기반으로 샘플 이벤트를 처리하고 **출력**에서 생성된 변환 출력을 표시합니다. 이는 EventBridge가 원본 소스 이벤트 대신 대상에 전달할 정보입니다.

   위에서 설명한 예시 입력 템플릿에 대해 생성된 출력은 다음과 같습니다.

   ```
   {
       "message": "123456789012 has created the object "example-key" in the bucket "amzn-s3-demo-bucket"",
       "RuleName": rule-name,
       "ruleArn" : arn:aws:events:us-east-1:123456789012:rule/rule-name,
       "Transformed": "Yes"
   }
   ```

   (선택 사항) **복사**를 선택하여 생성된 출력을 디바이스의 클립보드에 복사할 수도 있습니다.

# Amazon EventBridge에서 이벤트 아카이브 및 재생
<a name="eb-archive"></a>

EventBridge에서는 이벤트 아카이브를 생성하여 나중에 쉽게 이벤트를 *재생*하거나 원래 받았던 이벤트 버스로 재전송할 수 있습니다. 예를 들어 이벤트를 재생하여 오류를 복구하거나 애플리케이션의 새 기능을 검증할 수 있습니다.

## 이벤트 아카이빙
<a name="eb-archive-archive"></a>

아카이브를 생성할 때 다음을 지정할 수 있습니다.
+ 아카이브로 전송할 이벤트입니다.

  EventBridge가 아카이브로 보내는 이벤트를 필터링할 때 사용할 이벤트 패턴을 지정할 수 있습니다.
+ 아카이브에 이벤트를 유지하는 기간입니다.

  아카이브에 이벤트를 유지할 일수를 지정할 수 있습니다. 기본적으로 EventBridge는 아카이브에 이벤트를 무기한 저장합니다.

각 아카이브는 단일 *소스* 이벤트 버스에서 이벤트를 수신합니다. 아카이브가 생성된 후에는 소스 이벤트 버스를 변경할 수 없습니다. 지정된 이벤트 버스에 대해 여러 아카이브를 생성할 수 있습니다.

![\[이벤트는 이벤트 패턴으로 필터링되어 아카이브로 전송되며, 아카이브에서 재생할 수 있습니다.\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/images/archive_eventbridge_conceptual.svg)


EventBridge 요금은 아카이브에 적용됩니다. 자세한 내용은 [Amazon EventBridge 요금](https://aws.amazon.com/eventbridge/pricing/)을 참조하세요.

### 아카이브 이벤트 암호화
<a name="eb-archive-encryption"></a>

기본적으로 EventBridge는 [AWS 소유 CMK](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#aws-owned-cmk)로 256비트 고급 암호화 표준(AES-256)을 사용하여 아카이브에 있는 이벤트 데이터를 암호화하므로 무단 액세스로부터 데이터를 보호할 수 있습니다.

### 이벤트 전송
<a name="eb-archive-timing"></a>

EventBridge가 아카이브에 이벤트를 전송하는 방법에 대해 다음 사항을 고려해야 합니다.
+ 이벤트 버스에 수신되는 이벤트와 아카이브에 도착하는 이벤트 사이에 지연이 발생할 수 있습니다. 모든 이벤트가 재생되도록 보관된 이벤트의 재생을 10분 동안 연기하는 것이 좋습니다.
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeArchive.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeArchive.html) 작업의 `EventCount` 및 `SizeBytes` 값은 조정 주기가 24시간입니다. 따라서 최근에 만료되었거나 새로 아카이브된 이벤트는 이 값에 즉시 반영되지 않을 수 있습니다.

### 재생된 이벤트가 아카이브로 전송되지 않도록 방지
<a name="eb-archive-managed-rule"></a>

아카이브를 생성하면 EventBridge는 재생된 이벤트가 아카이브로 전송되지 않도록 소스 이벤트 버스에 [관리형 규칙](eb-rules.md#eb-rules-managed)을 생성합니다. 관리형 규칙은 `replay-name` 필드가 포함되어 있는지 여부에 따라 이벤트를 필터링하는 다음 이벤트 패턴을 추가합니다. (EventBridge는이 필드를 재생할 때 이벤트에 추가합니다.)

```
{
  "replay-name": [{
    "exists": false
  }]
}
```

## 아카이브에서 이벤트 재생
<a name="eb-archive-replay"></a>

아카이브를 생성한 후 아카이브에서 이벤트를 재생할 수 있습니다. 예를 들어 추가 기능으로 애플리케이션을 업데이트하는 경우, 이벤트가 재처리되도록 과거 이벤트를 재생하여 애플리케이션의 일관성을 유지할 수 있습니다. 아카이브를 이용해 이벤트를 재생하여 새 기능을 사용할 수도 있습니다.

아카이브에서 이벤트를 재생할 때 다음을 지정합니다.
+ 재생할 이벤트를 선택할 기간입니다.
+ 선택적으로 EventBridge가 선택한 이벤트를 재생해야 하는 이벤트 버스에 대한 특정 규칙입니다.

아카이브 이벤트는 소스 이벤트 버스로만 재생할 수 있습니다.

 AWS 리전별로 계정당 최대 10개의 활성 동시 재생을 수행할 수 있습니다.

이벤트를 재생해도 아카이브에서 제거되지는 않습니다. 여러 재생에서 이벤트를 재생할 수 있습니다. EventBridge는 아카이브 유지 기간을 초과하거나 아카이브 자체를 삭제할 때만 이벤트를 제거합니다.

EventBridge는 90일 후에 재생을 삭제합니다.

재생 상태가 `Starting` 또는 `Running`인 상태에서 재생을 취소할 수 있습니다. 자세한 내용은 [이벤트 재생 취소](eb-replay-cancel.md) 단원을 참조하십시오.

### 재생된 이벤트 식별
<a name="eb-archive-replay-event-transform"></a>

EventBridge는 재생 중에 아카이브에서 소스 이벤트 버스로 이벤트를 전송할 때 재생 이름이 포함된 메타데이터 필드를 `replay-name` 이벤트에 추가합니다. 이 필드를 사용하여 재생된 이벤트가 대상으로 전송될 때 이를 식별할 수 있습니다.

또한 EventBridge는이 필드를 사용하여 재생된 이벤트가 아카이브로 전송되지 않도록 합니다.

### 아카이브에서 이벤트를 재생할 때 고려 사항
<a name="eb-archive-replay-considerations"></a>

아카이브에서 이벤트를 재생할 때는 다음 사항을 고려해야 합니다.
+ 이벤트 버스에 수신되는 이벤트와 아카이브에 도착하는 이벤트 사이에 지연이 발생할 수 있습니다. 모든 이벤트가 재생되도록 보관된 이벤트의 재생을 10분 동안 연기하는 것이 좋습니다.
+ 이벤트는 아카이브에 추가된 순서대로 재생되지 않을 수도 있습니다. 재생 시 이벤트 시간을 기준으로 재생할 이벤트를 처리하고 1분 간격으로 재생합니다. 이벤트 시작 시간과 이벤트 종료 시간을 20분 범위로 지정하는 경우 이벤트는 먼저 해당 20분 범위 중 처음 1분부터 재생됩니다. 그런 다음, 두 번째 1분의 이벤트가 재생됩니다.
+ EventBridge API의 `DescribeReplay` 작업을 사용하여 재생 진행 상황을 확인할 수 있습니다. `EventLastReplayedTime`은(는) 재생된 마지막 이벤트의 타임스탬프를 반환합니다.
+ 이벤트는 AWS 계정의 초당 `PutEvents` 트랜잭션 제한을 기반으로 재생되지만 이와는 별개입니다. PutEvents의 한도 증가를 요청할 수 있습니다. 자세한 내용은 [Amazon EventBridge 할당량](https://docs.aws.amazon.com/eventbridge/latest/userguide/cloudwatch-limits-eventbridge.html)을 참조하세요.

 다음 비디오에서는 아카이브 및 재생 사용에 대해 보여줍니다.




# Amazon EventBridge에서 이벤트 아카이브 생성
<a name="eb-archive-event"></a>

EventBridge에서 아카이브를 생성할 때 [이벤트 패턴](eb-event-patterns.md)을 지정하여 아카이브로 전송할 이벤트를 결정할 수 있습니다. EventBridge는 이벤트 패턴과 일치하는 이벤트를 아카이브로 보냅니다. 또한 이벤트가 폐기되기 전에 아카이브에 이벤트를 저장하도록 보존 기간을 설정합니다.

[이벤트 버스 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-event-bus.html)의 일부로 아카이브를 생성할 수도 있습니다. 아카이브가 생성되면 [업데이트](https://docs.aws.amazon.com/eventbridge/latest/userguide/event-bus-update-archive.html)할 수 있지만 이러한 아카이브에는 무기한 보존 정책이 있으며 이벤트 필터가 없습니다.

**Topics**
+ [아카이브 정의](#eb-create-archive-define)
+ [이벤트 패턴 구축(선택 사항)](#eb-create-archive-event-pattern)

## 아카이브 정의
<a name="eb-create-archive-define"></a>

먼저 아카이브의 이름과 설명을 입력하고 이벤트를 수신하는 이벤트 버스를 지정합니다. 선택적으로 아카이브에 이벤트를 유지할 기간을 설정할 수도 있습니다.

**아카이브를 정의하려면**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 소스 이벤트 버스로 이동하거나 아카이브를 직접 생성합니다.
   + 탐색 창에서 **이벤트 버스**를 선택합니다.

     이벤트 버스 세부 정보 페이지에서 **아카이브** 탭을 선택합니다.
   + 탐색 창에서 **아카이브**를 선택합니다.

1. **아카이브 생성**을 선택합니다.

1. **아카이브 세부 정보**에서 아카이브에 대한 이름과 선택적으로 설명을 입력합니다.

    이 이름은 선택한 리전의 계정에 대해 고유해야 합니다. 아카이브를 생성한 후에는 이름을 변경할 수 없습니다.

1. **소스**의 경우 아카이브로 전송할 이벤트를 내보내는 이벤트 버스를 선택합니다.

   기존 이벤트 버스 세부 정보 페이지에서 이동한 경우 해당 이벤트 버스의 이름이 기본적으로 표시됩니다.

   아카이브를 생성한 후에는 소스 이벤트 버스를 변경할 수 없습니다.

1. **유지 기간**에 아카이브에 이벤트를 유지할 기간을 지정합니다.
   + 이벤트를 아카이브에 보존하고 삭제하지 않으려면 **무기한**을 선택합니다.
   + 설정된 유지 기간에 EventBridge가 아카이브에서 이벤트를 삭제해야 하는 일수를 입력합니다.

1. **암호화**의 경우, 아카이브에 저장된 이벤트를 암호화할 때 사용할 EventBridge의 KMS 키를 선택합니다.
**중요**  
EventBridge가 소스 이벤트 버스를 암호화하는 데 고객 관리형 키를 사용하도록 지정한 경우 이벤트 버스의 모든 아카이브에도 고객 관리형 키를 지정하는 것이 좋습니다.
   + EventBridge가 AWS 소유 키를 사용하여 데이터를 암호화하도록 하려면 **AWS 소유 키 사용**을 선택합니다.

     이 AWS 소유 키는 여러 AWS 계정에서 사용하기 위해 EventBridge가 소유하고 관리하는 KMS 키입니다. 일반적으로 리소스를 보호하는 암호화 키를 감사하거나 제어할 필요가 없을 경우, AWS 소유 키를 선택하는 것이 좋습니다.

     이 값이 기본값입니다.
   + EventBridge에 **고객 관리형 키 사용**을 선택하여 지정하거나 생성한 고객 관리형 키를 사용하여 데이터를 암호화합니다.

     고객 관리형 키는 사용자가 생성, 소유 및 관리하는 AWS 계정의 KMS 키입니다. 이러한 KMS 키를 완전히 제어할 수 있습니다.

     1. 기존 고객 관리형 키를 지정하거나 **새 KMS 키 생성 />**을 선택합니다.

       EventBridge는 키 상태뿐만 아니라, 지정된 고객 관리형 키와 연결된 모든 키 별칭도 표시합니다.

1. **다음**을 선택합니다.

## 이벤트 패턴 구축(선택 사항)
<a name="eb-create-archive-event-pattern"></a>

다음으로 선택적 단계로 이벤트 패턴을 구축하여 EventBridge가 아카이브로 보내는 이벤트를 필터링할 수 있습니다. 이렇게 하려면 이벤트 소스를 지정하고, 이벤트 패턴의 기준을 선택하고, 일치시킬 속성과 값을 정의합니다. 또한 JSON으로 이벤트 패턴을 생성하고 샘플 이벤트와 비교하여 테스트할 수 있습니다.

이벤트 패턴에 대한 자세한 내용은 [](eb-event-patterns.md) 섹션을 참조하세요.

**이벤트 패턴을 작성하려면**

1. **이벤트 소스**에서 **AWS 이벤트 또는 EventBridge 파트너 이벤트**를 선택합니다.

1. (선택 사항) **샘플 이벤트** 섹션에서 이벤트 패턴을 테스트할 **샘플 이벤트 유형**을 선택합니다.

   다음 샘플 이벤트 유형을 사용할 수 있습니다.
   + **AWS 이벤트 **- 지원되는 AWS 서비스에서 발생한 이벤트 중에서 선택합니다.
   + **EventBridge 파트너 이벤트** - Salesforce와 같이 EventBridge를 지원하는 타사 서비스에서 발생한 이벤트 중에서 선택합니다.
   + **내 이벤트 입력** - JSON 텍스트로 자체 이벤트를 입력합니다.

     AWS 또는 파트너 이벤트를 시작점으로 삼아 사용자 지정 이벤트를 자체적으로 만들 수도 있습니다.

     1. **AWS 이벤트** 또는 **EventBridge 파트너 이벤트**를 선택합니다.

     1. **샘플 이벤트** 드롭다운을 이용해 사용자 지정 이벤트의 시작점으로 사용할 이벤트를 선택합니다.

        EventBridge는 샘플 이벤트를 표시합니다.

     1. **복사**를 선택합니다.

     1. **이벤트 유형**에서 **내 이벤트 입력**을 선택합니다.

     1. JSON 편집 창에서 샘플 이벤트 구조를 삭제하고 AWS 또는 파트너 이벤트를 대신 붙여넣습니다.

     1. 이벤트 JSON을 편집하여 자체 샘플 이벤트를 생성합니다.

1. **생성 방법**을 선택합니다. EventBridge 스키마 또는 템플릿에서 이벤트 패턴을 생성하거나 사용자 지정 이벤트 패턴을 생성할 수 있습니다.

------
#### [ Existing schema ]

   기존 EventBridge 스키마를 사용하여 이벤트 패턴을 생성하려면 다음을 수행하세요.

   1. **생성 방법** 섹션의 **메서드**에서 **스키마 사용**을 선택합니다.

   1. **이벤트 패턴** 섹션의 **스키마 유형**에서 **스키마 레지스트리에서 스키마 선택**을 선택합니다.

   1. **스키마 레지스트리**의 경우 드롭다운 상자를 선택하고 스키마 레지스트리 이름(예: `aws.events`)을 입력합니다. 표시되는 드롭다운 목록에서 옵션을 선택할 수도 있습니다.

   1. **스키마**의 경우 드롭다운 상자를 선택하고 사용할 스키마 이름을 입력합니다. 예를 들어 `aws.s3@ObjectDeleted`입니다. 표시되는 드롭다운 목록에서 옵션을 선택할 수도 있습니다.

   1. **모델** 섹션에서 속성 옆에 있는 **편집** 버튼을 선택하여 해당 속성을 엽니다. 필요에 따라 **관계** 및 **값** 필드를 설정한 다음, **설정**을 선택하여 속성을 저장합니다.
**참고**  
속성 정의에 대한 자세한 내용을 보려면 속성 이름 옆에 있는 **정보** 아이콘을 선택하세요. 이벤트에서 속성 특성을 설정하는 방법에 대한 참조를 보려면 속성 특성 대화 상자의 **참고** 섹션을 엽니다.  
속성 특성을 삭제하려면 해당 속성의 **편집** 버튼을 선택한 다음, **지우기**를 선택합니다.

   1. 이벤트 패턴을 JSON 텍스트로 생성하고 검증하려면 **JSON으로 이벤트 패턴 생성**을 선택합니다.

   1. (선택 사항) 테스트 패턴과 비교하여 샘플 이벤트를 테스트하려면 **테스트 패턴**을 선택합니다.

      EventBridge는 샘플 이벤트가 이벤트 패턴과 일치하는지 여부를 나타내는 메시지 상자를 표시합니다.

      다음 옵션 중 하나를 선택할 수도 있습니다.
      + **복사** - 이벤트 패턴을 디바이스의 클립보드에 복사합니다.
      + **정리** - 줄 바꿈, 탭, 공백을 추가하여 JSON 텍스트를 더 쉽게 읽을 수 있습니다.

------
#### [ Custom schema ]

   사용자 지정 스키마를 작성하고 이벤트 패턴으로 변환하려면 다음을 수행하세요.

   1. **생성 방법** 섹션의 **메서드**에서 **스키마 사용**을 선택합니다.

   1. **이벤트 패턴** 섹션의 **스키마 유형**에서 **스키마 입력**을 선택합니다.

   1. 텍스트 상자에 스키마를 입력합니다. 스키마의 형식을 유효한 JSON 텍스트로 지정해야 합니다.

   1. **모델** 섹션에서 속성 옆에 있는 **편집** 버튼을 선택하여 해당 속성을 엽니다. 필요에 따라 **관계** 및 **값** 필드를 설정한 다음, **설정**을 선택하여 속성을 저장합니다.
**참고**  
속성 정의에 대한 자세한 내용을 보려면 속성 이름 옆에 있는 **정보** 아이콘을 선택하세요. 이벤트에서 속성 특성을 설정하는 방법에 대한 참조를 보려면 속성 특성 대화 상자의 **참고** 섹션을 엽니다.  
속성 특성을 삭제하려면 해당 속성의 **편집** 버튼을 선택한 다음, **지우기**를 선택합니다.

   1. 이벤트 패턴을 JSON 텍스트로 생성하고 검증하려면 **JSON으로 이벤트 패턴 생성**을 선택합니다.

   1. (선택 사항) 테스트 패턴과 비교하여 샘플 이벤트를 테스트하려면 **테스트 패턴**을 선택합니다.

      EventBridge는 샘플 이벤트가 이벤트 패턴과 일치하는지 여부를 나타내는 메시지 상자를 표시합니다.

      다음 옵션 중 하나를 선택할 수도 있습니다.
      + **복사** - 이벤트 패턴을 디바이스의 클립보드에 복사합니다.
      + **정리** - 줄 바꿈, 탭, 공백을 추가하여 JSON 텍스트를 더 쉽게 읽을 수 있습니다.

------
#### [ Event pattern ]

   JSON 형식의 사용자 지정 이벤트 패턴을 작성하려면 다음을 수행하세요.

   1. **생성 방법** 섹션의 **메서드**에서 **사용자 지정 패턴(JSON 편집기)**을 선택합니다.

   1. **이벤트 패턴**의 경우 JSON 형식 텍스트로 사용자 지정 이벤트 패턴을 입력합니다.

   1. (선택 사항) 테스트 패턴과 비교하여 샘플 이벤트를 테스트하려면 **테스트 패턴**을 선택합니다.

      EventBridge는 샘플 이벤트가 이벤트 패턴과 일치하는지 여부를 나타내는 메시지 상자를 표시합니다.

      다음 옵션 중 하나를 선택할 수도 있습니다.
      + **복사** - 이벤트 패턴을 디바이스의 클립보드에 복사합니다.
      + **정리** - 줄 바꿈, 탭, 공백을 추가하여 JSON 텍스트를 더 쉽게 읽을 수 있습니다.
      + **이벤트 패턴 양식** - 패턴 빌더에서 이벤트 패턴을 엽니다. 패턴 빌더에서 패턴을 있는 그대로 렌더링할 수 없는 경우 EventBridge는 패턴 빌더를 열기 전에 경고를 표시합니다.

------

1. **아카이브 생성**을 선택합니다.

이벤트가 아카이브에 성공적으로 전송되었는지 확인하려면 EventBridge API의 [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeArchive.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeArchive.html) 작업을 사용하여 `EventCount`이(가) 아카이브의 이벤트 수를 반영하는지 확인할 수 있습니다. 값이 0이면 아카이브에 이벤트가 없는 것입니다.

# Amazon EventBridge 이벤트 버스에서 아카이브 업데이트
<a name="event-bus-update-archive"></a>

다음을 업데이트할 수 있습니다.
+ 아카이브 설명
+ 어떤 이벤트가 아카이브로 전송되었는지를 필터링하는 데 사용할 이벤트 패턴입니다.
+ 이벤트의 유지 기간입니다.
+ 이벤트 암호화에 AWS KMS key 사용되는 입니다.

  자세한 내용은 [아카이브 암호화](encryption-archives.md) 단원을 참조하십시오.

아카이브가 생성된 후에는 아카이브의 이름 또는 소스 이벤트 버스를 변경할 수 없습니다.

**참고**  
고객 관리형 키를 사용해 암호화된 이벤트 버스에는 스키마 검색이 지원되지 않습니다. 이벤트 버스에서 스키마 검색을 활성화하려면 AWS 소유 키를 사용하도록 선택합니다. 자세한 내용은 [KMS 키 옵션](eb-encryption-at-rest-key-options.md) 단원을 참조하십시오.

**아카이브를 업데이트하려면(콘솔)**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 아카이브로 직접 이동하거나 소스 이벤트 버스에서 이동합니다.
   + 탐색 창에서 **이벤트 버스**를 선택합니다.

     이벤트 버스 세부 정보 페이지에서 **아카이브** 탭을 선택합니다.
   + 탐색 창에서 **아카이브**를 선택합니다.

1. 아카이브를 선택한 다음 **편집**을 선택합니다.

1. 아카이브를 업데이트합니다.

**이벤트 버스의 아카이브를 업데이트하려면(AWS CLI)**
+ [update-archive](https://docs.aws.amazon.com/cli/latest/reference/events/update-archive.html)를 사용합니다.

# Amazon EventBridge에서 이벤트 아카이브 삭제
<a name="eb-archive-delete"></a>

아카이브를 삭제하면 EventBridge는 다음 리소스를 삭제합니다.
+ 아카이브 및 아카이브에 포함된 모든 이벤트.
+ 아카이브에 지정된 이벤트 패턴.
+ 아카이브에 대해 생성된 관리형 규칙 EventBridge.

**이벤트 버스에서 아카이브를 삭제하려면(콘솔)**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 아카이브로 직접 이동하거나 소스 이벤트 버스에서 이동합니다.
   + 탐색 창에서 **이벤트 버스**를 선택합니다.

     이벤트 버스 세부 정보 페이지에서 **아카이브** 탭을 선택합니다.
   + 탐색 창에서 **아카이브**를 선택합니다.

1. 삭제할 아카이브가 포함된 이벤트 버스를 선택합니다.

1. 이벤트 버스 세부 정보 페이지에서 **아카이브** 탭을 선택합니다.

1. 아카이브를 선택한 다음 **삭제**를 선택합니다.

**아카이브를 삭제하려면(AWS CLI)**
+ [delete-archive](https://docs.aws.amazon.com/cli/latest/reference/events/delete-archive.html)를 사용합니다.

# Amazon EventBridge에서 이벤트에 대한 재생 생성
<a name="eb-replay-archived-event"></a>

새 재생을 시작할 때 EventBridge가 소스 이벤트 버스로 재전송할 이벤트 기간을 지정합니다. 이벤트를 특정 규칙으로 보내도록 EventBridge를 지정할 수도 있습니다.

**이벤트 재생을 시작하려면(콘솔)**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 직접 재생으로 이동하거나 재생하려는 아카이브에서 이동합니다.
   + 탐색 창에서 **아카이브**를 선택합니다.

     **아카이브** 페이지에서 아카이브를 선택한 다음 **재생**을 선택합니다.
   + 탐색 창에서 **재생**을 선택합니다.

     **다시 재생 새로 시작**을 선택합니다.

1. **재생**의 이름을 입력하고 선택적으로 **설명**을 입력합니다.

1. **소스**에서 이벤트를 재생할 아카이브를 선택합니다.

1. 대상의 경우 이벤트가 발생된 동일한 이벤트 버스에만 이벤트를 재생할 수 있습니다.

1. **규칙 지정**에 대해 다음 중 하나를 수행합니다.
   + 이벤트를 모든 규칙에 따라 재생하려면 **모든 규칙**을 선택합니다.
   + **규칙 지정**을 선택한 다음, 이벤트를 재생할 규칙을 하나 또는 여러 개 선택합니다.

1. **다시 재생 기간**에서 **시작 시간**과 **종료 시간**의 **날짜**, **시간** 및 **시간대**를 지정합니다.

   **시작 시간**과 **종료 시간** 사이에 발생한 이벤트만 재생됩니다.

1. **재생 시작**을 선택합니다.

**재생을 시작하려면(AWS CLI)**
+ [시작-재생](https://docs.aws.amazon.com/cli/latest/reference/events/start-replay.html)을 사용합니다.

# Amazon EventBridge에서 보관된 이벤트의 재생 취소
<a name="eb-replay-cancel"></a>

재생을 시작한 후 중지하려는 경우 재생 상태가 `Starting` 또는 `Running`인 동안 재생을 취소할 수 있습니다.

**재생을 취소하려면(콘솔)**

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 왼쪽 탐색 창에서 **재생**을 선택합니다.

1. 취소할 재생을 선택합니다.

1. **취소**를 선택합니다.

**재생을 취소하려면(AWS CLI)**
+ [cancel-replay](https://docs.aws.amazon.com/cli/latest/reference/events/cancel-replay.html)를 사용합니다.

# EventBridge의 글로벌 엔드포인트를 통해 애플리케이션의 리전별 내결함성 구성
<a name="eb-global-endpoints"></a>

Amazon EventBridge 글로벌 엔드포인트를 사용해 애플리케이션의 가용성을 개선할 수 있습니다. 글로벌 엔드포인트는 추가 비용 없이 애플리케이션에 리전별 내결함성을 구성하는 데 도움이 됩니다. 시작하려면 Amazon Route 53 상태 확인을 엔드포인트에 할당합니다. 장애 조치가 시작되면 상태 확인에서 ‘비정상’ 상태를 보고합니다. 장애 조치가 시작된 후 몇 분 내에 모든 사용자 지정 [이벤트](eb-events.md)가 보조 리전의 [이벤트 버스](eb-event-bus.md)로 라우팅되고 해당 이벤트 버스에서 처리됩니다. 상태 확인에서 ‘정상’ 상태가 보고되면 기본 리전의 이벤트 버스에서 이벤트를 처리합니다.

글로벌 엔드포인트를 사용하는 경우 [이벤트 복제](#eb-ge-event-replication)를 활성화할 수 있습니다. 이벤트 복제는 관리형 규칙을 사용하여 모든 사용자 지정 이벤트를 기본 및 보조 리전의 이벤트 버스로 전송합니다.

**참고**  
사용자 지정 버스를 사용하는 경우 장애 조치가 제대로 작동하려면 각 리전에 이름과 계정이 동일한 사용자 지정 버스가 필요합니다.

## 복구 시간 목표 및 복구 시점 목표
<a name="eb-ge-rpo-rto"></a>

Recovery Time Objective(RTO)는 장애 발생 후 보조 리전에서 이벤트 수신을 시작하는 데 걸리는 시간입니다. RTO의 경우 시간에는 CloudWatch 경보를 트리거하고 Route 53 상태 확인의 상태를 업데이트하는 기간이 포함됩니다. Recovery Point Objective(RPO)는 장애 발생 시 처리되지 않은 상태로 남아 있는 데이터의 측정값입니다. RPO의 경우 시간에는 보조 리전에 복제되지 않고 서비스 또는 리전이 복구될 때까지 기본 리전에서 멈춘 이벤트가 포함됩니다. 글로벌 엔드포인트를 사용할 때 경보 구성에 대한 권장 가이드를 따르면 RTO 및 RPO가 360초(최대 420초)일 것으로 예상할 수 있습니다.

## 이벤트 복제
<a name="eb-ge-event-replication"></a>

이벤트는 보조 리전에서 비동기적으로 처리됩니다. 즉, 두 리전에서 이벤트가 동시에 처리된다는 보장은 없습니다. 장애 조치가 트리거되면 이벤트는 보조 리전에서 처리되며 사용 가능한 경우 기본 리전에서 처리됩니다. 이벤트 복제를 활성화하면 월별 비용이 증가합니다. 자세한 내용을 알아보려면 [Amazon EventBridge 요금](https://aws.amazon.com/eventbridge/pricing)을 참조하세요.

다음과 같은 이유로 글로벌 엔드포인트 설정 시 이벤트 복제를 활성화하는 것이 좋습니다.
+ 이벤트 복제를 통해 글로벌 엔드포인트가 올바르게 구성되었는지 확인할 수 있습니다. 이에 따라 장애 조치 발생 시에도 문제를 해결할 수 있습니다.
+ 장애 조치 이벤트를 자동으로 복구하려면 이벤트 복제가 필요합니다. 이벤트 복제를 활성화하지 않은 경우, 이벤트가 기본 리전으로 돌아가기 전에 수동으로 Route 53 상태 확인을 ‘정상’으로 재설정해야 합니다.

### 복제된 이벤트 페이로드
<a name="eb-ge-event-replication-ep"></a>

다음은 복제된 이벤트 페이로드의 예입니다.

**참고**  
`region`에는 이벤트가 복제된 리전이 나열됩니다.

```
{
    "version": "0",
    "id": "a908baa3-65e5-ab77-367e-527c0e71bbc2",
    "detail-type": "Test",
    "source": "test.service.com",
    "account": "0123456789",
    "time": "1900-01-01T00:00:00Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:events:us-east-1:0123456789:endpoint/MyEndpoint"
    ],
    "detail": {
        "a": "b"
    }
}
```

## AWS SDK를 사용하여 글로벌 엔드포인트 작업
<a name="eb-ge-sdk-update"></a>

**참고**  
조만간 C\$1\$1에 대한 지원이 제공될 예정입니다.

 AWS SDK를 사용하여 글로벌 엔드포인트에서 작업할 때는 다음 사항에 유의하세요.
+ 특정 SDK에 대해 AWS 공통 런타임(CRT) 라이브러리가 설치되어 있어야 합니다. CRT가 설치되어 있지 않은 경우 설치해야 할 항목을 나타내는 예외 메시지가 표시됩니다. 자세한 내용은 다음을 참조하세요.
  + [AWS 공통 런타임(CRT) 라이브러리](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html)
  + [awslabs/aws-crt-java](https://github.com/awslabs/aws-crt-java)
  + [awslabs/aws-crt-nodejs](https://github.com/awslabs/aws-crt-nodejs)
  + [awslabs/aws-crt-python](https://github.com/awslabs/aws-crt-python)
+ 글로벌 엔드포인트를 생성한 후에는 사용하는 모든 `PutEvents` 호출에 `endpointId` 및 `EventBusName`을 추가해야 합니다.
+ 글로벌 엔드포인트는 서명 버전 4A를 지원합니다. 이 버전의 SIGv4를 사용하면 여러 AWS 리전에 대한 요청에 서명할 수 있습니다. 이는 여러 리전 중 하나에서 데이터 액세스가 발생할 수 있는 API 작업에 유용합니다. AWS SDK를 사용할 때 자격 증명을 제공하면 글로벌 엔드포인트에 대한 요청은 추가 구성 없이 서명 버전 4A를 사용합니다. SigV4A에 대한 자세한 내용은 *AWS 일반 참조*의 [AWS API 요청에 서명](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html )을 참조하세요.

  글로벌 AWS STS 엔드포인트(sts.amazonaws.com)에서 임시 자격 증명을 요청하는 경우는 기본적으로 SigV4A를 지원하지 않는 자격 증명을 AWS STS 제공합니다. 자세한 내용은 *AWS Identity and Access Management 사용 설명서*의 [AWS STSAWS 리전에서 관리를](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html) 참조하세요.

## 사용 가능한 리전
<a name="eb-ge-avail-regions"></a>

다음 리전은 글로벌 엔드포인트를 지원합니다.
+ 미국 동부(버지니아 북부)
+ 미국 동부(오하이오)
+ 미국 서부(캘리포니아 북부)
+ 미국 서부(오레곤)
+ 캐나다(중부)
+ 유럽(프랑크푸르트)
+ 유럽(아일랜드)
+ 유럽(런던)
+ 유럽(밀라노)
+ 유럽(파리)
+ 유럽(스톡홀름)
+ 아시아 태평양(뭄바이)
+ 아시아 태평양(오사카)
+ 아시아 태평양(서울)
+ 아시아 태평양(싱가포르)
+ 아시아 태평양(시드니)
+ 아시아 태평양(도쿄)
+ 남아메리카(상파울루)

# Amazon EventBridge에서 글로벌 엔드포인트 생성
<a name="eb-ge-create-endpoint"></a>

글로벌 엔드포인트를 설정하려면 다음 단계를 완료합니다.

1. 기본 및 보조 리전에 모두 일치하는 이벤트 버스와 규칙이 있는지 확인합니다.

1. [Route 53 상태 확인](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/health-checks-creating.html)을 생성하여 이벤트 버스를 모니터링합니다. 상태 확인 생성 시 도움이 필요하면 글로벌 엔드포인트를 생성할 때 **새 상태 확인**을 선택하세요.

1. 글로벌 엔드포인트를 생성합니다.

Route 53 상태 확인을 설정한 후에는 글로벌 엔드포인트를 생성할 수 있습니다.

## 콘솔을 사용하여 글로벌 엔드포인트 생성하기
<a name="eb-ge-create-endpoint-console"></a>

1. Amazon EventBridge 콘솔([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/))을 엽니다.

1. 탐색 창에서 **글로벌 엔드포인트**를 선택합니다.

1. **엔드포인트 생성**을 선택합니다.

1. 엔드포인트 이름 및 설명을 입력합니다.

1. **기본 리전의 이벤트 버스**에서 엔드포인트와 연결하려는 이벤트 버스를 선택합니다.

1. **보조 리전**에는 장애 조치 시 이벤트를 전달하려는 리전을 선택합니다.
**참고**  
**보조 리전의 이벤트 버스**는 자동으로 채워지며 편집할 수 없습니다.

1. **장애 조치 및 복구를 트리거하기 위한 Route 53 상태 확인**의 경우 엔드포인트에서 모니터링할 상태 확인을 선택합니다. 상태 확인이 아직 없는 경우 **새 상태 확인을** 선택하여 CloudFormation 콘솔을 열고 CloudFormation 템플릿을 사용하여 상태 확인을 생성합니다.
**참고**  
데이터가 누락되면 상태 확인에 실패합니다. 이벤트를 간헐적으로만 전송해야 하는 경우 더 긴 **MinimumEvaluationPeriod**를 사용하거나 누락된 데이터를 '위반' 대신 '누락'으로 처리하는 것이 좋습니다.

1. (선택 사항) **이벤트 복제**의 경우 다음을 수행합니다.

   1. **이벤트 복제 활성화됨**을 선택합니다.

   1. **실행 역할**에서 새 AWS Identity and Access Management 역할을 생성할지 기존 역할을 사용할지 선택합니다. 해결 방법:
      + **이 특정 리소스에 대해 새 역할 생성**을 선택합니다. 선택적으로 **역할 이름**을 업데이트하여 새 역할을 생성할 수 있습니다.
      + **기존 역할 사용**을 선택합니다. 그런 다음, **실행 역할**에서 사용할 역할을 선택합니다.

1. **생성(Create)**을 선택합니다.

## API를 사용하여 글로벌 엔드포인트 생성하기
<a name="eb-ge-create-endpoint-api"></a>

EventBridge API를 사용해 글로벌 엔드포인트를 생성하려면 Amazon EventBridge API 참조의 [CreateEndpoint](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateEndpoint.html)를 참조하세요.

## 를 사용하여 글로벌 엔드포인트를 생성하려면 CloudFormation
<a name="eb-ge-create-endpoint-cfn"></a>

 AWS CloudFormation API를 사용하여 글로벌 엔드포인트를 생성하려면 AWS CloudFormation 사용 설명서의 [AWS::Events::Endpoints](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html)를 참조하세요.

# Amazon EventBridge 글로벌 엔드포인트에 대한 모범 사례
<a name="eb-ge-best-practices"></a>

글로벌 엔드포인트를 설정할 때 권장되는 모범 사례는 다음과 같습니다.

## 이벤트 복제 활성화
<a name="eb-ge-bp-enable-replication"></a>

복제 기능을 설정하고 글로벌 엔드포인트에 할당한 보조 리전에서 이벤트를 처리하는 것이 좋습니다. 이렇게 하면 보조 리전의 애플리케이션이 올바르게 구성됩니다. 또한 문제가 완화된 후 기본 리전으로 자동 복구되도록 복제 기능을 설정해야 합니다.

이벤트 ID는 API 직접 호출에 따라 변경될 수 있으므로 리전 간에 이벤트를 상호 연결하려면 변경이 불가능한 고유 식별자가 필요합니다. 또한 소비자는 멱등성을 염두에 두고 설계되어야 합니다. 이렇게 하면 이벤트를 복제하거나 아카이브에서 재생하는 경우 두 리전에서 이벤트가 처리되더라도 부작용이 발생하지 않습니다.

## 이벤트 제한 방지
<a name="eb-ge-bp-throttling"></a>

이벤트가 제한되는 것을 방지하려면 리전 간에 일관성을 유지하도록 `PutEvents` 및 대상 제한을 업데이트하는 것이 좋습니다.

## Amazon Route 53 상태 확인에서 구독자 지표 사용
<a name="eb-ge-bp-sub-metrics"></a>

Amazon Route 53 상태 확인에서 구독자 지표를 포함하지 마세요. 이 지표를 포함하면 기본 리전에서 다른 모든 구독자가 정상 상태임에도 구독자에게 문제가 발생할 경우, 게시자가 보조 리전으로 장애 조치될 수 있습니다. 구독자 중 한 명이 기본 리전의 이벤트를 처리하지 못하는 경우 보조 리전의 구독자가 이벤트를 성공적으로 처리할 수 있도록 복제 기능을 설정해야 합니다.

# EventBridge 글로벌 엔드포인트에 대한 Route 53 상태 확인 설정
<a name="eb-ge-cfn"></a>

글로벌 엔드포인트를 사용하는 경우 리전 상태를 모니터링하려면 Route 53 상태 확인이 필요합니다. 다음 템플릿은 [Amazon CloudWatch 경보](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html)를 정의하고 이를 사용하여 [Route 53 상태 확인](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-healthcheck.html)을 정의합니다.

**Topics**
+ [Route 53 상태 확인을 정의하기 위한 CloudFormation 템플릿](#eb-ge-cfn-template)
+ [CloudWatch 경보 템플릿 속성](#eb-ge-cfn-cw-alarm-definitions)
+ [Route 53 상태 확인 템플릿 속성](#eb-ge-cfn-health-check-definitions)

## Route 53 상태 확인을 정의하기 위한 CloudFormation 템플릿
<a name="eb-ge-cfn-template"></a>

다음 템플릿을 사용하여 Route 53 상태 확인을 정의합니다.

```
Description: |-
  Global endpoints health check that will fail when the average Amazon EventBridge 
  latency is above 30 seconds for a duration of 5 minutes. Note, missing data will 
  cause the health check to fail, so if you only send events intermittently, consider 
  changing the heath check to use a longer evaluation period or instead treat missing 
  data as 'missing' instead of 'breaching'.

Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups: 
      - Label: 
          default: "Global endpoint health check alarm configuration"
        Parameters:
          - HealthCheckName
          - HighLatencyAlarmPeriod
          - MinimumEvaluationPeriod
          - MinimumThreshold
          - TreatMissingDataAs
    ParameterLabels:
      HealthCheckName:
        default: Health check name
      HighLatencyAlarmPeriod:
        default: High latency alarm period
      MinimumEvaluationPeriod:
        default: Minimum evaluation period
      MinimumThreshold:
        default: Minimum threshold
      TreatMissingDataAs:
        default: Treat missing data as

Parameters:
  HealthCheckName:
    Description: Name of the health check
    Type: String
    Default: LatencyFailuresHealthCheck
  HighLatencyAlarmPeriod:
    Description: The period, in seconds, over which the statistic is applied. Valid values are 10, 30, 60, and any multiple of 60.
    MinValue: 10
    Type: Number
    Default: 60
  MinimumEvaluationPeriod:
    Description: The number of periods over which data is compared to the specified threshold. You must have at least one evaluation period.
    MinValue: 1
    Type: Number
    Default: 5
  MinimumThreshold:
    Description: The value to compare with the specified statistic.
    Type: Number
    Default: 30000
  TreatMissingDataAs:
    Description: Sets how this alarm is to handle missing data points.
    Type: String
    AllowedValues:
      - breaching
      - notBreaching
      - ignore
      - missing
    Default: breaching  

Mappings:
  "InsufficientDataMap":
    "missing":
      "HCConfig": "LastKnownStatus"
    "breaching":
      "HCConfig": "Unhealthy"  

Resources:
  HighLatencyAlarm:
      Type: AWS::CloudWatch::Alarm
      Properties:
        AlarmDescription: High Latency in Amazon EventBridge
        MetricName: IngestionToInvocationStartLatency
        Namespace: AWS/Events
        Statistic: Average
        Period: !Ref HighLatencyAlarmPeriod
        EvaluationPeriods: !Ref MinimumEvaluationPeriod
        Threshold: !Ref MinimumThreshold
        ComparisonOperator: GreaterThanThreshold
        TreatMissingData: !Ref TreatMissingDataAs

  LatencyHealthCheck:
      Type: AWS::Route53::HealthCheck
      Properties:
        HealthCheckTags:
          - Key: Name
            Value: !Ref HealthCheckName
        HealthCheckConfig:
          Type: CLOUDWATCH_METRIC
          AlarmIdentifier:
            Name:
              Ref: HighLatencyAlarm
            Region: !Ref AWS::Region
          InsufficientDataHealthStatus: !FindInMap [InsufficientDataMap, !Ref TreatMissingDataAs, HCConfig]

Outputs:
  HealthCheckId:
    Description: The identifier that Amazon Route 53 assigned to the health check when you created it.
    Value: !GetAtt LatencyHealthCheck.HealthCheckId
```

이벤트 ID는 API 직접 호출에 따라 변경될 수 있으므로 리전 간에 이벤트를 상호 연결하려면 변경이 불가능한 고유 식별자가 필요합니다. 또한 소비자는 멱등성을 염두에 두고 설계되어야 합니다. 이렇게 하면 이벤트를 복제하거나 아카이브에서 재생하는 경우 두 리전에서 이벤트가 처리되더라도 부작용이 발생하지 않습니다.

## CloudWatch 경보 템플릿 속성
<a name="eb-ge-cfn-cw-alarm-definitions"></a>

**참고**  
모든 **editable** 필드에 대해 초당 처리량을 고려합니다. 이벤트를 간헐적으로만 전송하는 경우 평가 기간을 늘리거나 누락된 데이터를 `breaching` 대신 `missing`으로 처리하도록 상태 확인을 변경하는 것이 좋습니다.

템플릿의 CloudWatch 경보 섹션에는 다음과 같은 속성이 사용됩니다.


| 지표 | 설명 | 
| --- | --- | 
|  `AlarmDescription`  |  경보에 대한 설명입니다. 기본값: **High Latency in Amazon EventBridge**  | 
|  `MetricName`  |  경보와 연결된 지표의 이름입니다. 지표 기반의 경보에 필수적입니다. 수학 표현식을 기반으로 경보를 생성하면 `Metrics`를 대신 사용해야 하며, `MetricName`을 지정할 수 없습니다. 기본값: IngestionToInvocationStartLatency  | 
|  `Namespace`  |  경보와 연결된 지표의 네임스페이스입니다. 지표 기반의 경보에 필수적입니다. 수학 표현식을 기반으로 경보를 생성하면 `Namespace`를 지정할 수 없으며 대신 `Metrics`를 사용해야 합니다. 기본값: `AWS/Events`  | 
|  `Statistic`  |  경보와 연결된 백분위수 이외의 지표 통계입니다. 기본값: 평균  | 
|  `Period`  |  통계가 적용되는 기간(초)입니다. 지표 기반의 경보에 필수적입니다. 유효한 값은 10, 30, 60 및 60의 배수입니다. 기본값: **60**  | 
|  `EvaluationPeriods`  |  지정 임계값에 대한 데이터 비교가 이루어지는 기간의 일수입니다. 경보를 트리거하기 위해 연속된 여러 데이터 요소를 위반해야 하는 경보를 설정하는 경우 이 값은 해당 일수를 지정합니다. “N 중 M” 경보를 설정하는 경우 이 값은 N이고 `DatapointsToAlarm`은 M입니다. 기본값: **5**  | 
|  `Threshold`  |  지정된 통계와 비교할 값입니다. 기본값: **30,000**  | 
|  `ComparisonOperator`  |  지정한 통계와 임계값을 비교하는 경우 사용하는 산술 연산입니다. 지정된 통계 값은 첫 번째 피연산자로 사용됩니다. 기본값: `GreaterThanThreshold`  | 
|  `TreatMissingData`  |  경보가 누락된 데이터 요소를 처리하는 방법을 설정합니다. 유효한 값: `breaching`, `notBreaching`, `ignore` 및 `missing` 기본값: `breaching`  | 

## Route 53 상태 확인 템플릿 속성
<a name="eb-ge-cfn-health-check-definitions"></a>

**참고**  
모든 **editable** 필드에 대해 초당 처리량을 고려합니다. 이벤트를 간헐적으로만 전송하는 경우 평가 기간을 늘리거나 누락된 데이터를 `breaching` 대신 `missing`으로 처리하도록 상태 확인을 변경하는 것이 좋습니다.

템플릿의 Route 53 상태 확인 섹션에는 다음과 같은 속성이 사용됩니다.


| 지표 | 설명 | 
| --- | --- | 
|  `HealthCheckName`  |  상태 확인의 이름입니다. 기본값: **LatencyFailuresHealthCheck**  | 
|  `InsufficientDataHealthStatus`  |  CloudWatch가 경보 상태를 확인하기에 지표 데이터가 부족한 경우, Amazon Route 53이 상태 확인에 할당할 상태입니다. 유효한 값: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/eb-ge-cfn.html) 기본값: 비정상 이 필드는 `TreatMissingData` 필드 입력에 따라 업데이트됩니다. `TreatingMissingData`를 `Missing`으로 설정하면 `LastKnownStatus`로 업데이트됩니다. `TreatingMissingData`를 `Breaching`으로 설정하면 `Unhealthy`로 업데이트됩니다.  | 

# Amazon EventBridge 이벤트 버스에 대한 로그 구성
<a name="eb-event-bus-logs"></a>

이벤트 버스가 이벤트를 처리하는 방법을 자세히 설명하는 로그를 보내도록 EventBridge를 구성하여 문제 해결 및 디버깅을 지원할 수 있습니다.

EventBridge가 지정된 이벤트 버스에 대한 로그를 전송하는 로그 *대상으로* 다음 AWS 서비스를 선택할 수 있습니다.
+ Amazon CloudWatch Logs

  EventBridge는 지정된 CloudWatch Logs 로그 그룹에 로그를 전송합니다.

  CloudWatch Logs를 사용하면 사용하는 모든 시스템, 애플리케이션 및 AWS 서비스의 로그를 확장성이 뛰어난 단일 서비스로 중앙 집중화할 수 있습니다. 자세한 내용은 *Amazon CloudWatch Logs 사용 설명서*의 [로그 그룹 및 로그 스트림 작업](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)을 참조하세요.
+ Amazon Data Firehose 

  EventBridge는 로그를 Firehose 전송 스트림에 전송합니다.

  Amazon Data Firehose는 지원되는 타사 서비스 공급자가 소유한 사용자 지정 HTTP 엔드포인트 또는 HTTP 엔드포인트뿐만 아니라 특정 AWS 서비스와 같은 대상으로 실시간 스트리밍 데이터를 제공하기 위한 완전관리형 서비스입니다. 자세한 내용은 *Amazon Data Firehose 사용 안내서*의 [Amazon Data Firehose 전송 스트림 생성](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)을 참조하세요.
+ Amazon S3 

  EventBridge는 로그를 Amazon S3 객체로 지정된 버킷에 전송합니다.

  Amazon S3는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. 자세한 내용은 *Amazon Simple Storage Service 사용 설명서*의 [Amazon S3에서 객체 업로드, 다운로드 및 작업](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html)을 참조하세요.

## 이벤트 버스에 대한 로깅 작동 방식
<a name="eb-event-logs-overview"></a>

EventBridge는 다음에 대한 로그를 생성합니다.
+ 이벤트 버스의 규칙과 일치하는 모든 AWS 서비스 이벤트
+ 이벤트가 성공적으로 수집되었는지 또는 규칙과 일치하는지 여부에 관계없이 다음 메서드에 의해 전송되는 모든 이벤트:
  + [파트너 이벤트 소스](eb-saas.md)의 이벤트
  + [아카이브에서 재생되는](eb-archive.md) 이벤트
  + [`PutEvents`](eb-putevents.md)를 통해 버스로 전송되는 이벤트

EventBridge는 [관리형 규칙](eb-rules.md#eb-rules-managed)과만 일치하는 이벤트를 로깅하지 않습니다.

각 선택한 로그 대상으로 전송되는 로그 데이터는 동일합니다.

선택한 대상으로 EventBridge가 전송하는 로그를 다음과 같은 방법으로 맞춤 설정할 수 있습니다.
+ 선택한 로그 대상으로 EventBridge가 로그를 전송하는 단계를 결정하는 *로그 수준*을 지정할 수 있습니다. 자세한 내용은 [이벤트 버스 로그 수준 지정](#eb-event-bus-logs-level) 단원을 참조하십시오.
+ EventBridge에 다음과 같은 보다 세분화된 정보가 포함되는지 여부를 지정할 수 있습니다.
  + 이벤트 세부 정보
  + 대상 입력 정보
  + 요청 상태 정보

  자세한 내용은 [이벤트 버스 로그에 세부 데이터 포함](#eb-event-logs-data) 단원을 참조하십시오.

### 로그 전송 고려 사항
<a name="eb-event-logs-delivery"></a>

이벤트 버스에 대한 로깅을 구성할 때 다음 사항을 고려해야 합니다.
+ 이벤트 버스 로그 레코드는 최대한 전송하겠지만 항상 모든 레코드가 전송된다고 보장할 수는 없습니다. 이벤트 버스에 대해 적절히 로깅이 구성된 대부분의 요청은 로그 레코드가 전송됩니다. 모든 이벤트 버스 로깅이 제때 전송될 것이라고 보장할 수는 없습니다.
+ 경우에 따라 이벤트 버스 로그 레코드 자체를 전송하면 이벤트가 생성되고 EventBridge로 전송되어 로그 레코드 전송이 중단될 수 있습니다. 이러한 이유로 EventBridge는 다음 이벤트를 로깅하지 않습니다.
  + AWS KMS `[Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)` 고객 관리형 키를 사용하여 암호화된 로그 레코드가 로그 대상으로 전송될 때 생성되는 및 `[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)` 이벤트입니다.
  + 이벤트 버스 로그를 전송하여 생성된 Firehose의 `[PutRecordBatch](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html)` 이벤트입니다.
+ S3 로그 대상의 경우 [EventBridge에 대한 이벤트 알림](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications-eventbridge.html)이 활성화된 대상 버킷을 지정하면 로그 전송이 중단될 수 있으므로 권장되지 않습니다.

### 로그 암호화
<a name="eb-event-logs-encryption"></a>

로그를 전송할 때 EventBridge는 이벤트 버스에 지정된 KMS 키로 각 로그 레코드의 `detail` 및 `error` 섹션을 암호화합니다. 전송된 레코드는 복호화된 다음 로그 대상에 지정된 KMS 키로 다시 암호화됩니다.

자세한 내용은 [이벤트 버스 로그 암호화](encryption-bus-logs.md) 단원을 참조하십시오.

### 이벤트 버스 로깅 권한 지정
<a name="eb-event-logs-permission"></a>

이벤트 버스에서 로깅을 활성화하려면 EventBridge가 해당 버스에서 로그를 전송할 수 있는 권한을 부여해야 합니다. 이벤트 버스에 **AllowVendedLogDeliveryForResource**를 부여하는 정책을 추가합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ServiceLevelAccessForLogDelivery",
            "Effect": "Allow",
            "Action": [
                "events:AllowVendedLogDeliveryForResource"
            ],
            "Resource": "arn:aws:events:us-east-1:123456789012:event-bus/my-event-bus*"
        }
    ]
}
```

------

자세한 내용은 *CloudWatch Logs 사용 설명서*의 [서비스 지정 권한](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions)을 참조하세요.

## 이벤트 버스 로그 수준 지정
<a name="eb-event-bus-logs-level"></a>

EventBridge가 선택한 로그 대상에 로깅하는 이벤트 처리 단계의 유형을 지정할 수 있습니다.

로그에 포함할 세부 정보 수준을 다음 중에서 선택합니다. 로그 수준은 이벤트 버스에 지정된 모든 로그 대상에 적용됩니다. 각 로그 수준에는 이전 로그 수준의 단계가 포함됩니다.
+ **OFF** - EventBridge는 로그를 전송하지 않습니다. 기본값입니다.
+ **ERROR** - EventBridge는 이벤트 처리 및 대상 전송 중에 생성된 오류와 관련된 모든 로그를 전송합니다.
+ **INFO** - EventBridge는 오류와 관련된 모든 로그와 이벤트 처리 중에 수행되는 주요 단계를 전송합니다.
+ **TRACE** - EventBridge는 이벤트 처리의 모든 단계에서 생성된 모든 로그를 전송합니다.

아래는 각 로그 수준에 포함된 이벤트 처리 단계를 나타낸 표입니다.


| 단계 | TRACE | INFO | 오류 | OFF | 
| --- | --- | --- | --- | --- | 
|  이벤트 수집됨  | x | x |  |  | 
|  이벤트 수집 실패  | x | x | x |  | 
|  이벤트 수신됨  | x |  |  |  | 
|  간접 호출 시도 시작됨  | x |  |  |  | 
|  간접 호출 시도 영구 실패  | x | x | x |  | 
|  간접 호출 시도 재시도 가능 실패  | x | x | x |  | 
|  간접 호출 시도 성공  | x |  |  |  | 
|  간접 호출 시도 스로틀링됨  | x | x | x |  | 
|  간접 호출 DLQ  | x | x | x |  | 
|  간접 호출 실패  | x | x | x |  | 
|  간접 호출 시작됨  | x | x |  |  | 
|  간접 호출 성공  | x | x |  |  | 
|  간접 호출 스로틀 시작됨  | x | x | x |  | 
|  일치하는 규칙 없음  | x | x |  |  | 
|  규칙 일치   | x | x |  |  | 
|  규칙 일치 시작됨   | x |  |  |  | 

## 이벤트 버스 로그에 세부 데이터 포함
<a name="eb-event-logs-data"></a>

EventBridge가 생성하는 로그에 더 세분화된 정보를 포함하도록 EventBridge를 지정할 수 있습니다. 이 데이터는 문제 해결 및 디버깅에 유용할 수 있습니다. 이 옵션을 선택하면 EventBridge는 지정된 모든 로그 대상의 관련 레코드에 이 데이터를 포함합니다.

포함되는 세부 정보는 다음과 같습니다.
+ `event_detail`: 이벤트 자체의 세부 정보입니다.
+ `target_input`: EventBridge가 대상으로 보내는 요청입니다.
+ `target_properties`: 

## 이벤트 버스 로그에서 데이터 잘라내기
<a name="eb-event-logs-data-truncation"></a>

로그 대상 제약으로 인해 EventBridge는 로그 레코드를 1MB로 제한합니다. 로그 레코드가 이 제한을 초과하면 EventBridge는 다음 필드를 다음 순서로 제거하여 레코드를 잘라냅니다.
+ `target_input`
+ `target_properties`
+ `target_response_body`

EventBridge는 필요한 경우 다음 로그 레코드 유형에서 `event_detail` 필드를 제거합니다.
+ `EVENT_RECEIVED`
+ `EVENT_INGESTED`
+ `EVENT_INGESTED_FAILED`
+ `RULE_MATCH_STARTED`

잘라내야 하는 경우 EventBridge는 전체 필드를 제거합니다.

EventBridge가 이벤트에서 필드를 잘라내는 경우 `dropped_fields` 필드에는 삭제된 데이터 필드 목록이 포함됩니다.

## 이벤트 버스 로그의 오류 보고
<a name="eb-event-logs-errors"></a>

사용 가능한 경우 EventBridge에는 오류 상태를 나타내는 단계에 오류 데이터도 포함됩니다. 이러한 단계는 다음과 같습니다.
+ `EVENT_INGEST_FAILURE`
+ `INVOCATION_THROTTLE_START`
+ `INVOCATION_ATTEMPT_THROTTLE`
+ `INVOCATION_ATTEMPT_RETRYABLE_FAILURE`
+ `INVOCATION_ATTEMPT_PERMANENT_FAILURE`
+ `INVOCATION_FAILURE`
+ `INVOCATION_DLQ`

# 이벤트 버스에 대해 Amazon EventBridge가 로깅하는 내용
<a name="eb-event-logs-execution-steps"></a>

EventBridge가 이벤트를 처리하는 방법을 이해하면 로그를 사용하여 이벤트 버스 문제를 해결하거나 디버깅하는 데 도움이 될 수 있습니다.

로깅이 활성화된 경우 EventBridge는 이벤트가 처리될 때 여러 로그 레코드를 생성합니다.

다음은 이벤트를 처리할 때 EventBridge가 수행하는 주요 단계입니다.
+ 이벤트가 이벤트 버스로 전송됨

  EventBridge는 파트너 소스에서 전송되거나, 아카이브에서 재생되거나, 규칙과 일치하는지 여부에 관계없이 `PutEvents`를 사용하여 전송된 이벤트에 대한 로그를 생성합니다.
+ EventBridge는 이벤트가 버스의 규칙과 일치하는지 여부를 결정합니다.

  이벤트가 하나 이상의 규칙과 일치하면 EventBridge는 다음 단계로 진행합니다.

   AWS 이벤트가 규칙과 일치하지 않으면 EventBridge는 이벤트를 삭제하고 로그를 생성하지 않습니다.
+ EventBridge는 대상을 간접 호출합니다.

  EventBridge는 다음을 수행할 때까지 필요에 따라 대상 간접 호출을 재시도합니다.
  + 이벤트가 성공적으로 전송되었습니다.
  + 재시도 정책이 만료되거나 영구 실패가 발생하는 경우와 같이 이벤트 전송이 실패합니다.

    전송에 실패하면 EventBridge는 지정된 경우 Dead Letter Queue(DLQ)로 이벤트를 보내거나 지정된 DLQ가 없는 경우 이벤트를 삭제합니다.

아래 다이어그램은 각 단계의 로그 수준과 함께 가능한 모든 단계가 표시된 이벤트 처리 흐름의 세부 보기를 보여줍니다.

전체 단계 목록은 [로그 수준 지정](eb-event-bus-logs.md#eb-event-bus-logs-level) 섹션을 참조하세요.

![\[EventBridge는 버스로 전송되는 각 이벤트를 처리하는 단계를 진행합니다.\]](http://docs.aws.amazon.com/ko_kr/eventbridge/latest/userguide/images/bus_logging_eventbridge_conceptual.svg)


# Amazon EventBridge이벤트 버스 로그 스키마
<a name="eb-event-logs-schema"></a>

다음 참조에서는 EventBridge 이벤트 버스 로그 레코드의 스키마를 자세히 설명합니다. 각 레코드는 EventBridge가 특정 이벤트를 처리하는 단계를 나타냅니다.

자세한 내용은 [이벤트 버스 로깅 ](eb-event-bus-logs.md) 단원을 참조하십시오.

```
{    
    "resource\$1arn": "arn:aws:events:region:account:event-bus/bus-name",
    "request\$1id": "guid", 
    "event\$1id": "guid", 
    "invocation\$1id": "guid",
    "message\$1timestamp\$1ms": "date_time",    
    "message\$1type": "step",  
    "log\$1level": "TRACE | INFO | ERROR",
    "details": {
      },
    "error": {  
        "http\$1status\$1code": code,  
        "error\$1message": "error_message",  
        "aws\$1service": "service_name",  
        "request\$1id": "service_request_id"  
    }  
}
```

**resource\$1arn**  <a name="event-log-schema-resource-arn"></a>
이벤트 버스의 Amazon 리소스 이름(ARN)입니다.

**request\$1id**  <a name="event-log-schema-request-id"></a>
요청의 ID입니다.

**event\$1id**  <a name="event-log-schema-event-id"></a>
처리 중인 이벤트의 ID입니다.

**invocation\$1id**  <a name="event-log-schema-invocation-id"></a>
이벤트에 대한 간접 호출의 ID입니다.

**message\$1timestamp\$1ms**  <a name="event-log-schema-timestamp"></a>
로그 이벤트가 발생한 날짜 및 시간입니다.  
단위: 밀리초

**message\$1type**  <a name="event-log-schema-message-type"></a>
로그 레코드가 생성된 이벤트 처리 단계입니다.  
이벤트 처리 시 EventBridge가 수행하는 단계에 대한 자세한 내용은 [이벤트 버스에 대해 Amazon EventBridge가 로깅하는 내용](eb-event-logs-execution-steps.md) 섹션을 참조하세요.  
*유효한 값:*  
+ `EVENT_INGEST_FAILURE`
+ `EVENT_INGEST_SUCCESS`
+ `EVENT_RECEIPT`
+ `INVOCATION_ATTEMPT_PERMANENT_FAILURE`
+ `INVOCATION_ATTEMPT_RETRYABLE_FAILURE`
+ `INVOCATION_ATTEMPT_START`
+ `INVOCATION_ATTEMPT_SUCCESS`
+ `INVOCATION_ATTEMPT_THROTTLE`
+ `INVOCATION_DLQ`
+ `INVOCATION_FAILURE`
+ `INVOCATION_START`
+ `INVOCATION_SUCCESS`
+ `INVOCATION_THROTTLE_START`
+ `NO_STANDARD_RULES_MATCHED`
+ `RULE_MATCH`
+ `RULE_MATCH_START`

**log\$1level**  <a name="event-log-schema-loglevel"></a>
이벤트 버스 로그에 지정된 세부 수준입니다.  
*유효한 값*: `ERROR` \$1 `INFO` \$1 `TRACE`  
자세한 내용은 [이벤트 버스 로그 수준 지정](eb-event-bus-logs.md#eb-event-bus-logs-level) 단원을 참조하십시오.

**details**  <a name="event-log-schema-details"></a>
단계 세부 정보 유형에 따라 단계 세부 정보를 포함합니다.  
아래 나열된 필드는 다음 메시지 유형에 대해 반환됩니다.  
+ `EVENT_INGEST_SUCCESS`
+ `EVENT_INGEST_FAILURE`
+ `EVENT_RECEIPT`
+ `RULE_MATCH_START`

```
{
  "caller_account_id": "account_id",
  "source_time_ms": date_time,
  "source": "source",
  "detail_type": " type",
  "resources": [],
  "event_detail": "{}"
}
```
아래 나열된 필드는 다음 메시지 유형에 대해 반환됩니다.  
+ `RULE_MATCH`

```
{
  "rule_arn": "ARN",
  "target_arns": [
    "ARN"
  ],
  "invocation_ids": [
    "guid"
  ]
}
```
아래 나열된 필드는 다음 메시지 유형에 대해 반환됩니다.  
+ `INVOCATION_ATTEMPT_START`
+ `INVOCATION_START`
+ `INVOCATION_THROTTLE_START`

```
{
  "rule_arn": "ARN",
  "role_arn": "ARN",
  "target_arn": "ARN",
  "attempt_count": Integer,
  "target_input": "string",
  "target_properties": "string"
}
```
아래 나열된 필드는 다음 메시지 유형에 대해 반환됩니다.  
+ `INVOCATION_DLQ`
+ `INVOCATION_FAILURE`
+ `INVOCATION_SUCCESS`

```
{
  "rule_arn": "ARN",
  "role_arn": "ARN",
  "target_arn": "ARN",
  "target_input": "string",
  "target_properties": "string",
  "total_attempts": Integer,
  "final_invocation_status": "status",
  "ingestion_to_start_latency_ms": Integer,
  "ingestion_to_complete_latency_ms": Integer,
  "ingestion_to_success_latency_ms": Integer,
  "target_duration_ms": Integer,
  "target_response_body": "string"
}
```
`ingestion_to_start_latency_ms` 및 `ingestion_to_complete_latency_ms`는 첫 번째 간접 호출 시도에만 포함됩니다. `ingestion_to_success_latency_ms` 필드는 성공적인 간접 호출에만 포함됩니다.  
아래 나열된 필드는 다음 메시지 유형에 대해 반환됩니다.  
+ `INVOCATION_ATTEMPT_PERMANENT_FAILURE`
+ `INVOCATION_ATTEMPT_RETRYABLE_FAILURE`
+ `INVOCATION_ATTEMPT_SUCCESS`
+ `INVOCATION_ATTEMPT_THROTTLE`

```
{
  "rule_arn": "ARN",
  "role_arn": "ARN",
  "target_arn": "ARN",
  "attempt_type": "FIRST | THROTTLE | RETRY",
  "attempt_count": Integer,
  "invocation_status": "status",
  "target_duration_ms": Integer,
  "target_response_body": "string"
}
```

**dropped\$1fields**  <a name="event-log-schema-dropped_fields"></a>
레코드를 크기 제한 1MB 미만으로 유지하기 위해 EventBridge에서 잘라낸 데이터 필드 목록입니다.  
EventBridge는 세부 정보 필드를 잘라낸 경우 이 필드를 포함하지 않습니다.  
자세한 내용은 [이벤트 버스 로그에서 데이터 잘라내기](eb-event-bus-logs.md#eb-event-logs-data-truncation) 단원을 참조하십시오.

**오류**  <a name="event-log-schema-error"></a>
이 단계에서 생성된 모든 오류에 대한 정보를 포함합니다. 오류의 경우 EV에는 항상 다음 필드가 포함됩니다.  
+ `error_message`
+ `aws_service`
사용 가능한 경우 다음 필드도 포함됩니다.  
+ `request_id`
+ `http_status_code`
이 단계에서 오류가 생성되지 않은 경우 EventBridge는 로그 레코드에이 필드를 포함하지 않습니다.    
**http\$1status\$1code**  <a name="event-log-schema-http-status-code"></a>
호출된 서비스에서 반환한 HTTP 상태 코드입니다.  
**error\$1message**  <a name="event-log-schema-message"></a>
호출된 서비스에서 반환된 오류 메시지입니다.  
**aws\$1service**  <a name="event-log-schema-aws-service"></a>
호출된 서비스의 이름입니다.  
**request\$1id**  <a name="event-log-schema-error-request-id"></a>
호출된 서비스에서 이 요청에 대한 요청 ID입니다.