https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-dead-letter-queue.html

SQS에서 Queue에서 Retry가 많이 일어나서 Delivery가 되지 못한 mail이 있다면, Redrive Policy를 이용해 retry 설정을 할 수 있다.

 

예를 들어서 다음과 같이 설정을 해볼 수 있다.

1. Retry가 일어나고 있거나 Redrive Policy를 설정하고 싶은 기준 Queue의 이름을 적어둔다.(ex. sqs-source)

2. SQS에서 Queue 생성을 시작한다. Dead-letter용 Queue를 생성할 것이다.

3. 기준 Queue가 Standard면 Standard로 생성하고, 기준 Queue가 FIFO면 FIFO로 생성한다.(FIFO는 Queue 이름에 .fifo 가 붙어있다.)

4. 추가 설정은 아직 필요없기에 quick 생성으로 Queue 생성을 완료한다.(ex. sqs-deadletter)

5. 기준 Queue(ex. sqs-source)의 Configure Queue 드룸다운 메뉴를 클릭하서 설정 화면을 연다.

6. Dead Letter Queue Settings 에서 [Use Redrive Policy]를 체크하고, Dead Letter Queue에 앞서 생성한 Queue(ex. sqs-deadletter)를 입력한다.

7. Maximum Receives 에는 시도 횟수를 입력한다. (1 ~ 1,000)

8. 5~7의 과정이 완료되면 모든 설정이 완료된다.

9. 기준 Queue(ex. sqs-source)의 Redrive Policy 탭에서 Dead Letter Queue 설정된 것이 확인 가능하다.

10. Dead Letter Queue(ex. sqs-deadletter)의 Redrive Policy 탭에서도 Source Queue 로 설정된 기준 Queue(ex. sqs-source)를 확인 가능하다.

 

    기준 Queue ---(Redirve)---> Dead Letter Queue