Fanout to AWS Event Fork 파이프라인 - Amazon Simple Notification Service

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

Fanout to AWS Event Fork 파이프라인

이벤트 아카이빙 및 분석의 경우 Amazon은 SNS 이제 Amazon Data Firehose와의 기본 통합을 사용하는 것이 좋습니다. Firehose 전송 스트림을 SNS 주제에 구독할 수 있으며, 이를 통해 Amazon Simple Storage Service(Amazon S3) 버킷, Amazon Redshift 테이블, Amazon OpenSearch Service(OpenSearch Service) 등과 같은 아카이브 및 분석 엔드포인트에 알림을 보낼 수 있습니다. AmazonSNS을 Firehose 전송 스트림과 함께 사용하는 것은 AWS Lambda 함수를 사용할 필요가 없는 완전 관리형 코드리스 솔루션입니다. 자세한 내용은 Firehose 전송 스트림으로 팬아웃 단원을 참조하십시오.

AmazonSNS을 사용하여 구독자 서비스를 사용하여 게시자 서비스에 의해 트리거된 이벤트에 대한 응답으로 작업을 자동으로 수행하는 이벤트 기반 애플리케이션을 구축할 수 있습니다. 이 아키텍처 패턴은 서비스에서 재사용성, 상호 작용성 및 확장성을 향상할 수 있습니다. 하지만 이벤트 저장, 백업, 검색, 분석, 다시 보기 등 일반적인 이벤트 처리 요구 사항을 해결하는 파이프라인으로 이벤트 처리를 분기하는 것은 공수가 많이 들어갈 수 있습니다.

이벤트 기반 애플리케이션의 개발을 가속화하기 위해 AWS Event Fork Pipelines에서 제공하는 이벤트 처리 파이프라인을 Amazon SNS 주제로 구독할 수 있습니다. AWS Event Fork Pipelines은 AWS 서버리스 애플리케이션 모델(AWS SAM)을 기반으로 하는 오픈 소스 중첩 애플리케이션 제품군으로, AWS Event Fork Pipelines 제품군(사용자 지정 IAM 역할 또는 리소스 정책을 생성하는 앱 표시 선택)에서 AWS 직접 계정에 배포할 수 있습니다.

AWS Event Fork Pipelines 사용 사례는 섹션을 참조하세요AWS Event Fork Pipelines 샘플 애플리케이션 배포 및 테스트.

AWS Event Fork 파이프라인 작동 방식

AWS Event Fork Pipelines은 서버리스 설계 패턴입니다. 그러나 (이벤트 기반 플랫폼을 강화하기 AWS 계정 위해 AWS Serverless Application Repository (AWS SAR)에서 로 직접 배포할 수 있음)를 기반으로 AWS SAM 하는 중첩된 서버리스 애플리케이션 제품군이기도 합니다. 아키텍처에서 필요할 경우 이러한 중첩 애플리케이션을 개별적으로 배포할 수 있습니다.

다음 다이어그램은 세 개의 중첩된 애플리케이션으로 보완된 AWS Event Fork Pipelines 애플리케이션을 보여줍니다. 아키텍처의 필요에 따라 의 AWS Event Fork Pipelines 제품군에서 파이프라인을 AWS SAR 독립적으로 배포할 수 있습니다.

Event processing architecture with Amazon SNS topic feeding into multiple pipelines.

각 파이프라인은 동일한 Amazon SNS 주제를 구독하므로 해당 이벤트에 대한 내용이 주제에 게시될 때 이벤트를 동시에 처리할 수 있습니다. 각 파이프라인은 독립적이며 각각 구독 필터 정책을 설정할 수 있습니다. 그러므로 특정 파이프라인이 주제에 게시되는 모든 이벤트가 아니라 이벤트 하위 집합만 처리할 수 있습니다.

참고

세 개의 AWS Event Fork 파이프라인을 일반 이벤트 처리 파이프라인(아마도 이미 Amazon SNS 주제에 가입한 상태일 수 있음)과 함께 배치하기 때문에 기존 워크로드에서 AWS Event Fork 파이프라인을 활용하기 위해 현재 메시지 게시자의 어떤 부분도 변경할 필요가 없습니다.

이벤트 저장 및 백업 파이프라인

다음 다이어그램은 이벤트 저장 및 백업 파이프라인입니다. 이 파이프라인을 Amazon SNS 주제에 구독하여 시스템을 통해 흐르는 이벤트를 자동으로 백업할 수 있습니다.

이 파이프라인은 Amazon SNS 주제에서 전달되는 이벤트를 버퍼링하는 Amazon SQS 대기열, 대기열에서 이러한 이벤트를 자동으로 폴링하여 Amazon Data Firehose 스트림으로 푸시하는 AWS Lambda 함수, 스트림에서 로드된 이벤트를 내구성 있게 백업하는 Amazon S3 버킷으로 구성됩니다.

AWS event storage backup pipeline with SNS, SQS, Lambda, Kinesis, S3, and Athena components.

Firehose 스트림의 동작을 미세 조정하려면 버킷으로 로드하기 전에 이벤트를 버퍼링, 변환 및 압축하도록 구성할 수 있습니다. 이벤트가 로드되면 Amazon Athena를 사용하여 표준 쿼리를 사용하여 버킷을 쿼리할 수 SQL 있습니다. 또한 기존 Amazon S3 버킷을 재사용하거나 새 버킷을 생성하도록 파이프라인을 구성할 수 있습니다.

이벤트 검색 및 분석 파이프라인

다음 다이어그램은 이벤트 검색 및 분석 파이프라인입니다. Amazon SNS 주제에 이 파이프라인을 구독하여 검색 도메인에서 시스템을 통해 흐르는 이벤트를 인덱싱한 다음 해당 이벤트에 대한 분석을 실행할 수 있습니다.

이 파이프라인은 Amazon SNS 주제에서 전달되는 이벤트를 버퍼링하는 Amazon SQS 대기열, 대기열에서 이벤트를 폴링하여 Amazon Data Firehose 스트림으로 푸시하는 AWS Lambda 함수, Firehose 스트림에서 로드된 이벤트를 인덱싱하는 Amazon OpenSearch Service 도메인, 검색 도메인에 인덱싱할 수 없는 데드 레터 이벤트를 저장하는 Amazon S3 버킷으로 구성됩니다.

Event search analytics pipeline with AWS 서비스 for data processing and storage.

이벤트 버퍼링, 변환 및 압축에서 Firehose 스트림을 미세 조정하기 위해 이 파이프라인을 구성할 수 있습니다.

파이프라인이 의 기존 OpenSearch 도메인을 재사용할지 AWS 계정 아니면 새 도메인을 생성할지 구성할 수도 있습니다. 검색 도메인에서 이벤트가 인덱싱될 때 Kibana를 사용하여 이벤트에 대한 분석을 실행하고 시각적 대시보드를 실시간으로 업데이트할 수 있습니다.

이벤트 다시 보기 파이프라인

다음 다이어그램은 이벤트 다시 보기 파이프라인입니다. 지난 14일 동안 시스템에서 처리한 이벤트를 기록하려면(예: 플랫폼이 장애로부터 복구해야 하는 경우) 이 파이프라인을 Amazon SNS 주제에 구독한 다음 이벤트를 다시 처리할 수 있습니다.

이 파이프라인은 Amazon SNS 주제에서 전달되는 이벤트를 버퍼링SQS하는 Amazon 대기열과 대기열에서 이벤트를 폴링하여 일반 이벤트 처리 파이프라인으로 다시 구동하는 AWS Lambda 함수로 구성되며, 이 또한 주제를 구독합니다.

Event processing pipeline with Amazon SNS, SQS queues, and AWS Lambda for replay functionality.
참고

기본적으로 다시 보기 함수는 비활성화되어 이벤트를 리드라이브하지 않습니다. 이벤트를 재처리해야 하는 경우 Amazon SQS 재생 대기열을 재생 AWS Lambda 함수의 이벤트 소스로 활성화해야 합니다.

AWS Event Fork 파이프라인 배포

AWS Event Fork Pipelines 제품군(사용자 지정 IAM 역할 또는 리소스 정책을 생성하는 앱 표시 선택)은 AWS Lambda 콘솔 을 사용하여 수동으로 배포하고 테스트할 수 AWS Serverless Application Repository있는 에서 퍼블릭 애플리케이션 그룹으로 사용할 수 있습니다. AWS Lambda 콘솔을 사용하여 파이프라인을 배포하는 방법에 대한 자세한 내용은 섹션을 참조하세요Amazon SNS 주제에 AWS Event Fork 파이프라인 구독.

프로덕션 시나리오에서는 전체 애플리케이션 템플릿에 AWS Event Fork 파이프라인을 AWS SAM 포함하는 것이 좋습니다. 중첩 애플리케이션 기능을 사용하면 중첩 애플리케이션의 AWS SAR ApplicationId 및 를 참조하여 템플릿을 추가함으로써 이 작업을 수행할 SemanticVersionAWS::Serverless::Application 있습니다 AWS SAM.

예를 들어 템플릿의 Resources 섹션에 다음 YAML 조각을 추가하여 이벤트 스토리지 및 백업 파이프라인을 중첩 애플리케이션으로 사용할 수 있습니다 AWS SAM.

Backup: Type: AWS::Serverless::Application Properties: Location: ApplicationId: arn:aws:serverlessrepo:us-east-2:123456789012:applications/fork-event-storage-backup-pipeline SemanticVersion: 1.0.0 Parameters: #The ARN of the Amazon SNS topic whose messages should be backed up to the Amazon S3 bucket. TopicArn: !Ref MySNSTopic

파라미터 값을 지정할 때 AWS CloudFormation 내장 함수를 사용하여 템플릿의 다른 리소스를 참조할 수 있습니다. 예를 들어 위의 YAML 조각에서 TopicArn 파라미터는 AWS SAM 템플릿의 다른 곳에 MySNSTopic정의된 AWS::SNS::Topic 리소스 를 참조합니다. 자세한 정보는 AWS CloudFormation 사용 설명서내장 함수 참조를 확인하세요.

참고

애플리케이션의 AWS Lambda 콘솔 페이지에 AWS SAR는 애플리케이션을 클립보드에 중첩하는 데 YAML 필요한 를 AWS SAR 복사하는 SAM 리소스로 복사 버튼이 포함되어 있습니다.