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

CloudFront で Lambda@Edge が 502 エラーや 503 エラーを引き起こす場合のトラブルシューティング方法を教えてください。

所要時間1分
0

Lambda@Edge 関数を Amazon CloudFront ディストリビューションに関連付けると、502 エラーや 503 エラーが発生するため、トラブルシューティングしたいと考えています。

解決策

Lambda @Edge 関数が 502 エラーを返す

Lambda@Edge 関数が返す応答の形式が正しくないか、Lambda@Edge 関数に有効ではない内容が含まれている場合、"502" エラーが発生します。応答のオブジェクト構造は、Lambda@Edge イベント構造と整合する必要があります。

"502" エラーを解決するには、次の手順を実行します。

  • Lambda @Edge 関数が有効な JSON オブジェクトを返すことを確認します。
  • 応答には、イベントタイプに応じたすべての必須フィールドが含まれていることを確認します。
  • 応答内のオブジェクトが有効であり、想定される構造に準拠していることを確認します。
  • エッジ関数により、許容されない HTTP ヘッダーが追加されたかどうかを確認します。
  • 読み取り専用ヘッダーを削除します。
  • Lambda@Edge 関数のリクエスト本文サイズが、1 MB (オリジンリクエストイベント) または 40 KB (ビューワーリクエストイベント) を超過していないことを確認します。
  • 応答フィールドに、無効な文字や値が含まれていないか確認します。

詳細については、「Lambda@Edge 関数のテストとデバッグ」と「Lambda@Edge の制限事項」を参照してください。

Lambda@Edge 関数が 503 エラーを返す

関数コードに未処理の例外またはエラーが含まれる場合、"503" エラーが発生します。

この問題を解決するには、Lambda@Edge 関数にロギングステートメント (例: console.log())) を追加して Amazon CloudWatch Logs に書き込みを行います。CloudFront が関数を実行する AWS リージョンの CloudWatch ログを確認します。

詳細については、「AWS でのコンテンツ配信をデバッグするための 4 ステップ」および「Lambda の実行に関するトラブルシューティング」を参照してください。

Lambda@Edge のクォータを超過すると、Lambda は関数の実行をブロックします。Lambda@Edge CloudWatch メトリクスを参照し、各 AWS リージョンでの同時実行数超過や、関数の数量超過が発生していないか確認します。

AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ