コンテンツにスキップ

DNS解決

部分ゾーンを持っている場合、CloudflareはプロキシされたHTTPリクエストが送信されるオリジンサーバーを内部的に解決するために、完全なゾーンとは少し異なる方法でDNSレコードを処理します。

同じゾーン内のレコード

部分ゾーンで新しいDNSレコードを作成すると、Cloudflareは自動的にあなたのCNAMEレコードが同じゾーン内の既存のAAAAA、またはCNAMEレコードを指しているかどうかを確認します。

例えば、以下のようなレコードが部分ゾーンにある場合、Cloudflareは警告を表示します:

sub1.partialzone.com CNAME sub2.partialzone.com
sub2.partialzone.com A 192.0.2.1

CloudflareはCNAMEとそのターゲットの両方を含んでいるため、私たちのDNS解決は、sub1.partialzone.comへの着信HTTPリクエストをオリジン192.0.2.1に送信します。

これにより、あなたの権威DNSプロバイダーにsub2.partialzone.comのDNSレコードがすでに存在する場合に問題が発生する可能性があります。これらのレコードは192.0.2.4、別のIPアドレス、または別のドメインを指しているかもしれませんが、Cloudflareが最初のレコードとターゲットを含んでいるため、sub2.partialzone.comのレコードについて権威DNSプロバイダーに問い合わせることはありません。

    flowchart TD
      accTitle: 同じ部分ゾーン内のCNAMEターゲットを持つDNS解決フロー
      A[<code>sub1.partialzone.com</code>へのリクエスト] --> B[<code>sub1.partialzone.com</code>のための<code>CNAME</code>レコードが<code>sub2.partialzone.com</code>に]
      subgraph Cloudflare
        B --> C[<code>sub2.partialzone.com</code>のための<code>A</code>レコードが<code>192.0.2.1</code>に]
      end
      C --> D[<code>192.0.2.1</code>]
      subgraph 権威DNS
      E[<code>sub2.partialzone.com</code>のための<code>A</code>レコードが<code>192.0.2.4</code>に]
      end

この状況を避ける場合、つまりCNAMEレコードのターゲットが部分ゾーン内にない場合、このDNS解決は異なる方法で行われます。

    flowchart TD
      accTitle: 部分ゾーン内にないCNAMEターゲットを持つDNS解決フロー
      A[<code>sub1.partialzone.com</code>へのリクエスト] --> B[<code>sub1.partialzone.com</code>のための<code>CNAME</code>レコードが<code>sub2.partialzone.com</code>に]
      B --> C[<code>sub2.partialzone.com</code>のための<code>A</code>レコードが<code>192.0.2.4</code>に]
      C --> D[<code>192.0.2.4</code>]
      subgraph Cloudflare
        B
      end
      subgraph 権威DNS
        C
      end

同じアカウント内の部分ゾーンを指すレコード

あなたは、アカウント内の別の部分ゾーンのレコードを指すゾーン(部分または完全なセットアップ)でCNAMEレコードを作成することもできます。

この場合、Cloudflareは常に部分ターゲットゾーンの権威DNSプロバイダーの値に基づいてCNAMEターゲットを解決します。

    flowchart TD
      accTitle: 同じアカウント内のゾーンにおけるCNAMEターゲットを持つDNS解決フロー
      A[<code>www.alice.com</code>へのリクエスト] --> B[<code>www.alice.com</code>のための<code>CNAME</code>レコードが<code>www.partialzone.com</code>に]
      B --> C[<code>www.partialzone.com</code>のための<code>A</code>レコードが<code>192.0.2.4</code>に]
      C --> D[<code>192.0.2.4</code>]
      subgraph Cloudflareアカウント
        subgraph Cloudflareゾーン1
          B
        end
        subgraph Cloudflareゾーン2
        E[<code>www.partialzone.com</code>のための<code>A</code>レコードが<code>203.0.113.1</code>に]
        end
      end
      subgraph 権威DNS
      C
      end