SQSトリガーで起動するLambdaは非同期呼び出しではないので、DLQの設定はSQSでやろう。LambdaのDLQやDestinationはダメでした。 SNS→SQS→Lambdaの組み合わせを使っている方は多いと思います。 このとき、LambdaがErrorになってもSQSにデータが残り続けるため、任意時間後に自動で再実行してくれます。便利ですね。 しかし、何らかの理由によってDLQを設定するとき、LambdaのDLQやDestinationを設定しても、動作しませんでした。 理由はSQSトリガーで動作するLambdaは非同期呼び出しではないからです。DLQを使いたい場合は、SQSのDLQを使いましょう。 Comparing Lambda invocation modes - AWS Lambda Understanding SQS retries - AWS Lambda 実際に試