アウトバウンド エンドポイントの概要

このドキュメントでは、Cloud DNS アウトバウンド エンドポイントの概要について説明します。アウトバウンド エンドポイントを転送ゾーンまたはサーバー ポリシーに接続すると、プライベート IP アドレスを使用して、VPC ネットワークから外部およびオンプレミスの DNS リゾルバに DNS クエリを直接転送できます。アウトバウンド エンドポイントを使用すると、アウトバウンド DNS トラフィックをきめ細かく制御でき、ハイブリッド DNS 解決とマルチクラウド DNS 解決のユースケースのブロックを解除する機能が強化されます。

アウトバウンド エンドポイントを作成、更新し、転送ゾーンまたはサーバー ポリシーに関連付ける方法については、アウトバウンド エンドポイントを作成、更新するをご覧ください。

アウトバウンド エンドポイントの機能

アウトバウンド エンドポイントを使用すると、アウトバウンド DNS トラフィックの送信元 IP アドレスを制御できます。各ネットワークに一意の Egress 範囲を割り当てることで、VPC ネットワーク固有の動作を有効にできます。一意の下り(外向き)範囲により、既存の固定転送プロキシ範囲のルーティング制限が解消されます。

GKE クラスタは、ホスト VPC ネットワークを使用して外部宛先をクエリするときに、アウトバウンド エンドポイントを自動的に継承します。ホスト VPC ネットワークが、アウトバウンド エンドポイントで構成された標準のグローバル Cloud DNS 転送ゾーンまたはサーバー ポリシーに対して認可されている場合、VPC DNS の解決を使用する Pod は、クラスタレベルの変更やゾーン転送ゾーンを必要とせずに、リージョンのアウトバウンド エンドポイントを介してアウトバウンド クエリを自動的にルーティングします。

既存の DNS 転送設定をアウトバウンド エンドポイントに移行する方法については、既存の Cloud DNS 転送設定をアウトバウンド エンドポイントに移行するをご覧ください。

アウトバウンド エンドポイントのアーキテクチャとクエリのルーティング

アウトバウンド エンドポイントは特定の VPC ネットワーク内に作成され、そのネットワークのプロキシ専用サブネットを送信元 IP アドレスに使用します。

アウトバウンド エンドポイントを転送ゾーンまたはサーバー ポリシーに接続すると、Cloud DNS はまず、既存のターゲット ランキング アルゴリズムを使用して、最もランクの高いアウトバウンド エンドポイントを介して DNS クエリをルーティングしようとします。そのエンドポイントが異常な場合、Cloud DNS は次にランクの高いエンドポイントを試します。地理的に最も近いアウトバウンド エンドポイントが優先されますが、保証されるものではありません。

宛先サーバーのランキング アルゴリズムは自動的に実行され、既存の転送ゾーンのフェイルオーバー パターン(レイテンシとエラー率が最も低い IP の選択)に基づいています。次の要因により、転送ターゲットのランキングが上がります。

  • 転送先で処理された成功した DNS レスポンスの数が多い。成功した DNS レスポンスには NXDOMAIN レスポンスも含まれます。
  • 転送ターゲットとの通信のレイテンシが短縮されます。
  • アウトバウンド エンドポイントまでの地理的な距離が短い。成功し、レイテンシ データが使用できない場合は、最も近いターゲットが優先されます。

リージョンの停止から保護するには、コンピューティング ワークロードを実行する少なくとも 2 つのリージョンでアウトバウンド エンドポイントを構成します。このアプローチにより、Cloud DNS にリージョン フェイルオーバー ターゲットが提供され、クエリ レイテンシが最小限に抑えられます。ハイブリッド接続が特定のリージョンでのみプロビジョニングされている場合でも、他のコンピュート リージョンのエンドポイントは、これらの接続を介してオンプレミス リゾルバに到達できます。

最もランクの高いエンドポイントが別のリージョンにある場合でも、Cloud DNS はそのエンドポイントにクエリをルーティングし続けます。たとえば、リージョン A のエンドポイントが利用できなくなると、トラフィックはリージョン B の正常なエンドポイントに自動的にルーティングされます。リージョン A のエンドポイントが正常に戻ると、ランキング アルゴリズムによってパフォーマンスの向上が検出され、今後のクエリで再び優先されるようになります。

プロジェクトごと、リージョンごとに最大 10 個のアウトバウンド エンドポイントを設定できますが、必要に応じて Google Cloud コンソールで割り当ての増加をリクエストできます。転送ゾーンまたはサーバー ポリシーに接続できるアウトバウンド エンドポイントは最大 100 個です。

リージョンのオンプレミス リゾルバにクエリを転送する

Cloud DNS では、トラフィックが送信元の VM と同じリージョンのエンドポイントに送信されることは保証されませんが、位置情報ルーティング ポリシーを使用して、最も近いターゲット ネームサーバーにトラフィックをルーティングできます。Cloud DNS は、発信元クエリと転送先ネームサーバーに最も近いリージョンのアウトバウンド エンドポイントに優先的にトラフィックを転送しますが、転送先ネームサーバーのリージョンとアウトバウンド エンドポイントのリージョンは密結合していません。ロケーションに関係なく、Cloud DNS は、過去に最も低いレイテンシを提供したエンドポイントを選択します。

クエリをリージョンのオンプレミス リゾルバにルーティングするために必要なことの概要は次のとおりです。

  • 位置情報ポリシーを使用してゾーンを作成する: 制御する FQDN(onprem-resolvers.example.com など)に対して、VPC ネットワークで承認された新しい Cloud DNS 限定公開ゾーンを作成します。このゾーンで、オンプレミス DNS サーバーの IP の A レコードを作成し、位置情報ルーティング ポリシーを適用します。特定のリージョンから送信されたクエリに対してリゾルバ IP を返すようにポリシーを構成します。たとえば、ヨーロッパの Google Cloud リージョンから送信されたクエリに対して、ヨーロッパのリゾルバ IP を返します。
  • FQDN を転送ターゲットとして使用する: 転送ゾーンで、作成した FQDN(onprem-resolvers.example.com)を宛先 DNS サーバーとして使用します。
  • アウトバウンド エンドポイントを構成する: リージョン アウトバウンド エンドポイント(米国のリージョンとヨーロッパのリージョンにあるエンドポイントなど)をこの転送ゾーンに関連付けます。

あるリージョンの VM がクエリを実行すると、システムは 2 段階のルーティング プロセスに従います。

  • エンドポイントの選択: Cloud DNS は、転送ゾーンに関連付けられたアウトバウンド エンドポイントのリストを評価し、最適なエンドポイントを選択します(たとえば、ヨーロッパの VM からのクエリには、ヨーロッパのエンドポイントが選択される可能性が高くなります)。
  • 宛先の解決: 選択したアウトバウンド エンドポイントが宛先 FQDN(onprem-resolvers.example.com)を解決します。アウトバウンド エンドポイントは、指定されたリージョンにあるリージョン リソースであるため、Geolocation ポリシーはクエリの送信元をそのリージョンとして識別し、そのリージョン用に構成した特定の IP アドレスを返します。アウトバウンド エンドポイントは、元のクエリをターゲット DNS サーバーの IP に転送します。

詳細については、Cloud DNS FQDN の送信 DNS 転送チュートリアルをご覧ください。

単一の VPC ネットワーク内のローカル エンドポイントのないリージョンからの転送

Google Cloud VPC ネットワークは、複数のリージョンにサブネットを含めることができるグローバル リソースです。アウトバウンド エンドポイントを構成していないリージョンから VM がクエリを実行しても、転送は成功します。クエリは、同じ VPC ネットワーク内に存在し、転送ゾーンまたはサーバー ポリシーで構成されている、利用可能なアウトバウンド エンドポイントのうち最もランクの高いものにリージョン間で転送されます。

送信元 IP 分離を使用した同じリージョン内の複数の VPC ネットワークからの転送

同じリージョン内の複数の VPC ネットワークからクエリを転送し、オンプレミス リゾルバが各 VPC ネットワークの個別の送信元 IP アドレスを確認できるようにする必要がある場合は、次の操作を行います。

  1. 各 VPC ネットワークにアウトバウンド エンドポイントを作成する: 詳細については、アウトバウンド エンドポイントを作成するをご覧ください。
  2. 各 VPC ネットワークに転送ゾーンまたはサーバー ポリシーを作成する: その VPC ネットワークのみに対して転送ゾーンまたはサーバー ポリシーを承認し、その VPC ネットワークのアウトバウンド エンドポイントのみを使用します。

このアクションにより、各 VPC ネットワーク内の VM は、それぞれの VPC ネットワークのアウトバウンド エンドポイントを介してクエリを送信します。各エンドポイントは、クエリをオンプレミス リゾルバに転送します。オンプレミス ネットワークは、各 VPC ネットワークのプロキシ専用サブネットの送信元 IP アドレスを認識するため、ネットワークごとに異なる構成をトラフィックに適用できます。

異なる VPC ネットワーク間での統合転送(ハブアンドスポーク)

別の集中型 VPC ネットワーク(ハブ)でアウトバウンド エンドポイントを使用するように、転送ゾーンまたはサーバー ポリシーを構成できます。Cloud DNS はクエリ転送を内部で処理するため、ハブ ネットワークとクエリの送信元である VPC ネットワーク(スポーク)間のネットワーク接続は必要ありません。

アウトバウンド エンドポイントと、転送ゾーンまたはサーバー ポリシーの転送ターゲット間のネットワーク接続を構成する必要があります。Cloud Interconnect または Cloud VPN を使用して接続を確立し、オンプレミス リゾルバにアクセスできます。VPC ネットワーク ピアリングを使用すると、別の VPC ネットワークの転送ターゲットにアクセスできます。

  1. ハブ VPC ネットワークにアウトバウンド エンドポイントを作成します。
  2. スポーク VPC ネットワークに転送ゾーンまたはサーバー ポリシーを作成し、ハブ ネットワークのアウトバウンド エンドポイントを使用するように構成します。

スポーク VPC ネットワーク内の VM は、ハブ VPC ネットワークのアウトバウンド エンドポイントを介してクエリを送信します。エンドポイントは、クエリをオンプレミス リゾルバに転送します。

共有 VPC のサポート

アウトバウンド エンドポイントは、共有 VPC デプロイをサポートしています。エンドポイントとそれに関連付けられたプロキシ専用サブネットは、ホスト プロジェクトに一元的に作成されます。サービス プロジェクトは、プライベート転送ゾーンまたはサーバー ポリシーを作成し、ホスト プロジェクトの一元管理されたアウトバウンド エンドポイントにプロジェクト間でバインドできます(ホスト プロジェクトで dns.outboundEndpoints.bindPrivateDNSZone または dns.outboundEndpoints.bindPrivateDNSPolicy が必要です)。

アウトバウンド エンドポイントに関連付けられたネットワーク リソースを管理する

Cloud DNS アウトバウンド エンドポイントは、基盤となる VPC ネットワークとサブネットとの厳格なライフサイクル依存関係を適用し、削除や変更などの偶発的なインフラストラクチャの変更から本番環境の DNS トラフィックを保護します。

アウトバウンド エンドポイントで使用されているプロキシ専用サブネットまたは VPC ネットワークを削除する

アウトバウンド エンドポイントでアクティブに使用されているプロキシ専用サブネットまたは VPC ネットワークは、停止を防ぐために削除から保護されます。これらのリソースを削除しようとすると、エラーが発生します。これらのリソースを削除する場合は、次の手順を正確な順序で実行する必要があります。

  1. Cloud DNS 構成を更新する: アウトバウンド エンドポイントを使用する転送ゾーンまたはサーバー ポリシーを編集し、構成から削除して、使用されないようにします。
  2. アウトバウンド エンドポイントを削除する: エンドポイントが使用されなくなったら、削除できます。この操作により、プロキシ専用サブネットへの依存関係が解放されます。
  3. プロキシ専用サブネットを削除する: 他のリソースが使用していないことを確認してから、プロキシ専用サブネットを削除します。
  4. VPC ネットワークを削除する: 他のすべての VPC 依存関係が削除されたら、VPC ネットワークを削除できます。

サブネットの変更

アウトバウンド エンドポイントがプロキシ専用サブネットをアクティブに使用している場合、プロキシ専用サブネットを直接変更することはできません。この制限により、IP アドレス範囲などの主要なプロパティを編集できなくなり、サービス停止を回避できます。サブネットを変更するには、既存のガイドラインに沿って、まず新しいサブネットに移行する必要があります。

アウトバウンド エンドポイントで使用されているサブネットを変更するには、次の操作を行います。

  1. バックアップ サブネットを作成する: 同じ VPC ネットワークとリージョンに新しいプロキシ専用サブネットを作成します。作成時に、このサブネットのロールを BACKUP に設定する必要があります。
  2. 新しいサブネットを有効にする: 新しいサブネットのロールを ACTIVE に更新します。これにより、元のサブネットが自動的に BACKUP ロールに設定され、アクティブな接続のドレインが開始されます。
  3. コネクション ドレインを待機: コネクション ドレイン プロセスが完了するまでの時間を許可します。
  4. 古いサブネットを削除する: 元のサブネットが BACKUP ロールになり、アクティブな接続がなくなったら、元のサブネットを削除できます。

オンプレミス ファイアウォールの専用送信元 IP の予測可能性

オンプレミスの DNS ファイアウォールで、DNS トラフィックに分離された専用の予測可能な送信元 IP アドレス範囲が必要な場合は、次のアーキテクチャを適用することをおすすめします。

  • 専用の下り(外向き)VPC ネットワークにデプロイする: 通常のサブネット(アウトバウンド エンドポイント IP アドレス用)と、Cloud DNS 専用に予約されたリージョン プロキシ専用サブネット(--purpose=REGIONAL_MANAGED_PROXY と --role=ACTIVE)を含む専用 VPC ネットワークを作成します。
  • アプリケーション VPC ネットワークを分離する: アプリケーション VPC ネットワークをこの専用の下り(外向き)ネットワークにピアリングまたはルーティングしないでください。Cloud DNS は Google Cloudインフラストラクチャ内でクエリを内部的に転送するため、これらの VPC ネットワーク間の直接的なネットワーク接続は必要ありません。
  • 専用の下り(外向き)VPC ネットワークを外部転送ターゲットに接続する: 専用の下り(外向き)VPC ネットワークと外部またはオンプレミスのターゲット ネームサーバー間の接続のみを構成します。このパスを確立するには、次のコマンドを使用します。
    • 既存のトランジット VPC への VPC ネットワーク ピアリング: これは推奨されるアプローチであり、最も費用対効果の高い方法です。組織に、オンプレミスへの Cloud Interconnect または Cloud VPN を備えた中央トランジット VPC ネットワークがすでに存在する場合は、専用の DNS VPC ネットワークをそのトランジット ハブにピアリングします。このアプローチにより、冗長なハイブリッド回路のプロビジョニングを回避し、費用を最小限に抑えることができます。
    • 直接ハイブリッド接続: 専用 DNS VPC ネットワークで直接終端する Dedicated Interconnect、Cross-Cloud Interconnect、または Cloud VPN。

制限事項

アウトバウンド エンドポイントには次の制限があります。

  • 送信元 IP とサブネットの共有が同じリージョン内のリソースに限定される: アウトバウンド エンドポイントは、接続されている VPC ネットワークのリージョン プロキシ専用サブネットから送信元 IP 範囲を割り当てます。標準デプロイでは、このプロキシ専用サブネットを、リージョン アプリケーション ロードバランサなどの他のリージョン リソースと共有できます。

  • プロキシ専用サブネットへのダイレクト ピアリングはサポートされていません: プロキシ専用サブネットと直接ピアリングすることはできません。外部ネームサーバーへのネットワーク接続は、Cloud Interconnect、Cloud VPN、VPC ネットワーク ピアリングなどの標準の VPC ルーティングを介して確立する必要があります。

  • IPv4 のみのサポート: アウトバウンド エンドポイントの送信元 IP アドレスは IPv4 のみです。クエリは、IPv4 アドレスに解決される転送ゾーンの IPv4 ターゲットまたは FQDN 転送ターゲットにのみ転送できます。

  • プロジェクト間でアウトバウンド エンドポイントをネットワークにバインドすることはサポートされていません。ホスト プロジェクトの共有 VPC ネットワークに接続されたサービス プロジェクトでアウトバウンド エンドポイントを作成することはサポートされていません。アウトバウンド エンドポイントは、接続先の VPC ネットワークとサブネットと同じプロジェクトに存在する必要があります。

  • プライベート ターゲットに限定: アウトバウンド エンドポイントは、プライベート ターゲットへの転送のみをサポートし、パブリック インターネット DNS トラフィックの外向きプロキシまたは静的送信元 IP アンカーとして使用できません。パブリック インターネット ターゲットへのクエリは、Google の分散エニーキャスト エッジを介して直接解決されるため、レイテンシが最小限に抑えられ、Cloud NAT への依存を回避できます。

  • リージョン スコープ: アウトバウンド エンドポイントはリージョン リソースです。エンドポイントは、使用するリージョンごとに作成する必要があります。

  • 単一の転送メカニズムのみ: 転送メカニズム(デフォルトの 35.199.192.0/19 範囲またはアウトバウンド エンドポイント)は、転送ゾーンまたはサーバー ポリシー レベルで構成されます。ただし、同じゾーンまたはポリシーに両方の方法を同時に使用することはできません。

次のステップ