

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

# Amazon EventBridge 파이프 생성
<a name="eb-pipes-create"></a>

EventBridge 파이프를 사용하면 고급 이벤트 변환 및 보강을 비롯하여 소스와 대상 간의 지점 간 통합을 생성할 수 있습니다.

EventBridge 파이프를 생성하려면 다음 단계를 수행합니다.

1. [소스 지정](#pipes-configure-source)

1. [이벤트 필터링 구성(선택 사항)](#pipes-configure-filtering)

1. [이벤트 보강 정의(선택 사항)](#pipes-define-enrichment)

1. [대상 구성](#pipes-configure-target)

1. [파이프 설정 구성](#pipes-configure-pipe-settings)

샘플 파이프를 빠르게 설정하려면 [시작하기: Amazon EventBridge의 파이프 생성](pipes-get-started.md) 섹션을 참조하세요. 이 주제에서는 CloudFormation 를 사용하여 파이프 및 관련 리소스를 배포하고 파이프 기능에 대한 개요를 안내합니다.

 AWS CLI를 사용하여 파이프를 생성하는 방법에 대한 자세한 내용은 *AWS CLI 명령* 참조의 [create-pipe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/pipes/create-pipe.html)를 참조하세요.

## 소스 지정
<a name="pipes-configure-source"></a>

시작하려면 파이프에서 이벤트를 수신할 소스를 지정합니다.

**콘솔을 사용하여 파이프 소스를 지정하려면**

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

1. 탐색 창에서 **파이프**를 선택합니다.

1. **파이프 생성**을 선택합니다.

1. 파이프 이름을 입력합니다.

1. (선택 사항) 파이프에 대한 설명을 추가합니다.

1. **파이프 만들기** 탭의 **소스**에서 이 파이프에 지정할 소스 유형을 선택하고 소스를 구성합니다.

   구성 속성은 선택한 소스 유형에 따라 다릅니다.

------
#### [ Confluent ]

**콘솔을 사용하여 Confluent Cloud 스트림을 소스로 구성**

   1. **소스**의 경우 **Confluent Cloud**를 선택합니다.

   1. **부트스트랩 서버**의 경우 브로커의 `host:port` 쌍 주소를 입력합니다.

   1. **주제 이름**에 파이프가 읽을 주제의 이름을 입력합니다.

   1. (선택 사항) **VPC**에서 원하는 VPC를 선택합니다. 그런 다음, **VPC 서브넷**에서 원하는 서브넷을 선택합니다. **VPC 보안 그룹**에서 보안 그룹을 선택합니다.

   1. **인증 - 선택 사항**의 경우 **인증 사용**을 설정하고 다음을 수행합니다.

      1. **인증 방법**에서 인증 유형을 선택합니다.

      1. **비밀 키**에서 비밀 키를 선택합니다.

      자세한 내용은 Confluent 설명서의 [Confluent Cloud 리소스에 인증하기](https://docs.confluent.io/cloud/current/access-management/authenticate/overview.html)를 참조하세요.

   1. (선택 사항) **추가 설정 - 선택 사항**에서 다음을 수행합니다.

      1. **시작 위치**에는 다음 중 하나를 선택합니다.
         + **최신** - 샤드에 있는 최근 레코드로 스트림 읽기를 시작합니다.
         + **트림 호라이즌** - 샤드에서 트리밍되지 않은 마지막 레코드로 스트림 읽기를 시작합니다. 샤드에서 가장 오래된 레코드입니다.

      1. **배치 크기 - 선택 사항**에는 각 배치의 최대 레코드 수를 입력합니다. 기본값은 100입니다.

      1. **배치 기간 - 선택 사항**의 경우 진행하기 전에 레코드를 수집할 최대 시간(초)을 입력합니다.

------
#### [ DynamoDB ]

   1. **소스**에서 **DynamoDB**를 선택합니다.

   1. **DynamoDB 스트림**의 경우 소스로 사용할 스트림을 선택합니다.

   1. **시작 위치**에는 다음 중 하나를 선택합니다.
      + **최신** - 샤드에 있는 최근 레코드로 스트림 읽기를 시작합니다.
      + **트림 호라이즌** - 샤드에서 트리밍되지 않은 마지막 레코드로 스트림 읽기를 시작합니다. 샤드에서 가장 오래된 레코드입니다.

   1. (선택 사항) **추가 설정 - 선택 사항**에서 다음을 수행합니다.

      1. **배치 크기 - 선택 사항**에는 각 배치의 최대 레코드 수를 입력합니다. 기본값은 10입니다.

      1. **배치 기간 - 선택 사항**의 경우 진행하기 전에 레코드를 수집할 최대 시간(초)을 입력합니다.

      1. **샤드당 동시 배치 - 선택 사항**에는 동시에 읽을 수 있는 동일한 샤드의 배치 수를 입력합니다.

      1. **부분 배치 항목 실패 시**의 경우 다음을 선택합니다.
         + **AUTOMATIC\$1BISECT** - 각 배치를 반으로 나누고 모든 레코드가 처리되거나 배치에 하나의 실패한 메시지가 남을 때까지 절반마다 다시 시도합니다.
**참고**  
**AUTOMATIC\$1BISECT**를 선택하지 않으면 실패한 특정 레코드를 반환할 수 있으며 해당 레코드만 다시 시도됩니다.

------
#### [ Kinesis ]

**콘솔을 사용하여 Kinesis 소스를 구성하려면**

   1. **소스**에서 **Kinesis**를 선택합니다.

   1. **Kinesis 스트림**의 경우 소스로 사용할 스트림을 선택합니다.

   1. **시작 위치**에는 다음 중 하나를 선택합니다.
      + **최신** - 샤드에 있는 최근 레코드로 스트림 읽기를 시작합니다.
      + **트림 호라이즌** - 샤드에서 트리밍되지 않은 마지막 레코드로 스트림 읽기를 시작합니다. 샤드에서 가장 오래된 레코드입니다.
      + **타임 스탬프에서** - 지정된 시간부터 스트림 읽기를 시작합니다. **타임스탬프**에서 YYYY/MM/DD 및 hh:mm:ss 형식으로 데이터와 시간을 입력합니다.

   1. (선택 사항) **추가 설정 - 선택 사항**에서 다음을 수행합니다.

      1. **배치 크기 - 선택 사항**에는 각 배치의 최대 레코드 수를 입력합니다. 기본값은 10입니다.

      1. (선택 사항) **배치 기간 - 선택 사항**의 경우 진행하기 전에 레코드를 수집할 최대 시간(초)을 입력합니다.

      1. **샤드당 동시 배치 - 선택 사항**에는 동시에 읽을 수 있는 동일한 샤드의 배치 수를 입력합니다.

      1. **부분 배치 항목 실패 시**의 경우 다음을 선택합니다.
         + **AUTOMATIC\$1BISECT** - 각 배치를 반으로 나누고 모든 레코드가 처리되거나 배치에 하나의 실패한 메시지가 남을 때까지 절반마다 다시 시도합니다.
**참고**  
**AUTOMATIC\$1BISECT**를 선택하지 않으면 실패한 특정 레코드를 반환할 수 있으며 해당 레코드만 다시 시도됩니다.

------
#### [ Amazon MQ ]

**콘솔을 사용하여 Amazon MQ 소스를 구성하려면**

   1. **소스**에서 **Amazon MQ**를 선택합니다.

   1. **Amazon MQ 브로커**의 경우 소스로 사용할 스트림을 선택합니다.

   1. **대기열 이름**에 파이프가 읽을 대기열의 이름을 입력합니다.

   1. **인증 방법**으로 **BASIC\$1AUTH**를 선택합니다.

   1. **비밀 키**에서 비밀 키를 선택합니다.

   1. (선택 사항) **추가 설정 - 선택 사항**에서 다음을 수행합니다.

      1. **배치 크기 - 선택 사항**에는 각 배치의 최대 메시지 수를 입력합니다. 기본값은 100입니다.

      1. **배치 기간 - 선택 사항**의 경우 진행하기 전에 레코드를 수집할 최대 시간(초)을 입력합니다.

------
#### [ Amazon MSK ]

**콘솔을 사용하여 Amazon MSK 소스를 구성하려면**

   1. **소스**에서 **Amazon MSK**를 선택합니다.

   1. **Amazon MSK 클러스터**에서 사용하려는 클러스터를 선택합니다.

   1. **주제 이름**에 파이프가 읽을 주제의 이름을 입력합니다.

   1. (선택 사항) **소비자 그룹 ID - 선택 사항**에서 파이프를 조인할 소비자 그룹의 ID를 입력합니다.

   1. (선택 사항) **인증 - 선택 사항**의 경우 **인증 사용**을 설정하고 다음을 수행합니다.

      1. **인증 방법**에서 원하는 유형을 선택합니다.

      1. **비밀 키**에서 비밀 키를 선택합니다.

   1. (선택 사항) **추가 설정 - 선택 사항**에서 다음을 수행합니다.

      1. **배치 크기 - 선택 사항**에는 각 배치의 최대 레코드 수를 입력합니다. 기본값은 100입니다.

      1. **배치 기간 - 선택 사항**의 경우 진행하기 전에 레코드를 수집할 최대 시간(초)을 입력합니다.

      1. **시작 위치**에는 다음 중 하나를 선택합니다.
         + **최신** - 샤드에 있는 최근 레코드로 주제 읽기를 시작합니다.
         + **트림 호라이즌** - 샤드에서 트리밍되지 않은 마지막 레코드로 주제 읽기를 시작합니다. 샤드에서 가장 오래된 레코드입니다.
**참고**  
**트림 호라이즌**은 Apache Kafka의 **가장 빠른 항목**과 동일합니다.

------
#### [ Self managed Apache Kafka ]

**콘솔을 사용하여 자체 관리형 Apache Kafka 소스를 구성하려면**

   1. **소스**에서 **자체 관리형 Apache Kafka**를 선택합니다.

   1. **부트스트랩 서버**의 경우 브로커의 `host:port` 쌍 주소를 입력합니다.

   1. **주제 이름**에 파이프가 읽을 주제의 이름을 입력합니다.

   1. (선택 사항) **VPC**에서 원하는 VPC를 선택합니다. 그런 다음, **VPC 서브넷**에서 원하는 서브넷을 선택합니다. **VPC 보안 그룹**에서 보안 그룹을 선택합니다.

   1. (선택 사항) **인증 - 선택 사항**의 경우 **인증 사용**을 설정하고 다음을 수행합니다.

      1. **인증 방법**에서 인증 유형을 선택합니다.

      1. **비밀 키**에서 비밀 키를 선택합니다.

   1. (선택 사항) **추가 설정 - 선택 사항**에서 다음을 수행합니다.

      1. **시작 위치**에는 다음 중 하나를 선택합니다.
         + **최신** - 샤드에 있는 최근 레코드로 스트림 읽기를 시작합니다.
         + **트림 호라이즌** - 샤드에서 트리밍되지 않은 마지막 레코드로 스트림 읽기를 시작합니다. 샤드에서 가장 오래된 레코드입니다.

      1. **배치 크기 - 선택 사항**에는 각 배치의 최대 레코드 수를 입력합니다. 기본값은 100입니다.

      1. **배치 기간 - 선택 사항**의 경우 진행하기 전에 레코드를 수집할 최대 시간(초)을 입력합니다.

------
#### [ Amazon SQS ]

**콘솔을 사용하여 Amazon SQS 소스를 구성하려면**

   1. **소스**에서 **SQS**를 선택합니다.

   1. **SQS 대기열**의 경우 사용하려는 대기열을 선택합니다.

   1. (선택 사항) **추가 설정 - 선택 사항**에서 다음을 수행합니다.

      1. **배치 크기 - 선택 사항**에는 각 배치의 최대 레코드 수를 입력합니다. 기본값은 100입니다.

      1. **배치 기간 - 선택 사항**의 경우 진행하기 전에 레코드를 수집할 최대 시간(초)을 입력합니다.

------

## 이벤트 필터링 구성(선택 사항)
<a name="pipes-configure-filtering"></a>

소스에서 대상으로 이벤트의 하위 집합만 전송하도록 파이프에 필터링을 추가할 수 있습니다.

**콘솔을 사용하여 필터링을 구성하려면**

1. **필터링**을 선택합니다.

1. **샘플 이벤트 - 선택 사항**에는 이벤트 패턴을 작성하는 데 사용할 수 있는 샘플 이벤트가 표시되거나 **직접 입력**을 선택하여 자체 이벤트를 입력할 수 있습니다.

1. **이벤트 패턴**에서 이벤트를 필터링하는 데 사용할 이벤트 패턴을 입력합니다. 필터 구성에 대한 자세한 내용은 [Amazon EventBridge Pipes의 이벤트 필터링](eb-pipes-event-filtering.md)을 참조하세요.

   다음은 **City** 필드에 **Seattle** 값이 있는 이벤트만 보내는 이벤트 패턴의 예입니다.

   ```
   {
     "data": {
       "City": ["Seattle"]
     }
   }
   ```

이제 이벤트가 필터링되었으므로 파이프에 선택적 보강과 대상을 추가할 수 있습니다.

## 이벤트 보강 정의(선택 사항)
<a name="pipes-define-enrichment"></a>

보강을 위해 이벤트 데이터를 Lambda 함수, AWS Step Functions 상태 시스템, Amazon API Gateway 또는 API 대상으로 전송할 수 있습니다.

**보강을 선택하려면**

1. **보강**을 선택합니다.

1. **세부 정보**의 **서비스**에서 보강에 사용할 서비스 및 관련 설정을 선택합니다.

데이터를 개선하도록 전송하기 전에 데이터를 변환할 수도 있습니다.

**(선택 사항) 입력 변환기를 정의하려면**

1. **보강 입력 변환기 - 선택 사항**을 선택합니다.

1. **샘플 이벤트/이벤트 페이로드**에서 샘플 이벤트 유형을 선택합니다.

1. **변환기**에는 `"Event happened at <$.detail.field>."`와 같은 변환기 구문을 입력합니다. 여기서 `<$.detail.field>`는 샘플 이벤트의 필드에 대한 참조입니다. 샘플 이벤트의 필드를 두 번 클릭하여 변환기에 추가할 수도 있습니다.

1. **출력**의 경우 출력이 원하는 대로 표시되는지 확인합니다.

이제 데이터가 필터링되고 개선되었으므로 이벤트 데이터를 전송할 대상을 정의해야 합니다.

## 대상 구성
<a name="pipes-configure-target"></a>

**대상을 구성하려면**

1. [**Target**]을 선택합니다.

1. **세부 정보**의 **대상 서비스**에서 대상을 선택합니다. 표시되는 필드는 선택한 대상에 따라 달라집니다. 필요에 따라 이 대상 유형과 관련된 정보를 입력합니다.

데이터를 대상으로 전송하기 전에 데이터를 변환할 수도 있습니다.

**(선택 사항) 입력 변환기를 정의하려면**

1. **대상 입력 변환기 - 선택 사항**을 선택합니다.

1. **샘플 이벤트/이벤트 페이로드**에서 샘플 이벤트 유형을 선택합니다.

1. **변환기**에는 `"Event happened at <$.detail.field>."`와 같은 변환기 구문을 입력합니다. 여기서 `<$.detail.field>`는 샘플 이벤트의 필드에 대한 참조입니다. 샘플 이벤트의 필드를 두 번 클릭하여 변환기에 추가할 수도 있습니다.

1. **출력**의 경우 출력이 원하는 대로 표시되는지 확인합니다.

이제 파이프가 구성되었으므로 해당 설정이 올바르게 구성되었는지 확인하세요.

## 파이프 설정 구성
<a name="pipes-configure-pipe-settings"></a>

파이프는 기본적으로 활성화되지만 비활성화할 수 있습니다. 파이프에 대한 권한을 지정하고, 파이프 로깅을 설정하고, 태그를 추가할 수도 있습니다.

**파이프 설정을 구성하려면**

1. **파이프 설정** 탭을 선택합니다.

1. 기본적으로 새로 생성된 파이프는 생성되는 즉시 활성화됩니다. 비활성 파이프를 생성하려면 **활성화**의 **파이프 활성화**에서 **활성**을 끕니다.

1. **권한**의 **실행 역할**에서 다음 중 하나를 수행합니다.

   1. EventBridge가 이 파이프에 대한 새 실행 역할을 생성하도록 하려면 **이 특정 리소스에 대해 새 역할 생성**을 선택합니다. **역할 이름**에서 선택적으로 역할 이름을 편집할 수 있습니다.

   1. 기존 실행 역할을 사용하려면 **기존 역할 사용**을 선택합니다. **역할 이름**에서 역할을 선택합니다.

1. (선택 사항) Kinesis 또는 DynamoDB 스트림을 파이프 소스로 지정한 경우 재시도 정책과 배달 못한 편지 대기열(DLQ)을 구성할 수 있습니다.

   **재시도 정책 및 DLQ(Dead Letter Queue) - 선택 사항**에서 다음을 수행합니다.

   **재시도 정책**에서 다음을 수행합니다.

   1. 재시도 정책을 설정하려면 **재시도**를 켭니다. 기본적으로 새로 생성된 파이프에는 재시도 정책이 설정되어 있지 않습니다.

   1. **최대 이벤트 기간(Maximum age of event)**에 1분(00:01)에서 24시간(24:00) 사이의 값을 입력합니다.

   1. **재시도(Retry attempts)**에 0에서 185 사이의 숫자를 입력합니다.

   1. DLQ(Dead Letter Queue)를 사용하려면 **DLQ(Dead Letter Queue)**를 설정하고 원하는 방법을 선택한 다음, 사용할 대기열이나 주제를 선택합니다. 기본적으로 새로 생성된 파이프는 DLQ를 사용하지 않습니다.

1. 파이프 데이터를 암호화 EventBridge 할 때 사용할 KMS key 를 선택합니다.

   EventBridge의 사용 방식에 대한 자세한 내용은 섹션을 KMS keys참조하세요[저장 시 암호화](eb-data-protection.md#eb-encryption-at-rest).
   + 를 사용하여 데이터를 암호화 EventBridge 하려면에 **사용을 AWS 소유 키** 선택합니다 AWS 소유 키.

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

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

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

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

       EventBridge 는 키 상태와 지정된와 연결된 모든 키 별칭을 표시합니다 고객 관리형 키.

1. (선택 사항) **로그 - 선택 사항**에서 해당 로그를 구성하는 방법을 비롯해 EventBridge 파이프가 지원되는 서비스에 로깅 정보를 보내는 방법을 설정할 수 있습니다.

   파이프 레코드 로깅에 대한 자세한 내용은 [Amazon EventBridge Pipes 성능 로깅](eb-pipes-logs.md) 섹션을 참조하세요.

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

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

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

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

      자세한 내용은 [EventBridge 파이프 로그 수준 지정](eb-pipes-logs.md#eb-pipes-logs-level) 단원을 참조하십시오.

   1. 이벤트 EventBridge 페이로드 정보와 서비스 요청 및 응답 정보를 로그 레코드에 **포함하려면 실행 데이터** 포함을 선택합니다.

      자세한 내용은 [EventBridge 파이프 로그에 실행 데이터 포함](eb-pipes-logs.md#eb-pipes-logs-execution-data) 단원을 참조하십시오.

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

       CloudWatch Logs 로그의 경우 **CloudWatch 로그**에서 다음을 수행합니다.
      + **CloudWatch 로그 그룹의** 경우 새 로그 그룹을 EventBridge 생성할지 여부를 선택하거나 기존 로그 그룹을 선택하거나 기존 로그 그룹의 ARN을 지정할 수 있습니다.
      + 새 로그 그룹의 경우 원하는 대로 로그 그룹 이름을 편집합니다.

      CloudWatch 로그는 기본적으로 선택됩니다.

       Firehose 스트림 로그의 **Firehose 스트림 로그**에서 Firehose 스트림을 선택합니다.

       Amazon S3 로그의 경우 **S3 로그**에서 다음을 수행합니다.
      + 로그 대상으로 사용할 버킷 이름을 입력합니다.
      + 버킷 소유자의 AWS 계정 ID를 입력합니다.
      +  EventBridge 가 S3 객체를 생성할 때 사용할 접두사 텍스트를 입력합니다.

        자세한 내용은 *Amazon Simple Storage Service 사용 설명서*에서 [접두어를 사용한 객체 구성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)을 참조하세요.
      + S3 로그 레코드 EventBridge 의 형식을 지정하는 방법을 선택합니다.
        + `json`: JSON 
        + `plain`: 일반 텍스트
        + `w3c`: [W3C 확장 로깅 파일 형식](https://www.w3.org/TR/WD-logfile)

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

1. **파이프 생성**을 선택합니다.

## 구성 파라미터 검증
<a name="pipes-validation"></a>

파이프가 생성된 후 EventBridge는 다음 구성 파라미터를 검증합니다.
+ **IAM 역할** - 파이프가 생성된 후에는 파이프의 소스를 변경할 수 없으므로 EventBridge는 제공된 IAM 역할이 소스에 액세스할 수 있는지 확인합니다.
**참고**  
EventBridge는 파이프가 생성된 후 보강이나 대상을 업데이트할 수 있기 때문에 보강 또는 대상에 대해 동일한 검증을 수행하지 않습니다.
+ **일괄 처리** - EventBridge는 소스의 배치 크기가 대상의 최대 배치 크기를 초과하지 않는지 확인합니다. 초과할 경우 EventBridge에는 더 작은 배치 크기가 필요합니다. 또한 대상이 일괄 처리를 지원하지 않는 경우 EventBridge에서 소스에 대해 일괄 처리를 구성할 수 없습니다.
+ **보강** - 배치 크기가 1인 경우에만 지원되므로 EventBridge는 API Gateway 및 API 대상 보강의 배치 크기가 1인지 확인합니다.