スキップしてコンテンツを表示

Lambda 関数で発生する「runtime exited」エラーのトラブルシューティング方法を教えてください。

所要時間1分
0

AWS Lambda 関数から、「Runtime exited with error: exit status 129」というエラーが返されました。

解決策

次のベストプラクティスに従って Lambda 関数のコードを確認し、根本原因を特定し、ランタイムエラーをトラブルシューティングします。

  • 関数のコードに、process.exit(0)exit()quit()os.Exit()Environment.Exit() などの構文を明示的に呼び出す終了コードがないか確認します。関数のコードに上記のいずれかの終了コードが含まれている場合は、削除するか、有効な return ステートメントに置き換えます。
  • Lambda 関数の Amazon CloudWatch Logs を参照し、関数のメモリを確認します。Lambda は、設定されたメモリ量に比例して CPU パワーを割り当てます。メモリ消費量が設定した制限に達した場合は、メモリ量を増やす必要がある場合があります。Lambda 関数に割り当てられるメモリの量は、128 MB から 10,240 MB の間で設定できます。コードを最適化してもリソース消費量を削減できます。詳細については、「Lambda 関数の適切なメモリ設定を判断する」を参照してください。
  • 関数がバックエンドデータベースに接続している場合、接続が過多になる可能性があります。不要な接続を避けるため、データベース接続は関数ハンドラーの外部で初期化してください。後続の Lambda 関数呼び出しリクエストでは、これらのデータベース接続を再利用できます。詳細については、「AWS Lambda 関数を使用するためのベストプラクティス」を参照してください。
  • Lambda 関数の呼び出し時にアイドル状態の接続を再利用しようとすると、接続エラーが発生します。持続的な接続を確保するには、ランタイムに関連付けられた keep-alive ディレクティブを使用してください。詳細については、「Node.js で Keep-alive を使用して接続を再利用する」を参照してください。
  • Lambda 関数で、ファイル記述子とスレッド制限 (1,024) に起因する「out of memory」エラーが発生していないかどうかを確認します。関数で Lambda Insights 拡張モニタリングを有効にします。専用のクエリ構文を使用すると、メモリ使用量に関するメトリクスのログデータを検索、分析できます。たとえば、fd_use メトリクスを監視します。メトリクスは /aws/lambda-insights というロググループ名に保存されます。詳細については、「Lambda Insights が収集するメトリクス」を参照してください。
AWS公式更新しました 3年前
コメントはありません

関連するコンテンツ