説明
Lambdaでは、再試行回数やイベント保持時間の上限に達した非同期イベントを別の宛先に送信できます。デッドレターキューや失敗時の送信先がないと、これらのイベントを保存できない場合があります。
想定される影響
失敗した入力を確保できないと、原因調査や再処理が難しくなることがあります。
対処方法
DeadLetterConfig.TargetArnに標準SQSキューまたはSNSトピックを指定するか、非同期呼び出しの失敗時の送信先を設定してください。送信権限と保持・再処理の手順を確認してください。SQSイベントソースでは、ソースキューのDLQを設定します。
例
非同期呼び出し用のDLQを追加する例です。LambdaRuntimeには関数のZIPと互換性があるサポート対象ランタイムを指定し、宛先キューと実行ロールの権限は別途準備してください。
変更前
yaml
AWSTemplateFormatVersion: '2010-09-09'
Description: VPC内の関数。
Resources:
Function:
Type: AWS::Lambda::Function
Properties:
Handler: index.handler
Role: arn:aws:iam::123456789012:role/lambda-role
Code:
S3Bucket: my-bucket
S3Key: function.zip
Runtime: !Ref LambdaRuntime
Timeout: 5
TracingConfig:
Mode: Active
VpcConfig:
SecurityGroupIds:
- sg-085912345678492fb
SubnetIds:
- subnet-071f712345678e7c8
- subnet-07fd123456788a036
Tags:
- Key: Description
Value: VPC Function
- Key: Type
Value: AWS Lambda Function
変更後
yaml
AWSTemplateFormatVersion: '2010-09-09'
Description: VPC内の関数。
Resources:
Function3:
Type: AWS::Lambda::Function
Properties:
Handler: index.handler
Role: arn:aws:iam::123456789012:role/lambda-role
Code:
S3Bucket: my-bucket
S3Key: function.zip
Runtime: !Ref LambdaRuntime
Timeout: 5
TracingConfig:
Mode: Active
VpcConfig:
SecurityGroupIds:
- sg-085912345678492fb
SubnetIds:
- subnet-071f712345678e7c8
- subnet-07fd123456788a036
Tags:
- Key: Description
Value: VPC Function
- Key: Type
Value: AWS Lambda Function
DeadLetterConfig:
TargetArn: arn:aws:sqs:us-east-1:123456789012:aaa