Amazon Simple Queue Service(Amazon SQS) 메시지를 DLQ(Dead Letter Queue)에서 소스 대기열로 재구동할 수 없습니다.
해결 방법
“DLQ 재구동 시작” 아이콘이 회색으로 비활성화됨
Amazon SQS 대기열을 DLQ로 구성하지 않으면 Amazon SQS 콘솔에서 DLQ 재구동 시작 아이콘을 사용할 수 없습니다.
자세한 내용은 DLQ(Dead Letter Queue) 재구동 구성을 참고하세요.
"Failed: CouldNotDetermineMessageSource" 오류
DLQ에 다음 메시지가 있으면 소스 대기열로 DLQ 재구동을 시작하려고 할 때 이 오류가 발생할 수 있습니다.
- SendMessage API 호출과 함께 DLQ에 전송되는 Amazon SQS 메시지
- Amazon Simple Notification Service(Amazon SNS) 주제 또는 DLQ가 구성된 AWS Lambda 함수 메시지
이 오류를 해결하려면 재구동을 시작할 때 사용자 지정 대상으로 재구동을 선택하세요. 그런 다음 Amazon SQS 대기열 ARN을 입력해 전체 메시지를 DLQ에서 대상 대기열로 이동합니다.
"Failed: AWS.SimpleQueueService.NonExistentQueue" 오류
이 오류는 Amazon SQS 소스 대기열이 존재하지 않거나 삭제되어 DLQ 재구동이 실패할 때 발생합니다.
"재구동 작업 생성 실패. Error code: AccessDenied - “재구동을 위한 대기열 권한” 오류
이 오류는 AWS Identity and Access Management(IAM) 개체에 필요 권한이 없어서 DLQ 재구동이 실패할 경우에 발생합니다. DLQ 재구동을 요청을 하려면 다음 API 권한이 필요합니다.
서버 측 암호화 (SSE) 대기열의 경우 다음과 같은 AWS Key Management Service(AWS KMS) 키 정책 권한이 필요합니다.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"sqs:ReceiveMessage",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"sqs:StartMessageMoveTask",
"sqs:ListMessageMoveTasks",
"sqs:CancelMessageMoveTask"
],
"Resource": "arn:aws:sqs:<DLQ_region>:<DLQ_accountId>:<DLQ_name>"
},
{
"Effect": "Allow",
"Action": "sqs:SendMessage",
"Resource": "arn:aws:sqs:<DestQueue_region>:<DestQueue_accountId>:<DestQueue_name>"
}
]
}
자세한 내용은 Amazon SQS API 직접 호출 시 발생하는 “AccessDenied” 또는 “AccessDeniedException” 오류를 해결하려면 어떻게 해야 하나요?를 참고하세요.
**중요:**2023년 8월 31일 이전에 Amazon SQS 콘솔을 사용해 DLQ 재구동 대기열 권한을 구성한 경우, 권한을 업데이트해야 합니다.
관련 정보
Amazon SQS 대기열에 액세스하려면 어떤 권한이 필요하나요?
Lambda 함수가 유효한 Amazon SQS 메시지를 재시도하고 DLQ(Dead Letter Queue)에 배치하는 이유는 무엇인가요?
Amazon SQS, FIFO DLQ(Dead Letter Queue) 재구동 지원 공지