쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

사용자 지정 리소스를 사용하여 여러 이메일 엔드포인트에서 SNS 주제 구독 - 권장 가이드

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

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

사용자 지정 리소스를 사용하여 여러 이메일 엔드포인트에서 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::TopicAWS::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 주제 구독을 위한 이메일 엔드포인트를 구성합니다.

파일 parameters-one-value.json(첨부)을 편집하고 사용할 이메일 주소(예: someone@example.com)를 반영하도록 pSNSNotificationsEmail 파라미터 값을 변경합니다.

리소스와 구독을 생성하는 AWS CloudFormation 스택을 배포하십시오.

AWS 프로파일 이름, AWS 리전, parameters-one-value.json 파일을 사용하여 deploy.sh 명령을 실행합니다.

./deploy.sh -p <YOUR_AWS_PROFILE_NAME> -r <YOUR_AWS_PROFILE_REGION> -f parameters-one-value.json
적절한 권한이 있는 IAM 역할입니다.

옵션 1 - 이메일 구독 한 번으로 SNS 주제 배포

작업설명필요한 기술

SNS 주제 구독을 위한 이메일 엔드포인트를 구성합니다.

파일 parameters-one-value.json(첨부)을 편집하고 사용할 이메일 주소(예: someone@example.com)를 반영하도록 pSNSNotificationsEmail 파라미터 값을 변경합니다.

리소스와 구독을 생성하는 AWS CloudFormation 스택을 배포하십시오.

AWS 프로파일 이름, AWS 리전, parameters-one-value.json 파일을 사용하여 deploy.sh 명령을 실행합니다.

./deploy.sh -p <YOUR_AWS_PROFILE_NAME> -r <YOUR_AWS_PROFILE_REGION> -f parameters-one-value.json
적절한 권한이 있는 IAM 역할입니다.
작업설명필요한 기술

SNS 주제 구독을 위한 이메일 엔드포인트를 구성합니다.

파일 parameters-multiple-values.json(첨부)을 편집하고 사용할 이메일 주소를 반영하도록 다음의 someone1@example.com, someone2@example.com처럼 pSNSNotificationsEmail 파라미터 값을 쉼표로 구분하여 변경합니다.

리소스와 구독을 생성하는 AWS CloudFormation 스택을 배포하십시오.

AWS 프로파일 이름 및 AWS 리전을 사용하여 deploy.sh 명령을 실행합니다. parameters-multiple-values.json 파일은 기본적으로 사용되므로 지정하지 않아도 됩니다.

./deploy.sh -p <YOUR_AWS_PROFILE_NAME> -r <YOUR_AWS_PROFILE_REGION>
적절한 권한이 있는 IAM 역할입니다.

옵션 2 - 2개 이상의 이메일 구독이 포함된 SNS 주제 배포

작업설명필요한 기술

SNS 주제 구독을 위한 이메일 엔드포인트를 구성합니다.

파일 parameters-multiple-values.json(첨부)을 편집하고 사용할 이메일 주소를 반영하도록 다음의 someone1@example.com, someone2@example.com처럼 pSNSNotificationsEmail 파라미터 값을 쉼표로 구분하여 변경합니다.

리소스와 구독을 생성하는 AWS CloudFormation 스택을 배포하십시오.

AWS 프로파일 이름 및 AWS 리전을 사용하여 deploy.sh 명령을 실행합니다. parameters-multiple-values.json 파일은 기본적으로 사용되므로 지정하지 않아도 됩니다.

./deploy.sh -p <YOUR_AWS_PROFILE_NAME> -r <YOUR_AWS_PROFILE_REGION>
적절한 권한이 있는 IAM 역할입니다.
작업설명필요한 기술

SNS 주제를 생성합니다.

AWS::SNS::Topic 템플릿 객체에 구독 엔드포인트를 지정하지 않고 AWS CloudFormation 템플릿을 통해 SNS 주제를 생성합니다. 첨부 파일에서 시작점으로 template.yaml을 사용할 수 있습니다.

적절한 권한이 있는 IAM 역할입니다.

SNS 주제 정책을 생성합니다.

AWS CloudFormation 템플릿에서 SNS 주제 정책을 생성합니다.

적절한 권한이 있는 IAM 역할입니다.

이메일 엔드포인트 목록에서 SNS 주제를 구독하십시오.

이메일 엔드포인트 목록(하나 이상)에 따라 생성한 SNS 주제에 엔드포인트를 구독하십시오.

적절한 권한이 있는 IAM 역할입니다.

옵션 3 - AWS CloudFormation 템플릿을 통해 SNS 주제 배포

작업설명필요한 기술

SNS 주제를 생성합니다.

AWS::SNS::Topic 템플릿 객체에 구독 엔드포인트를 지정하지 않고 AWS CloudFormation 템플릿을 통해 SNS 주제를 생성합니다. 첨부 파일에서 시작점으로 template.yaml을 사용할 수 있습니다.

적절한 권한이 있는 IAM 역할입니다.

SNS 주제 정책을 생성합니다.

AWS CloudFormation 템플릿에서 SNS 주제 정책을 생성합니다.

적절한 권한이 있는 IAM 역할입니다.

이메일 엔드포인트 목록에서 SNS 주제를 구독하십시오.

이메일 엔드포인트 목록(하나 이상)에 따라 생성한 SNS 주제에 엔드포인트를 구독하십시오.

적절한 권한이 있는 IAM 역할입니다.

관련 리소스

참조

필수 도구

첨부

이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.