DNS(クライアント & サーバー)について『私が』『周囲の人に』知っておいてほしいことリスト
これは何でないか
- 何かのオフィシャルではないし、何かを代表して公的に発言しているものではありません。
これは何であるか
- 『私が』顧客とか、自社の人間に説明するとき、同じことを何度も書きたくないし、言いたくないためのメモです。
DNSについて他人に説明するとき、気をつけてほしいこと
- コンテンツサーバ運用と、キャッシュサーバ利用の話をごっちゃにしてはいけない。
- コンテンツサーバと、キャッシュサーバがそれぞれ何なのかくらいは、自分で調べてください。
- 両方をまとめて「DNSサーバ」と呼ぶと、相手は混乱します。「DNSコンテンツサーバ」「DNSキャッシュサーバ」と呼ぶとよいでしょう。
-
コンテンツサーバ引っ越しの話と、自身の管理しているゾーンの中のAレコード書き換え等のスコープをごっちゃにしてはいけない。
- 早合点しない。相手のことばを遮らず、ちゃんと最後まで「本当は何をしたいのか」を聞く。
- 相手が納得いくまで、ちゃんと最後までケツを拭き、なんならトイレットペーパーを買い与えてやる、まで面倒を見るつもりがないのなら、説明してはいけない。
- 自分を不当廉売しない。お金を取るべきシーンではちゃんとお金を取る。
本題
- DNSは、多数のゾーン(管理責任範囲)を、多数の組織で、「分散して管理することができる」仕組み。
- 分散しない選択もできる。
- 毎回問い合わせをしていたら、(リゾルバも、ルートサーバーも)負荷が恐しいことになる。なのでキャッシュという仕組みがある。
- キャッシュが永遠に切れなかったら、設定変更できないので、TTLという仕組みがある。
- TTLはレコードに対して設定されており、キャッシュサーバのキャッシュ機構(および、実装されていればスタブリゾルバのそれでも)の上で減算されていく。
- TTLがたとえば「1日」と設定されている場合、そのキャッシュが捨てられるまでの時間も当然「1日」かかるので、コンテンツサーバ側でゾーンのレコードを修正して「5分」に変更したとしても、そんな事はキャッシュサーバは知りようがない。なので、「仮に、TTL短縮直前にクライアントがキャッシュした」と想定して、「1日」かかると考えておく。
- コンテンツサーバと、それに問い合わせをするキャッシュサーバは、まったく結合していない。つまり、push通知みたいなモノは無い。
- だから、キャッシュサーバは、自分の好きなとき(クライアントからリクエストが来たとき)に問い合わせを送出してくるし、何かをキャッシュサーバ側に強制することは、コンテンツサーバ管理側にはできない。
- たとえば、「今すぐキャッシュを破棄してTTLを5分ということにしてくれ!」みたいなことはできない。
- だから、キャッシュサーバは、自分の好きなとき(クライアントからリクエストが来たとき)に問い合わせを送出してくるし、何かをキャッシュサーバ側に強制することは、コンテンツサーバ管理側にはできない。
- 「ドメイン管理」と「DNSゾーン管理」はほぼ同じことをやっている。NSレコード・グルーA書き換えという観点では。
- これをわかるには、自分でドメインを取得して、親ゾーンA、子ゾーンBをそれぞれ別のDNSホスティングサービスに載せ、権限委譲設定をしてみるとわかりやすい。
- おすすめはGoogle Cloud DNS。なぜかというと、同じサービスなのに、別ゾーンに対して異なるホスト名を割り振ってくれるので。
-
オライリーのバッタ本 を読めば必要なことは凡そ書いてある。
- 読みたくなければ、おカネを信頼できる業者に払って委託してください。
Author And Source
この問題について(DNS(クライアント & サーバー)について『私が』『周囲の人に』知っておいてほしいことリスト), 我々は、より多くの情報をここで見つけました https://qiita.com/ykmns/items/533320e8c7923967be69著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .