Serverlessの非同期失敗イベントの保管設定を確認

処理に失敗した非同期イベントを復旧できる経路を用意してください。

説明

Lambdaの非同期呼び出しが再試行後も処理できない場合、DLQや失敗送信先でイベントを保管できます。Serverless FrameworkのonErrorはSNSトピックを指定する設定であり、同期呼び出しやSQSトリガーの失敗処理を代替するものではありません。

想定される影響

失敗イベントの保管経路がなければ、再試行期限を過ぎたイベントの調査や再処理が難しくなる場合があります。

対処方法

呼び出し方式に合う失敗処理を選んでください。onErrorを使う場合は、既存のSNSトピック、発行権限、イベントを保管する購読先、再処理手順を構成してください。

例

Framework 4とNode.js 22に対応するhandler.helloを別途用意する抜粋です。failureTopicArnに既存のSNSトピックARNを渡してください。

変更前

yaml
service: service
frameworkVersion: '4'
provider:
  name: aws
  runtime: nodejs22.x

functions:
  hello:
    handler: handler.hello

変更後

yaml
service: service
frameworkVersion: '4'
provider:
  name: aws
  runtime: nodejs22.x

functions:
  hello:
    handler: handler.hello
    onError: ${param:failureTopicArn}

参考資料