기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 리소스를 사용하여 여러 이메일 엔드포인트에서 SNS 주제 구독
작성자: Ricardo Morais(AWS)
요약
참고, 2022년 8월: AWS CloudFormation은 이제 AWS::SNS::Topic 객체 및 해당 구독 속성을 통해 여러 리소스의 구독을 지원합니다.
이 패턴은 Amazon Simple Notification Service(SNS) 주제에 대해 알림을 받을 이메일 주소를 구독 설정하는 방법을 설명합니다. AWS Lambda 함수를 AWS CloudFormation 템플릿에서 사용자 지정 리소스로 사용합니다. Lambda 함수는 SNS 주제에 대한 이메일 엔드포인트를 지정하는 입력 파라미터와 연결됩니다.
현재는 AWS CloudFormation 템플릿 객체 AWS::SNS::Topic 및 AWS::SNS::Subscription을 사용하여 단일 엔드포인트에서 SNS 주제를 구독할 수 있습니다. 여러 엔드포인트를 구독하려면 객체를 여러 번 간접적으로 호출해야 합니다. Lambda 함수를 사용자 지정 리소스로 사용하면 입력 파라미터를 통해 여러 엔드포인트를 구독할 수 있습니다. 이 Lambda 함수를 모든 AWS CloudFormation 템플릿에서 사용자 지정 리소스로 사용할 수 있습니다.
사전 조건 및 제한 사항
사전 조건
활성 상태의 계정
액세스 키와 보안 키로 로컬 환경에 구성된 AWS 프로파일입니다.
다음 항목에 대한 권한:
AWS Identity and Access Management(IAM) 역할 및 정책
AWS Lambda 함수
Lambda 함수 업로드를 위한 Amazon Simple Storage Service(S3)
Amazon SNS 주제 및 정책
AWS CloudFormation 스택
제한 사항
이 코드는 Linux 및 macOS 워크스테이션을 지원합니다.
제품 버전
AWS Command Line Interface(AWS CLI) 버전 2 이상입니다.
아키텍처
대상 기술 스택
CloudFormation
Amazon SNS
AWS Lambda
도구
도구
코드
첨부 파일에는 다음 파일이 포함됩니다.
Lambda 함수:
lambda_function.py
AWS CloudFormation 템플릿:
template.yaml
다중 또는 단일 이메일 엔드포인트 구독을 처리하기 위한 두 개의 파라미터 파일:
parameters-multiple-values.json
(기본값으로 사용됨) 및parameters-one-value.json
스택을 배포하려면 두 파라미터 파일 중 하나를 사용할 수 있습니다. 여러 이메일 엔드포인트 지정:
./deploy.sh -p <YOUR_AWS_PROFILE_NAME> -r <YOUR_AWS_PROFILE_REGION>
단일 이메일 엔드포인트 지정:
./deploy.sh -p <YOUR_AWS_PROFILE_NAME> -r <YOUR_AWS_PROFILE_REGION> -f parameters-one-value.json
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
SNS 주제 구독을 위한 이메일 엔드포인트를 구성합니다. | 파일 | |
리소스와 구독을 생성하는 AWS CloudFormation 스택을 배포하십시오. | AWS 프로파일 이름, AWS 리전,
| 적절한 권한이 있는 IAM 역할입니다. |
작업 | 설명 | 필요한 기술 |
---|---|---|
SNS 주제 구독을 위한 이메일 엔드포인트를 구성합니다. | 파일 | |
리소스와 구독을 생성하는 AWS CloudFormation 스택을 배포하십시오. | AWS 프로파일 이름 및 AWS 리전을 사용하여 deploy.sh 명령을 실행합니다.
| 적절한 권한이 있는 IAM 역할입니다. |
작업 | 설명 | 필요한 기술 |
---|---|---|
SNS 주제를 생성합니다. |
| 적절한 권한이 있는 IAM 역할입니다. |
SNS 주제 정책을 생성합니다. | AWS CloudFormation 템플릿에서 SNS 주제 정책을 생성합니다. | 적절한 권한이 있는 IAM 역할입니다. |
이메일 엔드포인트 목록에서 SNS 주제를 구독하십시오. | 이메일 엔드포인트 목록(하나 이상)에 따라 생성한 SNS 주제에 엔드포인트를 구독하십시오. | 적절한 권한이 있는 IAM 역할입니다. |
관련 리소스
참조
필수 도구
첨부
이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.