

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

# 자습서: Amazon EventBridge의 이벤트 아카이브 및 재생
<a name="eb-tutorial-archive-replay"></a>

EventBridge를 사용하면 [규칙](eb-rules.md)을 사용하여 [이벤트](eb-events.md)를 특정 [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)함수로 라우팅할 수 있습니다.

이 자습서에서는 Lambda 콘솔을 사용하여 EventBridge 규칙의 대상으로 사용할 함수를 생성합니다. 그런 다음 EventBridge 콘솔을 사용하여 테스트 이벤트를 보관할 [아카이브](eb-archive-event.md)와 규칙을 생성합니다. 해당 아카이브에 이벤트가 있으면 [다시 재생](eb-replay-archived-event.md)해야 합니다.

**Topics**
+ [1단계: Lambda 함수 생성](#eb-create-lambda-function)
+ [2단계: 아카이브 생성](#eb-ar-create-archive)
+ [3단계: 규칙 생성](#eb-ar-create-rule)
+ [4단계: 테스트 이벤트 보내기](#eb-ar-send-test-events)
+ [5단계: 다시 재생 이벤트](#eb-ar-replay-events)
+ [6단계: 리소스 정리](#cleanup)

## 1단계: Lambda 함수 생성
<a name="eb-create-lambda-function"></a>

먼저 이벤트를 기록하는 Lambda 함수를 생성합니다.

**Lambda 함수를 생성하려면**

1. [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)에서 AWS Lambda 콘솔을 엽니다.

1. **함수 생성**을 선택합니다.

1. **새로 작성**을 선택합니다.

1. Lambda 함수의 이름과 설명을 입력합니다. 예를 들어 함수 이름을 `LogScheduledEvent`로 지정합니다.

1. 나머지 옵션은 기본값으로 두고 **함수 생성**을 선택합니다.

1. 함수 페이지의 **코드** 탭에서 **index.js**를 두 번 클릭합니다.

1. 기존 JavaScript 코드를 다음 코드로 바꿉니다.

   ```
   'use strict';
   
   exports.handler = (event, context, callback) => {
       console.log('LogScheduledEvent');
       console.log('Received event:', JSON.stringify(event, null, 2));
       callback(null, 'Finished');
   };
   ```

1. **배포(Deploy)**를 선택합니다.

## 2단계: 아카이브 생성
<a name="eb-ar-create-archive"></a>

다음으로, 모든 테스트 이벤트를 보관할 아카이브를 생성합니다.

**아카이브를 생성하려면**

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

1. 탐색 창에서 **아카이브**를 선택합니다.

1. **아카이브 생성**을 선택합니다.

1. 아카이브 이름 및 설명을 입력합니다. 예를 들어, 아카이브 이름을 `ArchiveTest`로 지정합니다.

1. 나머지 옵션은 기본값으로 두고 **다음**을 선택합니다.

1. **아카이브 생성**을 선택합니다.

## 3단계: 규칙 생성
<a name="eb-ar-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. **대상 선택**의 경우 드롭다운 목록에서 **Lambda 함수**를 선택합니다.

1. **함수**의 경우 **1단계: Lambda 함수 생성** 섹션에서 생성한 Lambda 함수를 선택합니다. 이 예시에서는 `LogScheduledEvent`를 선택합니다.

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

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

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

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

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

**참고**  
이벤트가 아카이브에 도달하는 데 시간이 걸릴 수 있습니다.

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

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="eb-ar-replay-events"></a>

테스트 이벤트가 아카이브에 저장되면 다시 재생할 수 있습니다.

**보관된 이벤트를 재생하려면(콘솔)**

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

1. 탐색 창에서 **재생**을 선택합니다.

1. **다시 재생 새로 시작**을 선택합니다.

1. 다시 재생의 이름 및 설명을 입력합니다. 예를 들어, 다시 재생의 이름을 `ReplayTest`로 지정합니다.

1. **소스**의 경우 **2단계: 아카이브 생성** 섹션에서 생성한 아카이브를 선택합니다.

1. **다시 재생 기간**의 경우 다음과 같이 하세요.

   1.  **시작 시간**에서 테스트 이벤트를 전송한 날짜와 해당 이벤트를 전송하기 전의 시간을 선택합니다. 예: `2021/08/11` 및 `08:00:00`.

   1.  **종료 시간**에서 현재 날짜 및 시간을 선택합니다. 예: `2021/08/11` 및 `09:15:00`.

1. **재생 시작**을 선택합니다.

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

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

**Lambda 함수를 삭제하려면**

1. Lambda 콘솔의 [함수 페이지](https://console.aws.amazon.com/lambda/home#/functions)를 엽니다.

1. 생성한 함수를 선택합니다.

1. **작업**(Actions), **삭제**(Delete)를 선택합니다.

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

**EventBridge 아카이브를 삭제하려면**

1. EventBridge 콘솔의 [아카이브 페이지](https://console.aws.amazon.com/events/home#/archives)를 엽니다.

1. 생성한 아카이브를 선택합니다.

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

1. 아카이브 이름을 입력하고 **삭제**를 선택합니다.

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

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

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

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

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