Skip to content

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

DNS 永続性

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

このガイドでは、従来の DNS ベースのロードバランサーが提供する機能と同様に、Cloudflare Load Balancing で DNS 永続性を実現する方法を説明します。

DNS 永続性は、同じローカル DNS サーバーからの後続の DNS リクエストが、同じ IP アドレスを受け取るようにします。VPN 接続や認証システムなど、セッションの一貫性が必要なアプリケーションで役立ちます。

Cloudflare Load Balancing では、DNS のみの負荷分散に対して、いくつかの設定方法で DNS 永続性を実現できます。


DNS のみの負荷分散における永続性

DNS のみの負荷分散では、DNS 永続性を実現する方法が 3 つあります。

方法 1: PoP の所在地に基づく Geo Steering(推奨)

この方法では、DNS リクエストを受け取った Cloudflare の拠点(PoP)に基づいて、地理的なステアリングを使います。

設定手順

  1. エンドポイントごとにプールを作成します。どちらのプールにも Load Shedding は適用しません。
  2. DNS のみのロードバランサーを作成し、両方のプールを追加します。pool_1pool_2 より上に並べます。
  3. Traffic SteeringGeo Steering を選びます。
  4. リージョン(例: Eastern North America)の Geo Steering ルールを作成し、同じプールを逆順(先に pool_2、次に pool_1)で選びます。
  5. リクエストの送信元を決めるには、Never prefer ECSPoP location を使います。

仕組み

指定したリージョン内の Cloudflare PoP で受け取ったリクエストは一方のエンドポイントへ送られ、ほかのリージョンからのリクエストはもう一方のエンドポイントへ送られます。

推奨する理由

リクエストを受け取った Cloudflare PoP をステアリングの判断基準にすると、IP ハッシュや IP 空間の分割より安定します。再帰 DNS プロバイダーが異なる出口 IP を使う影響を受けないためです。

方法 2: IP ハッシュによる Load Shedding

この方法では、再帰 DNS リゾルバーの送信元 IP アドレスに基づいて、Load Shedding でトラフィックを振り分けます。

設定手順

  1. エンドポイントごとにプールを作成します(例: endpoint_1 を含む pool_1endpoint_2 を含む pool_2)。
  2. 最初のプールで、Endpoint SteeringHash を選びます。
  3. Load Shedding を次のように設定します。
    • Policy: IP Hash
    • Shed %: 50%(2 つのプールに均等に振り分ける場合)
  4. DNS のみのロードバランサーを作成し、両方のプールを追加します。pool_1pool_2 より上に並べます。
  5. 追加のトラフィックステアリングやルールは設定しません。

仕組み

この設定では、IP ハッシュを使ってリクエストの半分を 2 番目のプールへ振り分け、再帰リゾルバーの送信元 IP ごとにセッションアフィニティを維持します。

制限事項

一部の再帰 DNS プロバイダー(Google DNS 8.8.8.8 や Quad9 9.9.9.9 など)は出口 IP をランダムに変えることがあり、永続性の安定性が下がることがあります。

方法 3: IP 送信元フィルタリングのカスタムルール

この方法では、カスタムルールで IP アドレス範囲に基づいてトラフィックを分割します。

設定手順

  1. エンドポイントごとにプールを作成します。どちらのプールにも Load Shedding は適用しません。
  2. DNS のみのロードバランサーを作成し、両方のプールを追加します。pool_1pool_2 より上に並べます。
  3. トラフィックステアリングは設定しません。
  4. 次の内容で Custom Rule を作成します。
    • Field: IP Source Address
    • Operator: is in
    • Value: IP 空間の一部(例: IPv4 空間の下位半分は 0.0.0.0/1
  5. ルールアクションでは Override > Endpoints を選び、プールを逆順(pool_2pool_1)に設定します。

仕組み

IPv4 空間の下位半分に属する送信元 IP のトラフィックは一方のエンドポイントへ、上位半分のトラフィックはもう一方のエンドポイントへ送られます。

制限事項

方法 2 と同様に、出口 IP が変わる再帰 DNS プロバイダーでは、この方法の安定性は下がることがあります。


関連リソース

役に立ちましたか?