ISP 向け Google Public DNS

Google Public DNS は、インターネット サービス プロバイダ(ISP)や大規模な組織を含むすべてのユーザーが自由に使用できますが、サービスを保護するため、各クライアントにレート制限が適用されます。単一の IPv4 アドレス(または IPv6 /64 ネットワーク プレフィックス)からの大量のクエリ ボリュームは、これらの上限を超えるとスロットリングされる可能性があります。

Google Public DNS を使用する前に

クライアントが Google Public DNS に直接クエリを送信する予定で、クライアントを IPv4 アドレスにマッピングするためにキャリア グレード NAT(CG-NAT)を使用しない場合は、この手順をスキップして、Google Public DNS の直接の使用の手順に沿って操作してください。

  1. ピーク時の DNS クエリ数(QPS)を確認します。

    これは、ネットワーク デバイスの NetFlow または sFlow のデータ、またはリゾルバの統計情報またはクエリログで測定できます。いずれも実行できない場合は、DNS クエリ レートを見積もる必要があります。

    ピークレートでは、瞬間的なバーストはカウントされませんが、1 日で最も混雑する時間帯の 1 ~ 2 秒間の平均トラフィックとしてカウントする必要があります。Google Public DNS では、短時間の上限を短時間超えるトラフィックの急増を許容できます。

  2. DNS クエリを送信するルーティング可能な IP アドレスの数を確認します。

    共有リゾルバを使用して DNS クエリを集約(およびキャッシュに保存)する場合は、リゾルバが使用する外部 IP アドレスの数をカウントしてください。

    デバイスが DNS クエリを Google Public DNS に直接送信する場合は、NAT またはキャリア グレードの NAT アドレス マッピングを考慮して、デバイスが使用する外部 IP アドレスの数をカウントします。

  3. IP アドレスごとのレートをデフォルトのレート制限と比較します。

    理想的には、IP アドレスごとに特定のレートを設定しますが、QPS のレート全体を IP アドレスの数で割ってかまいません。

    • IP アドレスごとの QPS レートが 1,500 QPS 未満です

      Google Public DNS は必要に応じて構成できます。レート制限の引き上げをリクエストする必要はありません。

    • IP アドレスごとの QPS レートが 1,500 QPS を超えています

      ネットワーク上のデバイスが Google Public DNS に直接クエリでき、これによって IP アドレスごとの QPS レートが上限を下回る場合は、レート制限を引き上げないでこの方法を使用できます。

      それ以外の場合は、レート制限の引き上げをリクエストする必要があります。

  4. Google Public DNS の使用を構成する

    次のセクションのいずれかの方法を使用します。

Google Public DNS を構成する

Google Public DNS の直接使用

ISP は、Google Public DNS アドレス(8.8.8.8、8.8.4.4、IPv6)を返すように DHCP などのネットワーク構成インフラストラクチャを構成できます。これにより、ネットワーク上のクライアントは Google Public DNS を直接使用できます。これは最もシンプルで信頼性の高い方法です。 ネットワーク クライアントから Google Public DNS に直接 DNS クエリを送信することで、各クライアントには個別にレート制限が適用され、不正なクライアントはスロットリングの影響を受けにくくなります。

ローカル リゾルバから Google Public DNS を使用する

また、ISP がクライアントのクエリにローカル リゾルバを使用し、ローカル リゾルバでクエリを Google Public DNS に転送することもできます。これは、規制上の理由や運用上の ISP の要件により必要になる場合があります。

ホーム ルーターなどのネットワーク デバイス

ほとんどのローカル リゾルバは、ISP が管理するルーター、ファイアウォール、DSL/ケーブル モデムで実行されます。単一のお客様向けで、独自の IP アドレスを持っている場合、Google Public DNS を直接使用するクライアントと同様に機能します。

共有キャッシュ リゾルバ

特に Google リゾルバのロケーションから遠くにある ISP の場合、DNS クエリのレイテンシを短縮するために、ISP は、多くのクライアントにサービスを提供するキャッシュ DNS リゾルバを使用できます。これにより、Google Public DNS に送信される DNS クエリの数を減らすことができますが、少数の IP アドレスに集中させると、スロットリングされる可能性が高くなります。Google Public DNS にクエリを転送する共有リゾルバを使用する ISP は、DNS のクエリ レートをモニタリングし、レートが上限を超える場合、またはクエリの 1% を超えるレスポンスが返されない場合は、レート制限の増加をリクエストする必要があります。

ISP によるその他の操作

レート制限の増加をリクエストする

CG-NAT で共有キャッシュ リゾルバまたは IPv4 アドレスを使用する ISP では、一貫したサービスを確保するために、より高いレート制限が必要になることがあります。割り当ての増加をリクエストする前に、キャッシュ リゾルバを使用している ISP はクエリログを確認する必要があります。CG-NAT を使用している ISP は、ネットワーク トラフィック ログをチェックして、リクエストの IP アドレスで 1,500 QPS 超が維持されていることを確認する必要があります。

Google Public DNS の Issue Tracker から、レート制限の引き上げリクエストを申請できます。

Google Public DNS は、レート制限が引き上げられたクライアントがスロットリングされたときに、REFUSED エラーで応答するように構成できます。このシグナルが必要な場合は、レート制限引き上げリクエストに記載してください。

Google Public DNS と代替リゾルバを併用する

ISP は、クライアントまたは共有キャッシュ リゾルバ用のいくつかのリゾルバ サービスの 1 つとして、Google Public DNS を構成することもできます。これにより、DNS の信頼性が高まり、単一障害点が排除されます。 よくある質問では、複数の DNS リゾルバを構成する際に考慮すべき問題に焦点を当てています。

Google Public DNS を緊急時のフォールバックとして使用する

ISP は Google Public DNS を緊急時のフォールバックとして構成できますが、DNS クエリの量が多い場合、クライアント IP ごとの持続的なクエリの量がデフォルトのレート制限(1,500 QPS)を超えると、Google Public DNS に切り替えるときにクエリがスロットリングされる可能性があります。

Google Public DNS サービスを適切にプロビジョニングして需要の急増に対応するために、Google では正確なベースライン トラフィック レベルに依存しています。デフォルトのレート制限にさえも満たさないトラフィック量を送信していないクライアントに対して、レート制限を引き上げることはできません。

クエリ数が多い ISP で、Google Public DNS を緊急時のフォールバックとしてのみ使用する場合、Google Public DNS リゾルバを複数の代替リゾルバ アドレスとともにフォールバックとして構成することをおすすめします。フォールバックが有効になっている場合、DNS トラフィックが複数のプロバイダに分散され、レート制限に達するリスクが軽減されます。

Google とのピアリング

DNS 解決に Google Public DNS を使用する中規模から大規模の ISP では、Google とのネットワーク ピアリングを設定する必要があります。これにより Google NOC との関係が確立され、ISP ネットワークから Google のネットワーク(Google Public DNS の IP アドレスを含む)への接続やネットワーク到達性の問題が発生した場合に、この NOC をエスカレーションに使用できます。