Introduction

AWS Lambda shutdown hooks are not called when SIGTERM is not handled or reserved concurrency is exhausted. This guide provides step-by-step diagnosis and resolution with AWS CLI commands.

Symptoms

Typical error output:

bash
AWS Error: operation failed
Check CloudWatch logs for details
aws service describe-<resource>

Common Causes

  1. 1.Lambda issues are commonly caused by:
  2. 2.Memory or timeout configuration
  3. 3.IAM role or permission errors
  4. 4.VPC or network connectivity issues
  5. 5.Runtime or handler errors

Step-by-Step Fix

Step 1: Check Current State

bash
aws lambda get-function --function-name my-function
aws logs describe-log-streams --log-group-name /aws/lambda/my-function
aws lambda get-function-configuration --function-name my-function

Step 2: Identify Root Cause

Review the output for error messages and configuration issues.

Step 3: Apply Primary Fix

```bash # Update Lambda function configuration aws lambda update-function-configuration \ --function-name my-function \ --timeout 30 \ --memory-size 512

# Enable SnapStart aws lambda update-function-configuration \ --function-name my-function \ --snap-start ApplyOn=PublishedVersions ```

Step 4: Apply Alternative Fix

bash
# Alternative fix: check and update
aws service describe-<resource> --resource-id xxx
aws service update-<resource> --resource-id xxx --param value

Step 5: Verify the Fix

bash
aws lambda get-function --function-name my-function --query "Configuration.[Timeout,MemorySize]"

Common Pitfalls

  • Cold start latency in VPC
  • Memory or timeout too low
  • Missing IAM permissions
  • Unbounded recursion or loops

Best Practices

  • Set appropriate memory and timeout values
  • Use provisioned concurrency for latency-sensitive workloads
  • Implement proper error handling and retries
  • Monitor with Lambda Insights
  • AWS Lambda Function Timeout
  • AWS Lambda Memory Limit Exceeded
  • AWS Lambda Cold Start Latency
  • AWS Lambda Trigger Permission Denied