レコード数が多い場合の DNS のより良いオプション

レコード数が多い場合の DNS のより良いオプション

アプリがあり、アプリ内で新しいオブジェクトを作成できるとします。新しいオブジェクト (例: say hello) が作成されるたびに、URL がhello.example.com/hi常に特定の IP を指すようにしたいです。

これを実現するには 3 つの方法があることがわかりました。DNS エントリの数が多い場合に遅延が発生するかどうか、また以下のアプローチのどれが最も効果的かを知りたいです。

  1. DNSエントリを追加します *.example.com ----> IP_1

これの問題点は、不要なDNSもリダイレクトしてしまうことです。IP_1

  1. 新しいオブジェクトが作成されるたびにスクリプトを実行し、特定のDNSを動的に追加します。

    hello.example.com ----> IP_1 hi.example.com -----> IP_1 .......

    マッピングはたくさん必要になります。マッピングの数が増えると検索時間が長くなり、遅延が発生するのではないかという疑問があります。

  2. マルチレベルの使用

    *.object.example.com------>IP_1

答え1

両方のアプローチに対するあなたの懸念は根拠のないものです。

[ワイルドカードDNSレコード]は不要なDNSもIP_1にリダイレクトします

  • それでどうするの? 複数の DNS レコードが必要な場合、これはホスト名を認識するサービス (例: http、smtp) を実行していることを意味します。これらのサービスに対してホスト名固有の動作を構成する必要があります。
  • 明示的なDNSレコードとワイルドカードを混在させることができます。DNSサーバーは最も具体的な一致を返すはずです。

マッピングの数が大幅に増えると、検索時間が増加し、遅延が発生します。

本当にひどく書かれた DNS サーバーを実行する場合のみです。Bind と powerDNS では、この問題は発生しません。

ワイルドカードではなく明示的なレコードを使用することに決めた場合 (ワイルドカードを使用する方がよい場合もありますが)、新しいレコードを A レコードではなく CNAME として作成すると、メンテナンスや移行が簡単になります。

関連情報