

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

# AWS Event Fork Pipelines 사용 사례 예제
<a name="example-sns-fork-use-case"></a>

다음 시나리오에서는 Event Fork Pipelines을 사용하는 AWS 이벤트 기반 서버리스 전자 상거래 애플리케이션을 설명합니다. 에서이 [예제 전자 상거래 애플리케이션을](https://serverlessrepo.aws.amazon.com/applications/arn:aws:serverlessrepo:us-east-1:077246666028:applications~fork-example-ecommerce-checkout-api) 사용한 AWS Serverless Application Repository 다음 AWS Lambda 콘솔을 AWS 계정 사용하여에 배포할 수 있습니다. 콘솔에서 이를 테스트하고 GitHub에서 소스 코드를 검사할 수 있습니다.

![AWS 서비스를 통합하는 서버리스 전자 상거래 애플리케이션의 아키텍처입니다. 이 그림은 API Gateway를 통해 주문을 하는 전자 상거래 사용자의 흐름을 주문 스토리지, 검색 분석 및 재생을 포함한 다양한 처리 파이프라인으로 묘사하여 Amazon SNS, Lambda, Amazon SQS, DynamoDB 및 Kibana를 통해 이벤트를 관리하고 분석하는 방법을 보여줍니다.](http://docs.aws.amazon.com/ko_kr/sns/latest/dg/images/sns-fork-example-use-case.png)


이 전자 상거래 애플리케이션은 API Gateway에서 호스팅하고 AWS Lambda 함수에서 지원하는 RESTful API를 통해 구매자로부터 주문을 받습니다`CheckoutApiBackendFunction`. 이 함수는 모든 수신된 주문을 `CheckoutEventsTopic`이라는 Amazon SNS 주제 에 게시하고, 이 주제는 주문을 4가지 파이프라인으로 분산합니다.

첫 번째 파이프라인은 전자 상거래 애플리케이션의 소유자가 설계 및 구현한 정규 체크아웃 처리 파이프라인입니다. 이 파이프라인에는 수신된 모든 주문을 버퍼링`CheckoutQueue`하는 Amazon SQS 대기열, 이러한 주문을 처리하기 위해 대기열을 폴링`CheckoutFunction`하는 라는 AWS Lambda 함수, 제출된 모든 주문을 안전하게 저장하는 DynamoDB 테이블`CheckoutTable`이 있습니다.

## AWS Event Fork 파이프라인 적용
<a name="applying-sns-fork-pipelines"></a>

전자 상거래 애플리케이션의 구성 요소가 핵심 비즈니스 로직을 처리합니다. 그러나 전자 상거래 애플리케이션 소유자도 다음을 처리해야 합니다.
+ **규정 준수**—안전한 압축 백업(저장 시 암호화) 및 민감한 정보의 폐기
+ **복원성**—이행 프로세스 중단 시 최근 주문 다시 보기
+ **검색 가능성**—접수된 주문에 대한 분석 실행 및 지표 생성

애플리케이션 소유자는이 이벤트 처리 로직을 구현하는 대신 AWS Event Fork Pipelines에서 `CheckoutEventsTopic` Amazon SNS 주제를 구독할 수 있습니다.
+ [이벤트 저장 및 백업 파이프라인](sns-fork-pipeline-as-subscriber.md#sns-fork-event-storage-and-backup-pipeline)은 데이터를 변환하여 신용카드 세부 정보를 제거하고, 데이터를 60초간 버퍼링하고, GZIP을 사용하여 데이터를 압축하고, Amazon S3용 기본 고객 관리형 키를 사용하여 암호화하도록 구성되어 있습니다. 이 키는 AWS Key Management Service ()에서 관리 AWS 및 구동됩니다AWS KMS.

  자세한 정보는 *Amazon Data Firehose 개발자 안내서*의 [대상에 대해 Amazon S3 선택](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-s3), [Amazon Data Firehose 데이터 변환](https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html) 및 [설정 구성](https://docs.aws.amazon.com/firehose/latest/dev/create-configure.html)을 참조하세요.
+ [이벤트 검색 및 분석 파이프라인](sns-fork-pipeline-as-subscriber.md#sns-fork-event-search-and-analytics-pipeline)은 인덱스 재시도 지속시간 30초, 검색 도메인에서 인덱싱되지 않은 주문을 저장할 버킷, 인덱싱할 주문을 제한하는 필터 정책으로 구성되어 있습니다.

  자세한 정보는 *Amazon Data Firehose 개발자 가이드*의 [대상에 대한 OpenSearch Service 선택](https://docs.aws.amazon.com/firehose/latest/dev/create-destination.html#create-destination-elasticsearch)을 참조하세요.
+ [이벤트 다시 보기 파이프라인](sns-fork-pipeline-as-subscriber.md#sns-fork-event-replay-pipeline)은 전자 상거래 애플리케이션 소유자가 설계 및 구현한 일반 체크아웃 처리 파이프라인의 Amazon SQS 대기열 부분으로 구성되어 있습니다.

  자세한 정보는 *Amazon Simple Queue Service 개발자 안내서*의 [대기열 이름 및 URL](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-general-identifiers.html#queue-name-url)을 참조하세요.

다음 JSON filter 필터 정책은 이벤트 검색 및 분석 파이프라인의 구성에 설정되었습니다. 수신 주문 중 전체 금액이 $100 이상인 주문만 일치됩니다. 자세한 내용은 [Amazon SNS 메시지 필터링](sns-message-filtering.md) 단원을 참조하십시오.

```
{				
   "amount": [{ "numeric": [ ">=", 100 ] }]
}
```

전자 상거래 애플리케이션 소유자는 AWS Event Fork Pipelines 패턴을 사용하여 이벤트 처리를 위한 차별화되지 않는 로직 코딩을 따르는 개발 오버헤드를 피할 수 있습니다. 대신에서 AWS Serverless Application Repository 로 직접 AWS Event Fork Pipelines을 배포할 수 있습니다 AWS 계정.