DuraSite-Edge Online Manual

1. TTLの指定できる長さ

キャッシュTTL(Time To Live)は、DuraSite-Edgeがキャッシュしたコンテンツを、オリジンサーバーに有効性を再確認することなく、どれくらいの期間(秒単位)クライアントへのレスポンスとして利用できるかを定めた有効期間のことです。

適切なTTLを設定することで、コンテンツの鮮度を保ちつつ、キャッシュによる高速応答とオリジンサーバーの負荷軽減効果を最大化できます。

機能概要 #

DuraSite-Edgeでは、キャッシュするコンテンツに対してTTL(有効期間)を設定できます。TTLの期間内であれば、同じコンテンツへのリクエストに対してオリジンサーバーへ問い合わせることなく、DuraSite-Edge上のキャッシュから直接応答します。

TTLは管理画面から設定できますが、設定可能な期間には制限があります。また、後述するように、オリジンサーバーが返すHTTPヘッダ(Cache-Controlなど)の指示が、管理画面での設定よりも優先されるのが基本的な動作です。

設定方法 #

キャッシュTTLは、DuraSite-Edgeの管理画面から、特定のURLパスパターン等に対するルールの一部として設定することができます。これにより、コンテンツの種類や更新頻度に応じてきめ細かなキャッシュ期間制御が可能になります。

以下は、「URLベース詳細設定登録」画面(または類似のルール設定画面)で特定のルールに対してTTLを設定する手順の例です。

  1. ルールを適用したい対象パス(マッチ方法含む)を指定します。
  2. アクション選択: ドロップダウンリストから、「TTL設定」というアクションを選択します。
  3. TTL値の入力: アクションを選択すると、TTL値を入力するための数値フィールドが表示されます。ここに、キャッシュさせたい期間を秒単位で入力します。
  4. 必要に応じて、「テストにのみ適用」スイッチや優先度(↑↓ボタン)を調整します。
  5. 「保存」ボタンをクリックしてルールを適用します。設定が反映されるまで、少し時間がかかる場合があります。

サービスの設定画面で直接指定できるTTL値の範囲は以下の通りです。

【管理画面で指定可能なTTLの範囲】

管理画面から直接TTL値を指定する場合、設定可能な値の範囲は以下の通りです。

項目設定可能な値設定可能な値
最小値0 秒TTLを 0 に設定すると、該当のコンテンツはキャッシュされません。
最大値8640000 秒 (100日)これはサービス設定画面上で直接指定できる上限値です。

主なユースケース #

コンテンツの特性や更新頻度に応じて、TTLを適切に設定(またはオリジンに委ねる)することが重要です。

  • 更新頻度が高いコンテンツ:
    • 例: 数分ごとに更新されるニュース速報、株価情報APIの応答など。
    • 設定: 管理画面のルール設定で短いTTL(例: 60秒、300秒など)を指定します。オリジン側で Cache-Control: max-age=60 のように指定することも有効です。
  • 更新頻度が低い静的コンテンツ:
    • 例: Webサイトのロゴ画像、CSSフレームワーク、JavaScriptライブラリなど、滅多に変更されないファイル。
    • 設定: 管理画面のルール設定で長いTTL(例: 8640000秒 (100日))を指定するか、オリジンサーバー側で適切に長い Cache-Control: max-age(例: 31536000 (1年))や s-maxage を返すように設定します。オリジン側で指定する方が、ファイルの変更時にヘッダを更新するだけで済むため管理しやすい場合があります。
  • キャッシュさせたくないコンテンツ:
    • 例: ログイン後の個人情報表示ページ、CSRFトークンを含むフォームページ、常に最新である必要がある在庫情報など。
    • 設定: 管理画面のルール設定でTTLを 0 に設定するか、「キャッシュ無効化」ルールを適用します。または、オリジンサーバー側で Cache-Control: no-store または Cache-Control: private を返すのが一般的です。
  • Webアプリケーション側での動的な制御:
    • 例: コンテンツ管理システム(CMS)やWebアプリケーションフレームワークが、コンテンツの性質(記事の公開状態、ユーザー権限など)に応じて最適な Cache-Control ヘッダを動的に付与する。
    • 設定: DuraSite-Edge側のTTL設定はデフォルト値(または影響の少ない広域な値)のままにし、オリジンサーバーからの Cache-Control ヘッダの指示にキャッシュ動作を委ねます。これにより、アプリケーションレベルでのきめ細かなキャッシュ制御が可能になります。