地域別ルーティング(ルーティング条件)
地域、ISP、またはカスタム CIDR リストに応じて、異なる A/AAAA/CNAME の応答を返します。
地域別ルーティングでは、一つのホスト名に対して、アクセス元の地域ごとに異なる応答を返せます。たとえば、アジアの訪問者をアジアのサーバーへ、特定の ISP の利用者を専用 IP へ、オフィスのネットワークを内部アドレスへ振り分けられます。Yeap Cloud DNS では、このような条件を トラフィック振り分け回線と呼びます。
ルーティング条件を使用できるのは、A、AAAA、CNAME レコードのみです。それ以外のレコードタイプでは、すべての訪問者に同じ応答が返されます。
ルーティング条件の種類
レコードのルーティング条件は、次の 3 種類の条件で構成できます。
| 条件 | 選択肢 | 補足 |
|---|---|---|
| 地理位置 | 大陸 → 国 → 都道府県・地域 → 市区町村 | 一つずつ階層を選択し、国など任意の階層で指定を終えられます |
| ISP プロバイダー | 国、ISP の種類(ISP、モバイルネットワークの MOB、データセンターの DCH など)を選択してから、ネットワークを検索します | 訪問者の IP を保有するネットワークと照合します |
| カスタム経路 | CIDR 管理で作成した IP 範囲リスト、およびプラットフォームが提供するプリセットリスト | 訪問者の IP がリスト内のいずれかの範囲に含まれる場合に一致します |
地域と ISP は組み合わせられます。たとえば「中国 / 広東省」と一つの ISP を指定できます。条件がまったくないレコードは、そのホスト名の デフォルト条件 です。コンソールでは、全局 または グローバルデフォルトと表示されます。
訪問者の地域の判定方法: ネームサーバーは、クエリの送信元 IP アドレスから地域と ISP を判定します。再帰リゾルバーがクエリにクライアントのサブネット情報(EDNS Client Subnet)を含めて送信する場合は、そのサブネットを使用します。それ以外の場合は、リゾルバー自体の IP を使用します。そのため、パブリックリゾルバーを使用する訪問者への応答は、そのリゾルバーがクライアントのサブネット情報を送信するかどうかによって変わります。
レコードへのルーティング条件の設定
- ゾーンのレコードページを開きます。
- 最初にデフォルトレコードを追加します。 ルーティング条件を指定せずにレコードを追加します。例: 名前
www、タイプA、内容203.0.113.10。 - 同じ名前とタイプで二つ目のレコードを追加するか、既存のレコードを編集します。行の編集中に トラフィック振り分け回線のセルをクリックすると、トラフィック振り分け回線の設定ウィンドウが開きます。
- 地理的位置: 大陸、国、都道府県・地域、市区町村を選択します。各階層には「すべて」の選択肢があり、それ以上絞り込まないことを意味します。
- ISP プロバイダー: 国と ISP の種類を選択してから、ISP を検索します。
- カスタム経路: CIDR リストを選択します。
- OKをクリックしてウィンドウを閉じ、レコードを保存します。
レコード一覧の トラフィック振り分け回線 列には、各レコードのルーティング条件が表示されます。カーソルを合わせると、条件の全体を確認できます。一覧上部のルーティング条件フィルターでは、地理定位(地域指定)または グローバルデフォルトのレコードだけを表示できます。
ホスト名に対してルーティング条件付きのレコードを追加する前に、同じ名前とタイプのデフォルトレコードが必要です。存在しない場合は、先にデフォルトレコードを作成する必要があるというエラーが表示されます。同様に、対応する条件付きレコードが残っている間は、デフォルトレコードを削除できません。これにより、すべての訪問者に必ず応答が返されます。
条件の照合方法
ネームサーバーはクエリごとに、同じ名前とタイプを持つレコードを調べ、訪問者に 最もよく一致する レコード群を選択します。
- より詳細な地域が優先されます: 市区町村 > 都道府県・地域 > 国 > 大陸。
- ISP が設定されたレコードは、訪問者の ISP が同じ場合にのみ一致します。一致する場合は、同じ地域階層で ISP が未設定のレコードより優先されます。
- カスタム条件が設定されたレコードは、訪問者の IP がその CIDR リストに含まれる場合にのみ一致します。カスタム条件のみで、地域と ISP が未設定のレコードは、一致した場合に大陸レベルの条件と同じ順位になります。つまり、国レベルやそれより詳細な地域条件より優先順位が低くなります。
- 条件付きレコードがどれも一致しない場合は、デフォルトレコード が返されます。
たとえば、www に、デフォルトの 203.0.113.10、「アジア」の 198.51.100.20、「アジア / 日本」の 198.51.100.30 という三つの A レコードがあるとします。日本からのクエリには 198.51.100.30、シンガポールからのクエリには 198.51.100.20、ヨーロッパからのクエリには 203.0.113.10 が返されます。
オフィスの外向き通信元 IP 範囲などに対して常に特定の応答を返したい場合は、その訪問者にも一致する、より詳細な地域条件のレコードを同じホスト名に設定しないでください。
複数のレコードと重み
簡単な負荷分散のために、一つのルーティング条件に同じ名前とタイプのレコードを複数設定できます。
- A / AAAA: 一致するすべてのレコードが、毎回ランダムな順序で返されます。この場合、レコードの 優先度フィールドは 重み として機能します。値が大きいほど、先頭に返される確率が高くなります。空欄または 0 は重み 1 として扱われます。すべてのレコードの重みが同じ場合、順序は完全にランダムになります。
- CNAME: 重みに基づいてランダムに選ばれた一つのレコードだけが、毎回返されます。
重みが変えるのは、各応答が選ばれる確率だけです。プラットフォームは、サーバーのヘルスチェックや障害が発生したアドレスの自動除外を行いません。
カスタム条件(CIDR リスト)
CIDR リストの作成
- DNS → CIDR 管理を開きます。ページ上部には CIDR 利用枠の使用状況が表示されます。クォータは、すべての DNS プランの CIDR 利用枠を合計したものです。
- CIDR を追加をクリックします。CIDR 名に「オフィスの外向き通信元」などを入力し、必要に応じて説明を入力して保存します。
- 一覧で、そのリストの IP エントリ数をクリックし、エントリページを開きます。
IP 範囲の追加
エントリを追加をクリックします。CIDR(例:
192.0.2.0/24、2001:db8::/64)、任意の説明、および IP バージョンを入力します。IP バージョンは 自動検出(自動検出)、IPv4、IPv6 から選択します。選択するバージョンはアドレスと一致している必要があります。または、一括インポートをクリックし、次の形式で 1 行に一つずつ入力します。
textCIDR|description|IP version 192.0.2.0/24|Office egress|ipv4 2001:db8::/64|IPv6 test networkIP バージョンは省略できます。デフォルトは自動検出です。
複数のエントリを選択して 一括操作を使用すると、まとめて削除したり、IP バージョンを変更したりできます。
システムプリセットと表示されるリストは、プラットフォームが提供するものです。レコードで使用できますが、閲覧のみ可能で、編集はできません。
レコードでのリストの使用
トラフィック振り分け回線の設定 で、カスタム経路 からリストを選択します。CIDR リストページの 使用状況列には、各リストを使用しているレコード数が表示されます。
レコードで使用中の CIDR リストでも、システムは削除を制限しません。削除する前に、使用状況が 未使用になっていることを確認するか、先にそのリストを使用するレコードを変更してください。そうしないと、それらのレコードから意図した照合条件が失われます。
CIDR エントリの変更がすべてのネームサーバーに反映されるまでには時間がかかります。結果を確認するには、対象範囲内から dig www.example.com @<assigned-nameserver> を実行してください。