興味深い記事だったので自分なりに咀嚼するためにメモ。
DNSサーバー初のローカルノードとは
ISPのネットワーク内に.jpの権威DNSサーバーを別に構築してしまうことと理解。
以下既存の.jp権威サーバーを「グローバルノード」、ISPに構築された.jp権威サーバーを「ローカルノード」と命名。
ローカルノード構築のメリットとデメリット
丁寧に書いてくださっているけれど、自分の理解のためだけに纏めてみた。
メリット:可用性の向上、名前解決の効率向上
キャッシュDNSに保存されるクエリの応答結果はないものとして考えると、理論的には権威サーバー停止時(障害時)の影響範囲を限定的に留めることが可能。
これにより全体の可用性を向上させることができる(と思われる)。
例:
グローバルノード停止 → ローカルノードが存在するISP(ローカルノードを参照するホスト)ではサービス影響なし
ローカルノード停止 → ローカルノードが存在するISP(ローカルノードを参照するホスト)だけでサービス影響発生
グローバルノード、ローカルノード停止 → トップレベルドメインが.jpのサーバー全体が参照できなくなる(ローカルノード構築前にグローバルノードが停止した状態)
ローカルノードも含め全権威サーバー停止しない限り、DNSサービスは全部が止まらないようになるという事は大変よい話だと思う。また、権威DNS全体のRTT(応答時間)が改善されるとのこと(ローカルノードへの問い合わせ量が減ることで、グローバルノードへの負荷が低下するから?)。
デメリット:仕組みの複雑化に伴う運用の煩雑化など
自分なりに考えたデメリットも記載。
身も蓋もない話をすると、仕組みと運用が複雑になると思うので安易にオペレーターに投げたら、仕組みを理解していない彼らが困ってオペミス連発しそう。
JPRSの本家から画像を拝借したけれど、この絵の通りに運用するならインターネット上に同じアドレスの別サーバーが存在するなんて気持ち悪いし、仕組みの周知やその後の運用は大変そう。。
JANOGの発表だと、BGP使って経路をコントロールする!とかお話ししていたけれどBGP知らん人間からすると厄介な設定だなあ、事故の元だなあと思う。
上記画像は以下ページから拝借。
あと、サーバー間のゾーン情報や設定の同期はどうするのかも気になる。
以下妄想。
bindで設定したとすると、ゾーン情報に関しては、
グローバルノードがプライマリ
ローカルノードをセカンダリ
として構築するなら理論上は同期可能か。
でも設定ファイルは各サーバー毎に分かれるのかな。
分けないといけないだろうなあ。
組織間で情報を共有するのは大変そうだなあ、だから導入までに何年も費やしたのだろうなあ。
まとめ?
https://internet.watch.impress.co.jp/docs/news/1340720.html
実証実験の結果を踏まえ、JPRSではJP DNSサーバーの一つである「g.dns.jp」にIP Anycastを導入し、そのローカルノードをHOTnetとQTnetのネットワークに設置することで、JP DNSサーバーを増強した。JPRSでは今回の増強による効果を踏まえ、今後もJP DNSサーバーの更なる安定運用に向けた活動を続けていく予定である。
前向きなまとめで素晴らしいと思いつつ。。
国内の電力系ISP8社と国内ISP9社で検証したにも拘わらず、現時点でHOTnetとQTnetの2社しかサービスを開始できていないところを「段階を踏んでいて良し」とするか、「えらい時間掛かっていますな。残りの会社はまだなのか」とするかは今後の運用次第でしょうね。(十分検証できていると思うのであかんという事はないと思います。)
これから大変な局面に突入すると思いますが、ローカルノードを導入することで皆が幸せになることを他人事ながら祈っております。
コメント