Domain IP Lookup

1つのホスト名に複数のAレコード

1つ目の回答

93.184.216.34

2つ目の回答

93.184.216.35

3つ目の回答

93.184.216.36

リゾルバーはすべてのレコードを返し、通常は順序をローテーションする

インフラと運用

DNSロードバランシングの方式と利点、限界

読了時間:4分

DNSロードバランシングは、ホスト名に対して1つまたは複数のアドレスを返すことでリクエストを分散させる方法です。場所、正常性、ポリシーに応じて、返す応答を切り替える場合もあります。トラフィックを複数のリージョンに分散したり、ユーザーを近くのインフラに誘導したり、シンプルなフェイルオーバーの層を提供したりできます。正確な動作は、DNSプロバイダーとリゾルバーのキャッシュによって異なります。標準的なDNS応答は、HTTPリクエストのたびに再評価されるわけではありません。そのため、リゾルバーがキャッシュを更新した時点で下された判断は、TTLが切れるまで使われ続けることがあります。このため、DNSは大まかなトラフィックの誘導には役立ちますが、新しい接続ごとにリアルタイムで評価するロードバランサーとは性質が異なります。

DNSによる代表的な分散戦略

ラウンドロビンは、プール内のアドレスの順序を入れ替えて返します。地理ベースやレイテンシーベースのDNSは、再帰リゾルバーの見かけ上の場所に基づいて、リージョンごとのエンドポイントを返せます。重み付きルーティングは、特定のエンドポイントを優先できるため、段階的な展開やキャパシティの配分に便利です。フェイルオーバー構成では、ヘルスチェックで問題が検出されたあと、そのエンドポイントを返さなくなります。各機能の細部はプロバイダーごとに異なります。ヘルスチェックの間隔、失敗のしきい値、リゾルバーの場所の推定方法、TTLの扱いは、いずれもエンドユーザーに見える内容に影響します。この動作に頼る前に、プロバイダーの実装ガイドを読み、代表的なネットワークからテストしてください。

方式役立つ場面重要な注意点
ラウンドロビン同等のエンドポイント間での基本的な分散別途追加しない限り、正常性の検出は行われない
地理ベースのルーティング近くのインフラからリージョンにサービスを提供するリゾルバーの場所が、ユーザーの場所と異なることがある
重み付き応答段階的なトラフィックの移行や、キャパシティの比率配分キャッシュにより、正確な割合はならされて遅れる
ヘルスベースのフェイルオーバー異常な宛先を、新しい応答から外す既存のキャッシュが、古い宛先を保持し続けることがある

リゾルバーの場所は、重要な注意点です。地理を考慮するDNSサービスは、多くの場合、個々のユーザーの端末ではなく、再帰リゾルバーのアドレスしか見ていません。一部のシステムでは、EDNS Client Subnetによって場所に関する追加情報が得られることもありますが、常に送られるわけではなく、プライバシー上の配慮も必要です。その結果、1つの公開リゾルバーが多数のユーザーを代表し、そのユーザーに代わって1つの地域の応答を受け取る場合があります。場所の異なる複数の地点から異なるDNS応答が観測されるのは、構成によっては想定内です。ただし、それだけで特定の訪問者が最も近い物理サーバーにルーティングされたことの証明にはなりません。

DNSの判断はキャッシュされる

DNSのTTLは、リゾルバーが応答を更新するまでに、その応答をキャッシュしてよい時間を定めます。TTLを短くすると、キャッシュが切れたあとに、予定された変更が早く反映されやすくなります。一方で、クエリ数が増え、即座に伝播することは保証されません。リゾルバーは、残りの有効期間が尽きるまで、既存のキャッシュ済みの応答を使えます。アプリケーション側にも、独自のキャッシュや持続的な接続があります。そのため、エンドポイントが故障した場合、DNSによるフェイルオーバーは、接続を認識するロードバランサー内でエンドポイントを外すよりも遅くなることがあります。DNSを唯一のフェイルオーバー手段にする前に、必要な復旧時間と、想定されるキャッシュの階層の両方を検討してください。

  • エンドポイントが正常であるとはどういう状態かを定義し、アプリケーション経路全体をテストする。
  • プロバイダーがリゾルバーの地理や正常性の状態をどのように評価するかを確認する。
  • TTLは、短ければ短いほどよいという思い込みではなく、運用上の必要に基づいて設定する。
  • 正常性を考慮した素早い接続の判断には、アプリケーションまたはネットワークのロードバランサーを使う。
  • 複数のリージョンからユーザーを監視し、ルーティングの違いを検出する。

トラフィックの変更を計画し、検証する

トラフィックを移す前に、すべての宛先が、同じホスト名、証明書、アプリケーションの動作でサービスを提供できる状態であることを確認します。プロバイダーが重み付けに対応しているなら、変更は段階的に行い、ログとエラー率を確認して、結果が正常な場合にだけトラフィックを増やします。ロールバックに備えて、キャッシュが以前の応答を保持できる期間を把握し、その間は古い環境を稼働させておいてください。実際のユーザーのうち、各バックエンドに到達している割合を確認するために、1回のDNS検索だけに頼ってはいけません。サービスのテレメトリー、プロバイダーの分析機能、または実際のクライアントの経路に合わせた制御されたプローブを使います。

DNSは、その長所と遅延を理解したうえで使えば、効果的なグローバルのコントロールプレーンになります。ロードバランサーやアプリケーションのヘルスチェックを置き換えるものではなく、補完するものです。最もシンプルなアドレスプールのモデルについては DNSラウンドロビンとは を、キャッシュの動作については DNS TTLとは をご覧ください。公開の DNS検索 では、あるリゾルバーがある時点で取得できる内容を確認できます。トラフィックが正常なインフラに届いているかを評価する際は、運用チームがその確認結果を、実際の接続とアプリケーションの監視と組み合わせる必要があります。

ユーザー体験はアプリケーション層で測定する

DNSポリシーが成功したと言えるのは、ユーザーが実際に受けるサービスが改善された場合だけです。各リージョンのアプリケーションエンドポイントで、レイテンシー、エラー率、可用性を追跡し、それらの指標を、プロバイダーが返しているDNS応答と比較してください。最も近いリゾルバーが、最も近いユーザーとは限りません。また、最も近いサーバーが、最も負荷が低い、または最も正常であるとも限りません。代表的なネットワークからの合成チェックも取り入れつつ、実際のトラフィックのテレメトリーでも外れ値を確認します。ルーティングポリシーがユーザーを異常なリージョンへ送っている場合は、TTLを変えるだけでなく、ヘルスシグナルやフォールバックを調整してください。計測が行き届いた段階的な展開によって、実際のキャッシュ状況の中で、重み付けやリージョン選択がどのように動作するかを示す証拠を、運用担当者が得られます。

ドメインの公開DNSアドレスを調べたい場合は、Domain IP Lookupツールをお試しください。

関連記事

検索結果にオリジンではなくCDNが表示される理由

訪問者

ドメインを検索

CDNエッジ

104.21.x.x

DNSが返すのはこれ

オリジンサーバー

実際のIPは非公開

インフラと運用

オリジンサーバーとは?CDNとの違い

CDNやリバースプロキシの背後でオリジンサーバーが果たす役割、公開DNSにエッジのアドレスが表示される理由、安全なトラブルシューティングの方法を解説します。

読了時間:4分

検索結果にオリジンではなくCDNが表示される理由

訪問者

ドメインを検索

CDNエッジ

104.21.x.x

DNSが返すのはこれ

オリジンサーバー

実際のIPは非公開

インフラと運用

リバースプロキシとは?DNSとウェブの実践ガイド

リバースプロキシがクライアントとサーバーの間に立つ仕組み、DNSがユーザーをそこへ導く方法、ルーティング、TLS、セキュリティをどう支えるかを解説します。

読了時間:4分

3つの役割。担当企業が別々なことも多い

レジストラドメインの登録と更新を管理
DNSホストクエリに応答するネームサーバーを運用
ネームサーバー実際に応答する個々のサーバー
インフラと運用

DNS委任の仕組み:レジストラとプロバイダー

親ゾーンがドメインを権威ネームサーバーに委任する仕組みと、誤ったDNSプロバイダーでレコードを編集しても公開側に何も反映されない理由を解説します。

読了時間:4分