

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

# 자습서: 입력 변환기를 사용하여 EventBridge에서 이벤트 변환
<a name="eb-input-transformer-tutorial"></a>

EventBridge의 [입력 변환기](eb-transform-target-input.md)를 사용하여 이벤트를 [규칙](eb-rules.md) 대상으로 보내기 전에 [이벤트](eb-events.md)의 텍스트를 사용자 지정할 수 있습니다.

이렇게 하려면 이벤트에서 JSON 경로를 정의하고 그 출력을 다른 변수에 할당합니다. 그런 다음 입력 템플릿에서 이러한 변수를 사용할 수 있습니다. < 및 > 문자는 이스케이프할 수 없습니다. 자세한 내용은 [Amazon EventBridge 입력 변환](eb-transform-target-input.md) 섹션을 참조하세요.

**참고**  
변수를 지정하여 이벤트에 존재하지 않는 JSON 경로를 일치시키는 경우 변수가 생성되지 않기 때문에 출력에 나타나지 않습니다.

이 자습서에서는 `detail-type: "customerCreated"`와 이벤트를 일치시키는 규칙을 만듭니다. 입력 변환기는 `type` 변수를 이벤트의 \$1.detail-type JSON 경로에 매핑합니다. 그런 다음 EventBridge는 변수를 입력 템플릿 "This event was <type>."에 넣습니다. 결과는 다음 Amazon SNS 메시지입니다.

```
"This event was of customerCreated type."
```

**Topics**
+ [1단계: Amazon SNS 주제 생성](#eb-input-transformer-tutorial-create-topic)
+ [2단계: Amazon SNS 구독 생성](#eb-input-transformer-tutorial-create-sns)
+ [3단계: 규칙 생성](#eb-input-transformer-create-rule)
+ [4단계: 테스트 이벤트 보내기](#eb-input-transformer-send-test-events)
+ [5단계: 성공 확인](#success)
+ [6단계: 리소스 정리](#cleanup)

## 1단계: Amazon SNS 주제 생성
<a name="eb-input-transformer-tutorial-create-topic"></a>

EventBridge에서 이벤트를 수신할 주제를 생성합니다.

**주제를 생성하려면**

1. [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)에서 Amazon SNS 콘솔을 엽니다.

1. 탐색 창에서 **주제**를 선택합니다.

1. **주제 생성**을 선택합니다.

1. **유형**에서 **표준**을 선택합니다.

1. 주제 이름으로 **eventbridge-IT-test**를 입력합니다.

1. **주제 생성**을 선택합니다.

## 2단계: Amazon SNS 구독 생성
<a name="eb-input-transformer-tutorial-create-sns"></a>

변환된 정보가 포함된 이메일을 받기 위한 구독을 생성합니다.

**구독을 생성하려면**

1. [https://console.aws.amazon.com/sns/v3/home](https://console.aws.amazon.com/sns/v3/home)에서 Amazon SNS 콘솔을 엽니다.

1. 탐색 창에서 **Subscriptions**를 선택합니다.

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

1. **주제 ARN**에서 1단계에서 생성한 주제를 선택합니다. 이 자습서에서는 **eventbridge-IT-test**를 선택합니다.

1. **프로토콜**에서 **이메일**을 선택합니다.

1. **엔드포인트**에 이메일 주소를 입력합니다.

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

1. AWS 알림을 통해 받은 이메일에서 **구독 확인**을 선택하여 구독을 확인합니다. 

## 3단계: 규칙 생성
<a name="eb-input-transformer-create-rule"></a>

입력 변환기를 사용하여 대상으로 이동하는 인스턴스 상태 정보를 사용자 지정하는 규칙을 생성합니다.

**규칙을 생성하려면**

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

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

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

1. 규칙에 대해 이름과 설명을 입력하세요. 예를 들어, 규칙의 이름을 `ARTestRule`로 지정합니다.

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

1. **규칙 유형**에서 **이벤트 패턴이 있는 규칙**을 선택합니다.

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

1. **이벤트 소스**에서 **기타**를 선택합니다.

1. **이벤트 패턴**에 다음을 입력합니다.

   ```
   {
     "detail-type": [
       "customerCreated"
     ]
   }
   ```

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

1. **대상 유형**에서 **AWS서비스**를 선택합니다.

1. **대상 선택**의 경우 드롭다운 목록에서 **SNS 주제**를 선택합니다.

1. **주제**에서 1단계에서 생성한 Amazon SNS 주제를 선택합니다. 이 자습서에서는 **eventbridge-IT-test**를 선택합니다.

1. **추가 설정**에서 다음을 수행합니다.

   1. **대상 입력 구성**의 경우 드롭다운 목록에서 **입력 변환기**를 선택합니다.

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

   1. **샘플 이벤트**의 경우 다음을 입력합니다.

      ```
      {
        "detail-type": "customerCreated"
      }
      ```

   1. **대상 입력 변환기**의 경우 다음을 수행합니다.

      1. **입력 경로**에 다음을 입력합니다.

         ```
         {"detail-type":"$.detail-type"}
         ```

      1. **입력 템플릿**에는 다음 사항을 입력합니다.

         ```
         "This event was of <detail-type> type."
         ```

   1. **확인**을 선택합니다.

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

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

1. 규칙의 세부 정보를 검토하고 **규칙 생성**을 선택합니다.

## 4단계: 테스트 이벤트 보내기
<a name="eb-input-transformer-send-test-events"></a>

SNS 주제와 규칙을 설정했으니 이제 규칙이 제대로 작동하는지 확인하기 위해 테스트 이벤트를 전송하겠습니다.

**테스트 이벤트를 보내려면(콘솔)**

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

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

1. **기본 이벤트 버스** 타일에서 **액션**, **이벤트 전송**을 선택합니다.

1. 이벤트 소스를 입력합니다. 예를 들어 `TestEvent`입니다.

1. **세부 정보 유형**에는 `customerCreated`를 입력합니다.

1. **이벤트 세부 정보**에는 `{}`를 입력합니다.

1. **전송**를 선택합니다.

## 5단계: 성공 확인
<a name="success"></a>

예상 출력과 일치하는 AWS 알림 이메일을 받으면 자습서를 성공적으로 완료한 것입니다.

## 6단계: 리소스 정리
<a name="cleanup"></a>

이 자습서 용도로 생성한 리소스를 보관하고 싶지 않다면 지금 삭제할 수 있습니다. 더 이상 사용하지 않는 AWS 리소스를 삭제하면 AWS 계정에 불필요한 요금이 발생하는 것을 방지할 수 있습니다.

**SNS 주제를 삭제하려면**

1. SNS 콘솔의 [주제 페이지](https://console.aws.amazon.com/sns/v3/home#/topics)를 엽니다.

1. 생성한 주제를 선택합니다.

1. **삭제**를 선택합니다.

1. **delete me**을 입력합니다.

1. **삭제**를 선택합니다.

**SNS 구독을 삭제하려면**

1. SNS 콘솔의 [구독 페이지](https://console.aws.amazon.com/sns/v3/home#/subscriptions)를 엽니다.

1. 생성한 구독을 선택합니다.

1. **삭제**를 선택합니다.

1. **삭제**를 선택합니다.

**EventBridge 규칙을 삭제하려면**

1. EventBridge 콘솔의 [규칙 페이지](https://console.aws.amazon.com/events/home#/rules)를 엽니다.

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

1. **삭제**를 선택합니다.

1. **삭제**를 선택합니다.