遠くのデータセンターへルーティングされたユーザーは、すべてのリクエストで往復のコストを支払う。
DNSが場所に関係なくすべてのユーザーに同じデータセンターを渡すと、そのDCから遠いユーザーはすべてのリクエストでより長いネットワーク経路を背負います。この余分な距離は、より高い往復時間、より遅い接続確立、そして宛先側のバックエンドをいくらチューニングしても回復できない劣化した体験として現れます。
国単位のみのルーティングは役立ちますが、粒度が粗いものです。ユーザーは正しい国にいながら、国内の2つのデータセンターのうち一方に他方よりはるかに近いことがあり、国境ベースのルールでは両者を区別できません。近接性を完全に無視する分配 — 全DCにわたるラウンドロビンやランダム — は、一部のユーザーを積極的に遠回りさせます。
近接性の判断を外部の位置情報サービスに委ねることには、それ自体の問題があります。DNSクエリのコンテキストが組織の外に出ること、判断層が第三者の可用性に依存すること、そしてデータレジデンシー義務を満たすのが難しくなることです。重要なトラフィック判断が外部APIに左右されるべきではありません。
正確性の落とし穴もあります。最寄りのデータセンターへの近接性は、そのデータセンターが実際に正常である場合にのみ有用です。障害が発生している最寄りのDCへユーザーをステアリングすることは、わずかに遠い稼働中のDCへ送るよりも悪いことです。
TR7の遅延ベースDNSルーティングはまさにこれに対処します。オフラインの近接性データを使用して各リクエスト元に最寄りの正常なデータセンターを選択し、クエリのコンテキストを漏らすことなく、またDCのヘルスを無視することなく、経路を短く保ちます。
アプローチ
TR7は、最寄り選択機能、オフラインのGeoIPデータ、クライアントサブネット認識、ヘルスフィルタリング済み候補集合を通じて近接性ステアリングを実装します。
最寄り選択機能がクエリごとに最も近い候補を選択
DNSレコードがclosestバランスアルゴリズムを使用すると、GTMは各データセンターへのリクエスト元の近接性によって候補応答をランク付けし、最も近いものを返します。判断はクエリごとに実行されるため、各リクエスト元はネットワーク距離を最小化するデータセンターで応答されます。
オフラインのGeoIPデータベースが参照をデバイス上に保持
近接性は、アプライアンス上にローカルで保存された国、都市、ASNのデータベースから解決されます。この判断は、DNSクエリのコンテキストを外部の位置情報APIへ決して送信しません。地理的な解決は組織のインフラ内にとどまります。
EDNSクライアントサブネットはリゾルバではなく実際のユーザーをたどる
EDNSクライアントサブネットにより、近接性の判断を転送リゾルバのIPではなくユーザーの実際のサブネットに基づいて行えます。これにより、パブリックリゾルバを使用するユーザーが、自分自身ではなくリゾルバに最も近いデータセンターへステアリングされることを回避します。
正常でないデータセンターは最初に候補集合から除外される
ヘルスチェックの状態が、近接性の判断が実行される前にレコード候補をフィルタリングします。障害のあるデータセンターは集合から除外されるため、最寄りの応答は常に最も近い正常なデータセンターとなります。近接性が可用性を上書きすることはありません。
機能
遅延ベースDNSルーティングは、近接性を各レコードにスコープされローカルで判断されるクエリごとのDNS判断へと変えます。
クエリごとの最寄り選択がネットワーク経路を短縮
closestバランスアルゴリズムは、各候補レコードをリクエスト元ネットワークの位置に対して評価し、最も近いデータセンターを返します。地理的距離が短いほど一般に往復時間が低くなるため、ユーザーごとの設定なしでユーザーをアプリケーションへの最短かつ実行可能な経路に保てます。判断は設定時に固定されるのではなく、クエリごとに再計算されます。
近接性は国、都市、ASNのデータをまとめて解決される
GTMは、オフラインの国、都市、ASNのデータベースを使用してリクエスト元の位置を解決します。都市レベルのデータにより、プラットフォームは同じ国内の2つのデータセンターを区別でき、ASNデータはリクエスト元が接続しているネットワークによって判断を精緻化します。これは国境ベースのルーティングよりも細かい粒度でありながら、決定論的なローカル参照を維持します。
EDNSクライアントサブネットが近接性の精度を向上させる
リゾルバがクライアントサブネットを提供すると、GTMはリゾルバではなくユーザーの実際のネットワーク位置に基づいて近接性を判断します。これは、遠いパブリックリゾルバを使用するクライアントで最も重要です。リゾルバのみの判断では、ユーザーの近くではなくリゾルバの近くのデータセンターへ送ってしまう可能性があるためです。最寄りの応答はユーザーが実際にいる場所をたどります。
ヘルスフィルタリングが近接性の正しさを保つ
候補レコードは、最寄り判断が適用される前にデータセンターのヘルスによってフィルタリングされます。正常でないデータセンターは最寄りの応答となる資格がないため、プラットフォームが可用性を近接性と引き換えにすることはありません。近いデータセンターが回復すると、次の判断で自動的に候補集合へ再び加わります。
近接性はトポロジルールと組み合わせられる
最寄り選択機能はトポロジルールセット内のセレクタとして機能できるため、オペレーターはまずネットワーク、国、都市、大陸、またはASNで候補をスコープし、次にその一致の中から最も近い応答を選べます。これにより、コンプライアンスやキャリアの制約と近接性ステアリングが同じ判断パイプライン内で動作します。
グローバルではなくDNSレコードごとに設定される
バランスアルゴリズムは各DNSレコードに設定されます。同じドメインが、あるレコードを近接性で応答し、別のレコードを異なる戦略で応答できるため、近接性ステアリングは価値を生む箇所だけに適用され、他のレコードは独自の挙動を保ちます。オペレーターはレコードごとにルーティングを調整します。
外部依存のないデバイス上での判断
近接性の参照とレコードの選択は、どちらもアプライアンス上で実行されます。リクエストパス内に外部の位置情報APIが存在しないため、第三者の可用性への依存がなくなり、DNSクエリのコンテキストが組織内にとどまります。近接性の判断は、外部サービスへの送信接続が利用できない場合でも機能し続けます。
運用上の深さ
近接性ステアリングは、GeoIPデータベースセット、バランスアルゴリズムフィールド、トポロジセレクタ、ヘルスフィルタリング、ライブ構成リロードとともに運用されます。
GeoIPデータベースセット
近接性の判断は、アプライアンス上の3つのオフラインデータベースを利用します:ASNデータベース、都市レベルのデータベース、国レベルのデータベースです。これらが一体となって、国、都市、ASNを認識した近接性をサポートします。データがローカルであるため、ランタイムの判断は外部サービスに依存しません。データベースの更新フローは、ライブ判断パスとは別に計画されます。
バランスアルゴリズムフィールド
近接性は、レコードのバランスアルゴリズムをclosestに設定することで選択されます。これは、all、first-N、ラウンドロビン、重み付きラウンドロビン、ランダム、重み付きランダムと並ぶ、利用可能なDNSレコードバランスアルゴリズムの1つです。このフィールドはレコードごとに設定され、変更は構成パイプラインを通じて適用されます。
トポロジセレクタの組み合わせ
トポロジルールセット内では、ルールに一致するレコードに適用されるセレクタとしてclosestを使用できます。これにより、地理的またはネットワークの制約がすでに候補を絞り込んだ後で近接性を実行でき、ポリシーフィルタリングと最寄り応答の選択を単一のレコード内で組み合わせられます。
ヘルスフィルタリング済み候補
最寄り判断に渡される候補集合は、現在のデータセンターのヘルスを反映します。正常でないデータセンターのレコードは選択前に除外されるため、近接性は実際にトラフィックを処理できるデータセンターのみに対して計算されます。このフィルタリングは判断パイプラインの一部であり、別個の手動ルールではありません。
ライブ構成リロード
レコードアルゴリズムと候補集合への変更は構成再生成パイプラインに入り、サービスを再起動せずに適用されます。新しいクエリは現在の構成を反映した応答を受け取ります。クライアントによってすでにキャッシュされた応答はTTLが切れるまで存続するため、TTLを低くすると近接性とヘルスの変更がより速く有効になります。
近接性とライブネットワークシグナルの対比
最寄り選択機能は地理的近接性に基づいて判断します。これは遅延のライブ測定ではなく、その代理指標として機能します。判断が実際のリアルタイムなネットワーク経路やデータセンターの負荷を反映する必要がある場合、マルチソースのDC選択が、地理的近接性ステアリングを補完するライブのホスト、サービス、クライアント経路のシグナルを提供します。
どのシナリオで使用されるか
グローバルユーザーを最寄りのリージョンへステアリング
ユーザーが複数のリージョンに分散したサービスでは、最寄り選択機能が各クエリに地理的に最も近いデータセンターで応答し、ユーザーごとのルールなしでネットワーク経路を短縮し往復時間を削減します。
1つの国内の2つのデータセンターから選択
国が複数のデータセンターをホストしている場合、都市レベルの近接性がリクエスト元にどちらが近いかを区別します。両者を等価として扱う国単位のみのルールよりも細かい粒度です。
データレジデンシーを伴う近接性ステアリング
位置情報の参照がオフラインのデバイス上データベースで実行されるため、データレジデンシーやクエリプライバシーの義務を負う組織は、DNSクエリのコンテキストを外部の位置情報プロバイダーへ送信することなく、近接性ベースのルーティングを利用できます。
トポロジポリシー内の近接性
コンプライアンスやキャリアの理由でまず国、ASN、またはCIDRで候補をスコープし、次に最寄り選択機能に許可されたデータセンターの中から最も近い応答を選ばせます。ポリシーと近接性を1つのレコード内で。
よくある質問
TR7 GTMはリゾルバから各データセンターへのライブ遅延を測定しますか?
リクエスト元の位置はどのように判断されますか?
なぜ近接性ルーティングでEDNSクライアントサブネットを使用するのですか?
ダウンしているのに最寄りのデータセンターへクエリがステアリングされるのを何が防ぎますか?
近接性ルーティングを国やASNのルールと組み合わせられますか?
近接性ルーティングはゾーン全体に適用されますか、それともレコードごとですか?
すべてのユーザーを正常なデータセンターへの最短経路に保つ
自社のアプライアンス上で判断される近接性ベースのDNSステアリング — オフラインのGeoIP、クライアントサブネット認識、ヘルスフィルタリング。お客様のトポロジ上でご案内します。