Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

セッションアフィニティ

最終更新 Markdown で表示Agent セットアップ

セッションアフィニティを有効にすると、ロードバランサーは特定のエンドユーザーからのリクエストを、すべて同じエンドポイントへ送ります。この継続性により、ショッピングカートの中身など、複数サーバーにリクエストが分散すると失われる可能性のあるユーザーセッション情報を保てます。

セッションアフィニティはネットワークリクエストの削減にもつながり、従量課金のお客様はコストを抑えられます。

仕組み

セッションアフィニティは、同じクライアントからのリクエストを自動で同じエンドポイントに送ります。

  1. クライアントが最初のリクエストを送ると、Cloudflare はクライアントに __cflb cookie を設定します(関連するエンドポイントを追跡するため)。
  2. 同じクライアントからの後続リクエストは、cookie の有効期間中、かつエンドポイントが健全なあいだ、そのエンドポイントへ転送されます。
  3. cookie の期限が切れた場合、またはエンドポイントが不健全になった場合、Cloudflare は新しいフェイルオーバーエンドポイントを追跡する新しい cookie を設定します。
    flowchart LR
      accTitle: セッションアフィニティの処理
      accDescr: セッションアフィニティは、同じクライアントからのリクエストを同じサーバーに送ります。
     A[クライアント] --リクエスト--> B{<code>__cflb</code> cookie 設定済み?}
     B -->|はい| C[以前のエンドポイントへルーティング]
     C --> O2
     B ---->|いいえ| E[通常のルーティングに従う]
     E --> O2
     E --<code>__cflb</code> cookie を設定--> A
     subgraph P1 [Pool 1]
        O1[Endpoint 1]
        O2[Endpoint 2]
     end

Cookie ベースのセッションは、カスタムのセッション Time to live(TTL)を設定しない限り、デフォルトで 23 時間です。

Always Use HTTPS が有効な場合、セッション cookie はセキュアです。加えて、クロスサイトスクリプティング攻撃を防ぐため、cookie では HttpOnly が常に有効です。

役に立ちましたか?