기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SNS 이벤트를 AWS Event Fork Pipelines에 팬아웃
이벤트 아카이브 및 분석을 위해 Amazon SNS는 이제 Amazon Data Firehose와의 기본 통합 기능을 사용할 것을 권장합니다. Firehose 전송 스트림에서 SNS 주제를 구독하여 Amazon Simple Storage Service(Amazon S3) 버킷, Amazon Redshift 테이블, Amazon OpenSearch Service(OpenSearch Service) 등과 같은 아카이브 및 분석 엔드포인트에 알림을 보낼 수 있습니다. Firehose 전송 스트림에서 Amazon SNS를 사용하는 것은 AWS Lambda 함수를 사용할 필요가 없는 완전 관리형 코드 없는 솔루션입니다. 자세한 내용은 Firehose 전송 스트림으로 팬아웃 단원을 참조하십시오. |
Amazon SNS를 사용하여 게시자 서비스에 의해 트리거되는 이벤트에 응답하여 자동으로 작업을 수행하는 구독자 서비스를 사용하는 이벤트 기반 애플리케이션을 빌드할 수 있습니다. 이 아키텍처 패턴은 서비스에서 재사용성, 상호 작용성 및 확장성을 향상할 수 있습니다. 하지만 이벤트 저장, 백업, 검색, 분석, 다시 보기 등 일반적인 이벤트 처리 요구 사항을 해결하는 파이프라인으로 이벤트 처리를 분기하는 것은 공수가 많이 들어갈 수 있습니다.
이벤트 기반 애플리케이션의 개발을 가속화하기 위해 AWS Event Fork Pipelines으로 구동되는 이벤트 처리 파이프라인을 Amazon SNS 주제로 구독할 수 있습니다. AWS Event Fork Pipelines은 AWS 서버리스 애플리케이션 모델
AWS Event Fork Pipelines 사용 사례는 섹션을 참조하세요Amazon SNS Event Fork Pipelines 샘플 애플리케이션 배포 및 테스트.
주제
AWS Event Fork Pipelines 작동 방식
AWS Event Fork Pipelines은 서버리스 설계 패턴입니다. 그러나 AWS SAM(이벤트 기반 플랫폼을 보강하기 AWS 계정 위해 (AWS SAR)에서 AWS Serverless Application Repository 로 직접 배포할 수 있음)을 기반으로 하는 중첩된 서버리스 애플리케이션 제품군이기도 합니다. 아키텍처에서 필요할 경우 이러한 중첩 애플리케이션을 개별적으로 배포할 수 있습니다.
다음 다이어그램은 세 개의 중첩된 애플리케이션으로 보완된 AWS Event Fork Pipelines 애플리케이션을 보여줍니다. 아키텍처에 필요한 대로 SAR의 AWS Event Fork Pipelines 제품군 AWS 에서 파이프라인을 독립적으로 배포할 수 있습니다.

각 파이프라인은 동일한 Amazon SNS 주제를 구독하여 이러한 이벤트가 주제에 게시될 경우 동시에 이벤트를 처리할 수 있습니다. 각 파이프라인은 독립적이며 각각 구독 필터 정책을 설정할 수 있습니다. 그러므로 특정 파이프라인이 주제에 게시되는 모든 이벤트가 아니라 이벤트 하위 집합만 처리할 수 있습니다.
참고
세 개의 AWS Event Fork Pipelines을 일반 이벤트 처리 파이프라인(아마도 이미 Amazon SNS 주제를 구독한 경우)과 함께 배치하므로 기존 워크로드에서 AWS Event Fork Pipelines을 활용하기 위해 현재 메시지 게시자의 어떤 부분도 변경할 필요가 없습니다.
이벤트 저장 및 백업 파이프라인
다음 다이어그램은 이벤트 저장 및 백업 파이프라인
이 파이프라인은 Amazon SNS 주제에서 전달되는 이벤트를 버퍼링하는 Amazon SQS 대기열, 대기열에서 이러한 이벤트를 자동으로 폴링하여 Amazon Data Firehose 스트림으로 푸시하는 AWS Lambda 함수, 스트림에서 로드된 이벤트를 내구성 있게 백업하는 Amazon S3 버킷으로 구성됩니다. Amazon SNS

Firehose 스트림의 동작을 미세 조정하려면 버킷으로 로드하기 전에 이벤트를 버퍼링, 변환 및 압축하도록 구성할 수 있습니다. 이벤트가 로드될 때 Amazon Athena를 사용하여 표준 SQL 쿼리로 버킷을 쿼리할 수 있습니다. 또한 기존 Amazon S3 버킷을 재사용하거나 새 버킷을 생성하도록 파이프라인을 구성할 수 있습니다.
이벤트 검색 및 분석 파이프라인
다음 다이어그램은 이벤트 검색 및 분석 파이프라인
이 파이프라인은 Amazon SNS 주제에서 전달되는 이벤트를 버퍼링하는 Amazon SQS 대기열, 대기열에서 이벤트를 폴링하여 Amazon Data Firehose 스트림으로 푸시하는 AWS Lambda 함수, Firehose 스트림에서 로드된 이벤트를 인덱싱하는 Amazon OpenSearch Service 도메인, 검색 도메인에 인덱싱할 수 없는 배달 못한 편지 이벤트를 저장하는 Amazon S3 버킷으로 구성됩니다. Amazon SNS

이벤트 버퍼링, 변환 및 압축에서 Firehose 스트림을 미세 조정하기 위해 이 파이프라인을 구성할 수 있습니다.
파이프라인이의 기존 OpenSearch 도메인을 재사용할지 AWS 계정 아니면 새 도메인을 생성할지도 구성할 수 있습니다. 검색 도메인에서 이벤트가 인덱싱될 때 Kibana를 사용하여 이벤트에 대한 분석을 실행하고 시각적 대시보드를 실시간으로 업데이트할 수 있습니다.
이벤트 다시 보기 파이프라인
다음 다이어그램은 이벤트 다시 보기 파이프라인
이 파이프라인은 Amazon SNS 주제에서 전달되는 이벤트를 버퍼링하는 Amazon SQS 대기열과 대기열에서 이벤트를 폴링하여 일반 이벤트 처리 파이프라인으로 리드라이브하는 AWS Lambda 함수로 구성되어 있으며,이 또한 주제를 구독합니다. Amazon SNS

참고
기본적으로 다시 보기 함수는 비활성화되어 이벤트를 리드라이브하지 않습니다. 이벤트를 다시 처리해야 할 경우 AWS Lambda 다시 보기 함수용 이벤트 소스로 Amazon SQS 다시 보기 대기열을 활성화해야 합니다.
AWS Event Fork 파이프라인 배포
AWS Event Fork Pipelines 제품군
프로덕션 시나리오에서는 AWS 이벤트 포크 파이프라인을 전체 애플리케이션의 AWS SAM 템플릿 내에 포함하는 것이 좋습니다. 중첩 애플리케이션 기능을 사용하면 중첩 애플리케이션의 AWS SAR ApplicationId
및를 참조하여 AWS SAM 템플릿에 리소스를 추가하여이 작업을 수행할 SemanticVersion
수 AWS::Serverless::Application
있습니다.
예를 들어 AWS SAM 템플릿의 Resources
섹션에 다음 YAML 조각을 추가하여 이벤트 스토리지 및 백업 파이프라인을 중첩 애플리케이션으로 사용할 수 있습니다.
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 SAR 애플리케이션의 AWS Lambda 콘솔 페이지에는 AWS SAR 애플리케이션을 클립보드에 중첩하는 데 필요한 YAML을 복사하는 SAM 리소스로 복사 버튼이 포함되어 있습니다.