이벤트 스토리지 및 백업 파이프라인을 Amazon SNS에 배포 및 구독 - Amazon Simple Notification Service

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

이벤트 스토리지 및 백업 파이프라인을 Amazon SNS에 배포 및 구독

이벤트 아카이빙 및 분석을 위해 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 SAM 템플릿을 자동으로 AWS CloudFormation 스택으로 변환한 다음 스택을에 배포합니다 AWS 계정. 또한 이 프로세스는 이벤트 저장 및 백업 파이프라인을 구성하는 다음과 같은 리소스 세트를 생성하고 구성합니다.

  • Amazon SQS 대기열

  • Lambda 함수

  • Firehose 전송 스트림

  • Amazon S3 백업 버킷

Amazon S3 버킷을 대상으로 사용하여 스트림을 구성하는 방법에 대한 자세한 내용은 Amazon Data Firehose API 참조S3DestinationConfiguration의 섹션을 참조하세요.

이벤트 변환 및 이벤트 버퍼링, 이벤트 압축 및 이벤트 암호화 구성에 대한 자세한 정보는 Amazon Data Firehose 개발자 안내서Amazon Data Firehose 전송 스트림 생성을 참조하세요.

이벤트 필터링에 대한 자세한 정보는 이 설명서의 Amazon SNS 구독 필터 정책에서 확인하세요.

  1. AWS Lambda 콘솔에 로그인합니다.

  2. 탐색 창에서 함수를 선택한 후 함수 생성을 선택합니다.

  3. 함수 생성 페이지에서 다음을 수행합니다.

    1. 서버리스 앱 리포지토리 찾아보기, 퍼블릭 애플리케이션, 사용자 지정 IAM 역할 또는 리소스 정책을 생성하는 앱 표시를 선택합니다.

    2. fork-event-storage-backup-pipeline을 검색하여 이 애플리케이션을 선택합니다.

  4. fork-event-storage-backup-pipeline 페이지에서 다음을 수행합니다.

    1. Application settings(애플리케이션 설정) 섹션에서 애플리케이션 이름을 입력합니다(예: my-app-backup).

      참고
      • 각 배포에서 애플리케이션 이름이 고유해야 합니다. 애플리케이션 이름을 재사용하면 배포는 이전에 배포된 AWS CloudFormation 스택만 업데이트합니다(새 스택을 생성하는 대신).

    2. (선택 사항) BucketArn에 수신 이벤트가 로드되는 Amazon S3 버킷의 ARN을 입력합니다. 값을 입력하지 않으면 AWS 계정에 새 Amazon S3 버킷이 생성됩니다.

    3. (선택 사항) DataTransformationFunctionArn에 수신 이벤트를 변환할 Lambda 함수의 ARN을 입력합니다. 값을 입력하지 않을 경우 데이터 변환이 비활성화됩니다.

    4. (선택 사항) 애플리케이션의 Lambda 함수 실행을 위해 다음 LogLevel 설정 중 하나를 입력합니다.

      • DEBUG

      • ERROR

      • INFO(기본값)

      • WARNING

    5. TopicArn에 이 포크 파이프라인 인스턴스가 구독할 Amazon SNS 주제의 ARN을 입력합니다.

    6. (선택 사항) StreamBufferingIntervalInSecondsStreamBufferingSizeInMBs에 수신 이벤트 버퍼링을 구성하기 위한 값을 입력합니다. 값을 입력하지 않을 경우 300초 및 5MB가 사용됩니다.

    7. (선택 사항) 수신 이벤트를 압축하기 위한 다음 StreamCompressionFormat 설정 중 하나를 입력합니다.

      • GZIP

      • SNAPPY

      • UNCOMPRESSED(기본값)

      • ZIP

    8. (선택 사항) StreamPrefix에 Amazon S3 백업 버킷에 저장된 이름 파일의 문자열 접두사를 입력합니다. 값을 입력하지 않을 경우 접두사가 사용되지 않습니다.

    9. (선택 사항) SubscriptionFilterPolicy에 수신 이벤트를 필터링하는 데 사용할 Amazon SNS 구독 필터 정책을 JSON 형식으로 입력합니다. 이 필터 정책은 OpenSearch Service 인덱스에 인덱싱할 이벤트를 결정합니다. 값을 입력하지 않을 경우 필터링이 사용되지 않습니다(모든 이벤트가 인덱싱됨).

    10. (선택 사항) SubscriptionFilterPolicyScopeMessageBody 또는 MessageAttributes 문자열을 입력하거나 페이로드 기반 또는 속성 기반 메시지 필터링을 활성화합니다.

    11. I acknowledge that this app creates custom IAM roles, resource policies and deploys nested applications.(본인은 이 앱이 사용자 지정 IAM 역할, 리소스 정책을 생성하고 중첩 애플리케이션을 배포함을 확인합니다.)를 선택하고 배포를 선택합니다.

Deployment status for my-app(my-app 배포 상태) 페이지에서 Lambda가 Your application is being deployed(애플리케이션을 배포 중) 상태를 표시합니다.

리소스 섹션에서는 스택 생성을 AWS CloudFormation 시작하고 각 리소스에 대한 CREATE_IN_PROGRESS 상태를 표시합니다. 프로세스가 완료되면 CREATE_COMPLETE 상태가 AWS CloudFormation 표시됩니다.

배포가 완료되면 Lambda가 Your application has been deployed(애플리케이션이 배포됨) 상태를 표시합니다.

Amazon SNS 주제에 게시된 메시지는 이벤트 스토리지 및 백업 파이프라인에 의해 프로비저닝된 Amazon S3 백업 버킷에 자동으로 저장됩니다.