기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
구독에 대한 Amazon SNS 데드 레터 대기열 구성
데드 레터 대기열은 구독자에게 성공적으로 전달할 수 없는 메시지에 대해 Amazon SNS 구독이 대상으로 지정할 수 있는 Amazon SQS 대기열입니다. 클라이언트 오류 또는 서버 오류로 인해 배달할 수 없는 메시지는 추가 분석 또는 재처리를 위해 배달 못한 편지 대기열에 보관됩니다. 자세한 내용은 Amazon SNS 데드 레터 대기열 및 Amazon SNS 메시지 전송 재시도 단원을 참조하세요.
이 페이지에서는 AWS Management Console, AWS SDK, AWS CLI및 를 사용하여 Amazon SNS 구독에 대한 데드 레터 대기열을 AWS CloudFormation 구성하는 방법을 보여줍니다.
참고
FIFO 주제 의 경우 Amazon SQS 대기열을 Amazon SNS 구독의 데드 레터 대기열로 사용할 수 있습니다. FIFO 주제 구독은 FIFO 대기열을 사용하고 표준 주제 구독은 표준 대기열을 사용합니다.
사전 조건
배달 못한 편지 대기열을 구성하려면 먼저 다음 사전 조건을 완료합니다.
-
라는 Amazon SNS 주제를 생성합니다
MyTopic
. -
Amazon SNS 구독의 엔드포인트로
MyEndpoint
사용할 라는 Amazon SQS 대기열을 생성합니다. -
(에 대해 건너뛰기 AWS CloudFormation) 주제 에 대한 대기열을 구독합니다.
-
Amazon SNS 구독의 데드 레터 SQS 대기열로 사용할 라는 다른 Amazon 대기열을 생성합니다.
MyDeadLetterQueue
-
Amazon SNS 보안 주체에게 Amazon SQS API 작업에 대한 액세스 권한을 부여하려면 에 대해 다음 대기열 정책을 설정합니다
MyDeadLetterQueue
.{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:us-east-2:123456789012:MyTopic" } } }] }
를 사용하여 Amazon SNS 구독에 대한 데드 레터 대기열을 구성하려면 AWS Management Console
이 자습서를 시작하기 전에 사전 조건을 완료해야 합니다.
-
Amazon SQS 콘솔
에 로그인합니다. -
Amazon SQS 대기열을 생성하거나 기존 대기열을 사용하고 대기열ARN의 세부 정보 탭에 대기열의 를 기록해 둡니다. 예:
arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue
Amazon SNS 콘솔
에 로그인합니다. -
탐색 창에서 구독을 선택합니다.
-
[구독] 페이지에서 기존 구독을 선택한 다음 [편집]을 선택합니다.
-
편집
1234a567-bc89-012d-3e45-6fg7h890123i
페이지에서 Redrive 정책(dead-letter queue) 섹션을 확장한 다음 다음을 수행합니다.-
활성을 선택합니다.
-
Amazon SQS 대기열ARN의 를 지정합니다.
-
-
Save changes(변경 사항 저장)를 선택합니다.
구독이 배달 못한 편지 대기열을 사용하도록 구성됩니다.
를 사용하여 Amazon SNS 구독에 대한 데드 레터 대기열을 구성하려면 AWS SDK
이 예제를 실행하기 전에 사전 조건을 완료해야 합니다.
를 사용하려면 자격 증명으로 구성 AWS SDK해야 합니다. 자세한 내용은 및 AWS SDKs 도구 참조 가이드의 공유 구성 및 보안 인증 파일을 참조하세요.
다음 코드 예시에서는 SetSubscriptionAttributesRedrivePolicy
을 사용하는 방법을 보여 줍니다.
를 사용하여 Amazon SNS 구독에 대한 데드 레터 대기열을 구성하려면 AWS CLI
이 자습서를 시작하기 전에 사전 조건을 완료해야 합니다.
-
AWS CLI를 설치하고 구성합니다. 자세한 내용은 AWS Command Line Interface 사용 설명서를 참조하십시오.
-
다음 명령을 사용합니다.
aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-2:123456789012:MyEndpoint:1234a567-bc89-012d-3e45-6fg7h890123i --attribute-name RedrivePolicy --attribute-value "{\"deadLetterTargetArn\": \"arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue\"}"
를 사용하여 Amazon SNS 구독에 대한 데드 레터 대기열을 구성하려면 AWS CloudFormation
이 자습서를 시작하기 전에 사전 조건을 완료해야 합니다.
-
다음 JSON 코드를 라는 파일에 복사합니다
MyDeadLetterQueue.json
.{ "Resources": { "mySubscription": { "Type" : "AWS::SNS::Subscription", "Properties" : { "Protocol": "sqs", "Endpoint": "arn:aws:sqs:us-east-2:123456789012:MyEndpoint", "TopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic", "RedrivePolicy": { "deadLetterTargetArn": "arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue" } } } } }
-
AWS CloudFormation 콘솔
에 로그인합니다. -
[Select Template] 페이지에서 [Upload a template to Amazon S3]를 선택하고,
MyDeadLetterQueue.json
파일을 선택하고 나서 [Next]를 선택합니다. -
세부 정보 지정 페이지에서 스택 이름에
MyDeadLetterQueue
를 입력한 후 다음을 선택합니다. -
옵션 페이지에서 다음을 선택합니다.
-
검토(Review) 페이지에서 생성(Create)을 선택합니다.
AWS CloudFormation 가
MyDeadLetterQueue
스택 생성을 시작하고 CREATE_IN_PROGRESS 상태를 표시합니다. 프로세스가 완료되면 _ CREATECOMPLETE 상태가 AWS CloudFormation 표시됩니다.