Task timed out after X.00 seconds
AWS LambdaでタイムアウトしてTask timed outとなるエラー
概要
AWS Lambda関数が設定されたタイムアウト時間内に実行を完了できなかった場合に発生するエラーです。デフォルトのタイムアウトは3秒、最大15分まで設定可能です。
エラーメッセージ
Task timed out after 3.00 seconds
| |
原因
- 処理時間超過: 処理が設定時間より長くかかる
- 外部API呼び出し: 外部サービスのレスポンスが遅い
- データベース接続: DB接続のタイムアウトや遅延
- コールドスタート: 初回起動時の遅延
- 無限ループ: 終了しないループ処理
- メモリ不足: メモリ不足による処理速度低下
解決策
1. タイムアウト時間を延長
| |
| |
2. メモリを増やす(CPUも比例して増加)
| |
3. 外部API呼び出しにタイムアウト設定
| |
4. コネクションプールを再利用
| |
5. 非同期処理に変更
| |
6. 残り時間を確認
| |
7. Provisioned Concurrencyでコールドスタート回避
| |
8. VPC設定の見直し
| |
監視とデバッグ
| |
よくある間違い
- 同期的に大量のAPI呼び出しを行う
- VPC内LambdaでNAT Gateway経由の遅延を考慮しない
- コールドスタートの影響を見落とす
- メモリを増やすとCPUも増えることを知らない
関連エラー
参考リンク
AWS の他のエラー
AccessDeniedException: User is not authorized
ECS CannotPullContainerError
AccessDenied: User is not authorized to perform sts:AssumeRole
IncompleteSignature: The request signature we calculated does not match
MissingAuthenticationToken: Missing Authentication Token
SignatureDoesNotMatch: The request signature we calculated does not match
この記事は役に立ちましたか?