エラーレスポンステスト

オリジンから任意のエラーステータスを返し、CloudFront の Custom Error Response の動作を確認します。

エラー送信: 指定ステータスで返す → Custom Error Response 発動
正常送信: 200 で返す → Custom Error Response 発動しない(正常時の理想動作)

CloudFront エラーキャッシュのルール

⚠️ CachingDisabled ポリシーの場合

/api/* ビヘイビアは CachingDisabled マネージドキャッシュポリシーを使用しているため、エラーキャッシュもカスタムエラーページも一切キャッシュされません。毎回オリジンに到達し、オリジンのレスポンスがそのまま返ります。

例外: /api/error-test は専用のキャッシュビヘイビア(CachingDisabled 以外)が設定されているため、エラーキャッシュが有効です。

出典: CloudFront がキャッシュする HTTP 4xx および 5xx ステータスコード

CachingDisabled 以外のポリシーの場合

ステータスコード キャッシュ条件 no-store/no-cache/private の扱い
404, 414, 500, 501, 502, 503, 504 常にキャッシュ 404, 414, 501 のみ no-store/no-cache/private を尊重。
他(500, 502, 503, 504)は無視して ErrorCachingMinTTL でキャッシュ
400, 403, 405, 412, 415 Cache-Control max-age / s-maxage がある場合のみキャッシュ ヘッダーがなければキャッシュしない

キャッシュ時間の決定ルール

  1. オリジンが Cache-Control: max-age or s-maxage を返した場合 → max(ErrorCachingMinTTL, ヘッダー値)
  2. オリジンがキャッシュヘッダーを返さない場合 → ErrorCachingMinTTL(デフォルト10秒)
  3. ただし、ビヘイビアの Maximum TTL を超えない

このディストリビューションの設定

エラーコード カスタムエラーページ ErrorCachingMinTTL キャッシュ条件 備考
400/error/error-400.html5秒Cache-Control 必要設定済み
403(未設定)デフォルト10秒Cache-Control 必要未設定
404/error/error-404.html10秒常にキャッシュ設定済み
405/error/error-405.html10秒Cache-Control 必要設定済み
412(未設定)デフォルト10秒Cache-Control 必要未設定、カスタムエラーページ不可
414/error/error-414.html10秒常にキャッシュ設定済み
415(未設定)デフォルト10秒Cache-Control 必要未設定、カスタムエラーページ不可
416/error/error-416.html10秒⚠️ キャッシュされない設定済み、ただし CF は 416 をキャッシュしない
500(未設定)デフォルト10秒常にキャッシュ未設定
501/error/error-501.html10秒常にキャッシュ設定済み
502/error/error-502.html10秒常にキャッシュ設定済み
503(なし)10秒常にキャッシュ設定済み、ページ差し替えなし
504(未設定)デフォルト10秒常にキャッシュ未設定

注意: /api/error-test は専用ビヘイビア(CachingDisabled 以外)が設定されているため、上記ルールが適用されます。/api/* の他のエンドポイントは CachingDisabled のため全て無効。

クイック発火

クリックでエラー送信します。

400
403
404
405
414
416
500
501
502
503
504

カスタムリクエスト

オリジンが返したステータス
CloudFront が返したステータス
ボディ差し替え
Age
レスポンス元
レスポンスヘッダー
レスポンスボディ