これは、DNS伝播に関する正規の質問です
さまざまなタイプのレコードが伝播するのにどれくらい時間がかかりますか?
他のものよりも速く伝播するものはありますか?
DNSレコードの伝播に時間がかかるのはなぜですか?
これは、DNS伝播に関する正規の質問です
さまざまなタイプのレコードが伝播するのにどれくらい時間がかかりますか?
他のものよりも速く伝播するものはありますか?
DNSレコードの伝播に時間がかかるのはなぜですか?
回答:
「DNS伝播」自体は、実際の現象ではありません。むしろ、DNSプロトコルで指定されたキャッシュ機能の明示的な効果です。DNSサーバー間の「伝播」の変更は、DNSプロトコルのすべての詳細を説明するよりも、技術に詳しくないユーザーに説明する方が間違いなく簡単な偽りであると言うことです。ただし、実際のプロトコルの動作方法ではありません。
再帰DNSサーバーは、クライアントに代わってクエリを実行します。通常、ISPまたはIT部門によって実行される再帰DNSサーバーは、インターネットリソースの名前を解決するためにクライアントコンピューターによって使用されます。再帰DNSサーバーは、作成したクエリの結果をキャッシュして効率を改善します。既にキャッシュされた情報のクエリは、追加のクエリを作成せずに回答できます。結果がキャッシュされる期間(秒)は、Time To Live(TTL)と呼ばれる構成可能な値に基づいていると想定されています。この値は、照会されたレコードに対して権限のあるDNSサーバーによって指定されます。
DNSは分散プロトコルであるため、尋ねられるすべての質問に対する1つの答えはありません。DNSの動作は、特定のレコードの信頼できるDNSサーバーの構成、クライアントコンピューターに代わってクエリを実行する再帰DNSサーバーの構成、およびクライアントコンピューターのオペレーティングシステムに組み込まれているDNSキャッシュ機能に依存します。
DNSレコードへの日々の変更に対応するのに十分短いTTL値を指定することは良い習慣ですが、キャッシングで「勝ち」を作成するのに十分な長さです(つまり、キャッシュのエージングアウトが短すぎて、効率改善を提供します)。TTL値を使用してバランスの取れた戦略を採用すると、すべての人にとって「勝ち」になります。特定のドメインの権限のあるDNSサーバー、ルートサーバー、およびTLDサーバーの負荷と帯域幅の使用率を削減します。再帰DNSサーバーのオペレーターのアップストリーム帯域幅使用率を削減します。クライアントコンピューターのクエリ応答が速くなります。
DNSレコードのTTLが設定されると、信頼できるDNSサーバーでの負荷が低くなり、帯域幅の使用率が増加します。これは、再帰DNSサーバーが結果を長期間キャッシュできないためです。レコードのTTLが高くなると、クライアントコンピューターは再帰DNSサーバーに保存されたキャッシュされた結果を引き続き受信するため、レコードへの変更はすぐに「有効」になりません。最適なTTLの設定は、使用率とレコードを迅速に変更し、それらの変更がクライアントに反映されることを確認する機能のバランスをとることに帰着します。
一部のISPは不正であり、権限のあるDNSサーバーによって指定されたTTL値を無視することに注意する価値があります(RFCの違反である独自の管理オーバーライドを置き換えます)。これについては、技術的な観点からは何もする必要はありません。不正なDNSサーバーのオペレーターがシステムに苦情を突きつけられる場合、管理者はベストプラクティスを実装することになります(おそらく、DNSに精通しているネットワークエンジニアにとっては常識になります)。この特定のタイプの不正行為は技術的な問題ではありません。
誰もが「規則によって果たしている」場合はDNSレコードへの変更ができ、非常に迅速に「有効になります」。たとえば、「A」レコードに割り当てられたIPアドレスを変更する場合、TTL値の指数バックオフが実行され、変更が行われるまでになります。たとえば、TTLは1日から始まり、24時間で12時間、12時間で6時間、6時間で3時間など、適切な短い間隔に減らされます。TTLがバックオフされると、レコードを変更して、TTLを日常の操作に必要な値に戻すことができます。(指数バックオフを使用する必要はありませんが、この戦略により、レコードのTTLが低くなり、権限のあるDNSサーバーの負荷が減少する時間が最小限に抑えられます。)
DNSレコードを作成した後、古いDNSレコードの結果として行われたアクセス試行について変更ログを監視する必要があります。「A」レコードを変更して新しいIPアドレスを参照する例では、古い「A」レコードをまだ使用しているクライアントコンピューターからのアクセス試行を処理するために、サーバーは古いIPアドレスに存在する必要があります。古いレコードに基づくアクセス試行が許容可能な低レベルに達すると、古いIPアドレスは使用できなくなります。古いレコードに関連する要求がすぐに緩和されない場合、(上記のように)再帰DNSサーバーが信頼できるTTLを無視している可能性があります。ただし、アクセス試行のソースIPアドレスを知っていても、古いレコードの提供を担当する再帰DNSサーバーに関する直接的な情報は提供されません。
個人的には、数時間後に、そして特定の脳損傷のISPで、数日後に、変更がすぐに「効果を発揮する」のを見てきました。TTLのバックオフを行い、プロセスの仕組みに注意を払うと、成功のための変更が増えますが、善意の馬鹿が再帰DNSサーバーで何をしているのかはわかりません。
1.1.1.1
または8.8.8.8
または9.9.9.9
またはなどのオープンな再帰ネームサーバーの巨大な艦隊(エニーキャストクラウド)です80.80.80.80
。エニーキャストであることを理解することは重要です。応答はソースIPに基づいて変化する可能性があります。完全に異なる物理インスタンスにヒットする可能性があり、キャッシュがすべてのインスタンスに対してグローバルであるかどうかが異なるためです。