DNS サーバーのポリシー

Virtual Private Cloud(VPC)ネットワークごとに 1 つの DNS サーバー ポリシーを構成できます。このポリシーでは、受信 DNS 転送、送信 DNS 転送、またはその両方を指定できます。このセクションでは、受信サーバー ポリシーとは、受信 DNS 転送を許可するポリシーのことを指します。送信サーバー ポリシーとは、送信 DNS 転送の実装に使用可能な 1 つの方法のことを指します。ポリシーに両方の機能を実装した場合、そのポリシーは受信サーバー ポリシーにも送信サーバー ポリシーにもなります。

詳細については、Cloud DNS サーバー ポリシーの適用をご覧ください。

受信サーバー ポリシー

各 VPC ネットワークは、ネットワーク インターフェース(vNIC)が VPC ネットワークに接続された仮想マシン(VM)インスタンスに Cloud DNS 名前解決サービスを提供します。VM がメタデータ サーバー 169.254.169.254 をネームサーバーとして使用する場合、Google Cloud は VPC ネットワークの名前解決順序に従って Cloud DNS リソースを検索します。

Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、またはルーター アプライアンスを使用して VPC ネットワークに接続しているオンプレミス ネットワークで VPC ネットワークの名前解決サービスを利用できるようにするには、受信サーバー ポリシーが使用できます。

受信サーバー ポリシーを作成すると、Cloud DNS は、サーバー ポリシーが適用される VPC ネットワークに受信サーバー ポリシーのエントリ ポイントを作成します。受信サーバー ポリシーのエントリ ポイントは、該当する VPC ネットワークのすべてのサブネットのプライマリ IPv4 アドレス範囲から取得される内部 IPv4 アドレスです。ただし、特定のロードバランサのプロキシ専用サブネットや、Private NAT の Cloud NAT で使用されるサブネットなど特定の --purpose を持つサブネットは除きます。

たとえば、同じリージョンにある 2 つのサブネットと、別のリージョンの 3 番目のサブネットを含む VPC ネットワークがある場合、VPC ネットワークの受信サーバー ポリシーを構成すると、Cloud DNS は受信サーバー ポリシーのエントリ ポイントとして、サブネットごとに 1 つずつ、合計 3 つの IPv4 アドレスを使用します。

VPC の受信サーバー ポリシーを作成する方法については、受信サーバー ポリシーを作成するをご覧ください。

受信クエリのネットワークとリージョン

受信サーバー ポリシーのエントリ ポイントに送信される DNS クエリを処理するため、Cloud DNS はクエリを VPC ネットワークとリージョンに関連付けます。

  • DNS クエリに関連付けられた VPC ネットワークは、Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、または DNS クエリのパケットを受信するルーター アプライアンスのネットワーク インターフェースを含む VPC ネットワークです。

    • オンプレミス ネットワークに接続する VPC ネットワークに受信サーバー ポリシーを作成することをおすすめします。これにより、受信サーバー ポリシーのエントリ ポイントは、Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、またはオンプレミス ネットワークに接続する Router アプライアンスと同じ VPC ネットワークに配置されます。

    • オンプレミス ネットワークが、別の VPC ネットワークの受信サーバー ポリシーのエントリ ポイントにクエリを送信することは可能です。たとえば、その VPC ネットワークに Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、またはオンプレミス ネットワークに接続するルーター アプライアンスが含まれている場合はまた、VPC ネットワーク ピアリングを使用して別の VPC ネットワークに接続されます。ただし、DNS クエリに関連付けられた VPC ネットワークが受信サーバー ポリシーのエントリ ポイントを含む VPC ネットワークと一致しないため、この構成はおすすめしません。これは、受信サーバー ポリシーを含む VPC ネットワーク内の Cloud DNS 限定公開ゾーンとレスポンス ポリシーを使用する DNS クエリが解決されないことを意味します。混乱を避けるために、代わりに次の構成手順を行うことをおすすめします。

      1. Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、またはルーター アプライアンスを使用して、オンプレミス ネットワークに接続する VPC ネットワークに受信サーバー ポリシーを作成します。
      2. 前のステップで構成した受信サーバー ポリシーのエントリ ポイントに DNS クエリを送信するように、オンプレミス システムを構成します。
      3. オンプレミス ネットワークに接続する VPC ネットワークに対して承認された Cloud DNS リソースを構成します。以下の方法を単独で、または組み合わせて使用してみます。

        • オンプレミス ネットワークに接続する VPC ネットワークを、他の VPC ネットワークに対して承認された Cloud DNS 限定公開ゾーンの承認済みネットワークのリストに追加します。Cloud DNS 限定公開ゾーンと、オンプレミス ネットワークに接続する VPC ネットワークが、同じ組織の異なるプロジェクトにあり、ネットワークを承認する場合は、完全なネットワーク URL を使用します。詳細については、プロジェクト間のバインディングを設定するをご覧ください。
        • オンプレミス ネットワークに接続する VPC ネットワークで承認された Cloud DNS ピアリング ゾーンの場合: ピアリング ゾーンのターゲット ネットワークを他の VPC ネットワークに設定します。オンプレミス ネットワークに接続する VPC ネットワークは、VPC ネットワーク ピアリングを使用してピアリング ゾーンのターゲット VPC ネットワークに接続するかどうかは重要ではありません。Cloud DNS ピアリング ゾーンは、ネットワーク接続のために VPC ネットワーク ピアリングに依存することはないためです。
  • DNS クエリに関連付けられているリージョンは、常に Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、または DNS クエリのパケットを受信するルーター アプライアンスのネットワーク インターフェースを含むリージョンであり、受信サーバー ポリシーのエントリ ポイントを含むサブネットのリージョンではありません

    • たとえば、DNS クエリのパケットが、us-east1 リージョンにある Cloud VPN トンネルを使用して VPC ネットワークに到達し、us-west1 リージョンの受信サーバー ポリシーのエントリ ポイントに送信されると、DNS クエリに関連付けられるリージョンは us-east1 です。
    • Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、またはルーター アプライアンスと同じリージョンにある受信サーバー ポリシーのエントリ ポイントの IPv4 アドレスに、DNS クエリを送信することをおすすめします。
    • 位置情報に基づくルーティング ポリシーを使用する場合、DNS クエリに関連するリージョンは重要です。詳細については、DNS ルーティング ポリシーとヘルスチェックを管理するをご覧ください。

受信サーバー ポリシーのエントリ ポイントのルート アドバタイズ

受信サーバー ポリシーのエントリ ポイントの IP アドレスは、サブネットのプライマリ IPv4 アドレス範囲から取得されるため、Cloud Router は Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメントまたはルーター アプライアンスの Border Gateway Protocol(BGP)セッションが Cloud Router のデフォルトのアドバタイズ モードを使用するように構成されているときに、これらの IP アドレスをアドバタイズします。次のいずれかの方法で Cloud Router のカスタム アドバタイズ モードを使用する場合は、受信サーバー ポリシーのエントリ ポイントの IP アドレスをアドバタイズするように BGP セッションを構成することもできます。

  • カスタム プレフィックスに加えて、サブネット IP アドレス範囲をアドバタイズします。
  • カスタム プレフィックスのアドバタイズに受信サーバー ポリシーのエントリ ポイントの IP アドレスを含めます。

送信サーバー ポリシー

VPC ネットワークの Cloud DNS 名前解決順序を変更するには、代替ネームサーバーのリストを指定する送信サーバー ポリシーを作成します。VM がメタデータ サーバー 169.254.169.254 をネームサーバーとして使用している場合、VPC ネットワークに代替ネームサーバーを指定すると、クエリが Google Kubernetes Engine クラスタ スコープのレスポンス ポリシーまたは GKE クラスタ スコープの限定公開ゾーンに一致しない限り、Cloud DNS はすべてのクエリを代替ネームサーバーに送信します。

送信サーバー ポリシーに複数の代替ネームサーバーが存在する場合、Cloud DNS は代替ネームサーバーをランク付けし、VPC 名前解決順序の最初のステップで説明されているように、そのネームサーバーにクエリを送信します。

送信サーバー ポリシーを作成する方法については、送信サーバー ポリシーの作成をご覧ください。

代替ネームサーバーのタイプ、ルーティング方法、アドレス

Cloud DNS は、3 つのタイプの代替ネームサーバーをサポートし、接続用に標準または限定公開の方法でルーティングできます。

代替ネームサーバーのタイプ 標準ルーティングのサポート 限定公開ルーティングのサポート クエリのソース アドレス範囲

タイプ 1 ネームサーバー

送信サーバー ポリシーが定義されている同じ VPC ネットワーク内の Google Cloud VM の内部 IP アドレス

RFC 1918 の IP アドレスのみ - トラフィックは、常に承認済み VPC ネットワーク経由でルーティングされます。 内部 IP アドレス(RFC 1918 のプライベート アドレス、RFC 1918 以外のプライベート IP アドレス、またはプライベートで再利用されたパブリック IP アドレスなど、ただし禁止されている代替ネームサーバーの IP アドレスを除く) - トラフィックは常に承認済みの VPC ネットワーク経由でルーティングされます。 35.199.192.0/19

タイプ 2 ネームサーバー

Cloud VPN または Cloud Interconnect を使用して、送信サーバー ポリシーが設定されている VPC ネットワークに接続されている、オンプレミス システムの IP アドレス。

RFC 1918 の IP アドレスのみ - トラフィックは、常に承認済み VPC ネットワーク経由でルーティングされます。 内部 IP アドレス(RFC 1918 のプライベート アドレス、RFC 1918 以外のプライベート IP アドレス、またはプライベートで再利用されたパブリック IP アドレスなど、ただし禁止されている代替ネームサーバーの IP アドレスを除く) - トラフィックは常に承認済みの VPC ネットワーク経由でルーティングされます。 35.199.192.0/19

タイプ 3 ネームサーバー

インターネットからアクセス可能な DNS ネームサーバーの外部 IP アドレスまたは Google Cloud リソースの外部 IP アドレス(別の VPC ネットワークにある VM の外部 IP アドレスなど)。

インターネット ルーティング可能な外部 IP アドレスのみ - トラフィックは、常にインターネットまたは Google Cloud リソースの外部 IP アドレスにルーティングされます。 限定公開ルーティングはサポートされていません。 Google Public DNS ソース範囲

Cloud DNS には、代替ネームサーバーに対してクエリを行うための 2 つのルーティング方法があります。

  • 標準ルーティング: Cloud DNS は、IP アドレスを使用して代替ネームサーバーのタイプを決定し、限定公開ルーティングまたは一般公開ルーティングを使用します。

    • 代替ネームサーバーが RFC 1918 IP アドレスの場合、Cloud DNS はネームサーバーをタイプ 1 またはタイプ 2 ネームサーバーに分類し、リクエストを認可済みの VPC ネットワークを通じて転送します(限定公開ルーティング)。

    • 代替ネームサーバーが RFC 1918 IP アドレスでない場合、Cloud DNS はネームサーバーをタイプ 3 として分類し、ネームサーバーがインターネットにアクセスできることが必要となります。Cloud DNS は、インターネット経由でクエリをルーティングします(一般公開ルーティング)。

  • 限定公開ルーティング: Cloud DNS は代替ネームサーバーをタイプ 1 またはタイプ 2 として扱います。Cloud DNS は代替ネームサーバーの IP アドレスが RFC 1918 か否かに関係なく、常に認可済みの VPC ネットワーク経由でトラフィックをルーティングします。

禁止されている代替ネームサーバーの IP アドレス

Cloud DNS 代替ネームサーバーには、次の IP アドレスは使用できません。

  • 169.254.0.0/16
  • 192.0.0.0/24
  • 192.0.2.0/24
  • 192.88.99.0/24
  • 198.51.100.0/24
  • 203.0.113.0/24
  • 224.0.0.0/4
  • 240.0.0.0/4
  • ::1/128
  • ::/128
  • 2001:db8::/32
  • fe80::/10
  • fec0::/10
  • ff00::/8

代替ネームサーバーのネットワーク要件

代替ネームサーバーのネットワーク要件は、代替ネームサーバーのタイプによって異なります。代替ネームサーバーのタイプを確認するには、代替ネームサーバーのタイプ、ルーティング方法、アドレスをご覧ください。ネットワーク要件については、次のいずれかのセクションをご覧ください。

タイプ 1 の代替ネームサーバーのネットワーク要件

Cloud DNS は、35.199.192.0/19 IP アドレス範囲からタイプ 1 の代替ネームサーバー IP アドレスにパケットを送信します。Google Cloud は、VPC ネットワーク内のローカル サブネット ルートを使用してクエリのパケットをルーティングします。タイプ 1 の代替ネームサーバー IP アドレスを含む宛先のポリシーベースのルートが作成されていないことを確認します。

代替ネームサーバー VM で受信パケットを許可するには、次の特性を持つ上り(内向き)許可 VPC ファイアウォール ルールまたはファイアウォール ポリシーのルールを作成する必要があります。

  • ターゲット: 代替ネームサーバー VM を含める
  • 送信元: 35.199.192.0/19
  • プロトコル: TCPUDP
  • ポート: 53

Cloud DNS では、各代替ネームサーバーが、クエリ送信元の 35.199.192.0/19 の Cloud DNS IP アドレスにレスポンス パケットを返す必要があります。レスポンス パケットの送信元は、Cloud DNS が元のクエリを送信する代替ネームサーバーの IP アドレスと一致する必要があります。Cloud DNS は、予期しない IP アドレスの送信元(代替ネームサーバーがクエリを転送する可能性のある別のネームサーバーの IP アドレスなど)からのレスポンスを無視します。

タイプ 1 の代替ネームサーバーが 35.199.192.0/19 にレスポンス パケットを送信する場合、Google Cloud がそれぞれの VPC ネットワークに追加する特別なリターン ルートが使用されます

タイプ 2 の代替ネームサーバーのネットワーク要件

Cloud DNS は、送信元が 35.199.192.0/19 IP アドレス範囲であるパケットをタイプ 2 の代替ネームサーバーに送信します。Cloud DNS は、送信サーバー ポリシーが適用される VPC ネットワーク内の次のタイプのルートに依存します。

タイプ 2 代替ネームサーバーで受信パケットを許可するには、代替ネームサーバーとファイアウォール機能を備えた関連するオンプレミス ネットワーク機器に適用される上り(内向き)許可ファイアウォール ルールを必ず構成してください。有効なファイアウォール構成では、宛先ポートが 5335.199.192.0/19 の送信元を持つ TCP プロトコルと UDP プロトコルの両方を許可する必要があります。

Cloud DNS では、各代替ネームサーバーが、クエリ送信元の 35.199.192.0/19 の Cloud DNS IP アドレスにレスポンス パケットを返す必要があります。レスポンス パケットの送信元は、Cloud DNS が元のクエリを送信する代替ネームサーバーの IP アドレスと一致する必要があります。Cloud DNS は、予期しない IP アドレスの送信元(代替ネームサーバーがクエリを転送する可能性のある別のネームサーバーの IP アドレスなど)からのレスポンスを無視します。

オンプレミス ネットワークには、Cloud DNS がクエリを送信するのと同じ VPC ネットワークおよびリージョンにある Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、または Cloud Router をネクストホップとする 35.199.192.0/19 宛先へのルートが必要です。ネクストホップがこれらのネットワークとリージョンの要件を満たす限り、Google Cloud では対称の戻りパスは必要ありません。タイプ 2 代替ネームサーバーからのレスポンスは、次のネクストホップのいずれかを使用してルーティングすることはできません

  • インターネット上のネクストホップ
  • クエリの生成元 VPC ネットワークとは異なる VPC ネットワーク内のネクストホップ
  • 同じ VPC ネットワークにあり、クエリの生成元のリージョンとは異なるリージョンにあるネクストホップ

オンプレミス ネットワークで 35.199.192.0/19 ルートを構成するには、Cloud Router のカスタム アドバタイズ モードを使用し、タイプ 2 の代替ネームサーバーを含むオンプレミス ネットワークに接続する、関連する Cloud VPN トンネル、Cloud Interconnect VLAN アタッチメント、または VPC ネットワークに接続する Cloud Router の BGP セッションにカスタム プレフィックスとして 35.199.192.0/19 を含めます。あるいは、オンプレミス ネットワークで同等の静的ルートを構成することもできます。

タイプ 3 の代替ネームサーバーのネットワーク要件

Cloud DNS は、Google Public DNS ソース範囲と送信元が一致するパケットをタイプ 3 代替ネームサーバーに送信します。Cloud DNS は公開ルーティングを使用します。送信サーバー ポリシーが適用される VPC ネットワーク内のルートには依存しません。

タイプ 3 代替ネームサーバーで受信パケットを許可するには、代替ネームサーバーに適用される有効なファイアウォール構成で、Google Public DNS ソース範囲からのパケットが確実に許可されるようにしてください。