DNSを使用してwww.example.com
(ただしexample.com
ではない)の宛先IPアドレスを制御したいのですが、親ドメイン自体を直接制御できないため、可能な限りこのサブドメインTTLを最大限に制御します。私は使用できる2つのメカニズムを知っています:
www.example.com
のゾーンを設定し、example.com
のネームサーバーにwww.example.com
のNSレコードを設定させることができます。www.example.com
をexample.mydomain.com
にポイントし、example.mydomain.com
を制御できます。 NSレコードを使用した委任は、私が頻繁に使用するサークルではあまり一般的ではないため、これはリモートパーティが設定するのがおそらく簡単です。私が少し漠然としているのは、ttlメカニズムの微妙さです。特にキャッシングに関してです。 CNAMEを使用する場合、実際のTTLは、www.example.com
レコードのTTLとexample.mydomain.com
のTTLの両方によって制御されますか、または(CNAMEレコードを提供)変更されません)、これはexample.mydomain.com
のAレコードにのみ関連付けられていますか。
同様に、NSエントリを使用する場合、(ネームサーバーが変更されない場合)、www.example.com
の解像度を変更するためのTTLはによって制御されると言っても過言ではありません。 www.example.com
レコードのTTLで、NSレコードのTTLについて心配する必要はありませんか?
レコードのTTLは、そのレコードとそのレコードのみに適用され、任意のネームサーバー/キャッシングリゾルバーのキャッシュに入ると期限切れになります。
多くの(ほとんど?)キャッシングネームサーバー(つまり、エンドクライアントによって使用されるキャッシングリゾルバー)は、より低い値でフェッチされるすべてのレコードに最低300秒TTLを置くことに注意してください。また、クライアントと権限のあるネームサーバーの間に複数のキャッシュネームサーバーが存在する可能性があることにも注意してください。
おそらく、CNAME(またはNS、MXなど)レコードでは比較的長いTTLが必要であり、Aレコードでははるかに短いTTL(たとえば、300秒程度)が必要です。
誰かにホスト名(例:www.example.com
)を委任して、最終的なAレコードを制御できるようにする最も簡単な方法は、もちろんCNAMEを使用することですが、もちろん、そのようなホスト名はサブドメイン名である必要があることに注意してください。もちろん、CNAMEは同じノードの他のレコードと一緒に存在しない可能性があるため、ゾーンカットに配置することはできません。
たとえば、親ドメインネームサーバーでは次のようになります。
$Origin example.com.
www 1w IN CNAME foo.mydomain.example.
次に、ネームサーバーで:
$Origin mydomain.example.
foo 1h IN A 192.168.0.1