🔧

DNS移行のポイント

2024/10/31に公開

概要

今回はDNS移行をする際のポイントについて、書いていこうかと思います。
大変な思い出が少しでも助けになりますように。。
ちなみにですが、外部DNSかつオンプレミス環境からクラウド環境(googleやcloudflareなど)への移行を想定しています。
これは言わずもがな、DNSサーバのOS更新やbind、unboundなどの脆弱性対応の面倒を見なくて良いということに直結することが理由です。

TODO以前に理解すること

1,digコマンドについて理解する
→移行作業では確認時にしょっちゅう使います。トラブルシューティングにも利用するので、よく理解しましょう。
おすすめの書籍は以下のものです。
https://zenn.dev/may15/articles/214e44732e2635

2,DNSの基本的な構造について理解する
→いわずもがなです。また、上位DNSの存在と委譲について理解すると心強いです。

3,シェルスクリプトの知識
→これは多数のゾーンを扱っている場合です。移行をする際は既存のDNSに存在するゾーンに、移行先のDNSサーバをNSレコードで記載して委譲することから始めます。
大量にゾーンを抱えている環境で、それらを手動書き換えすることはミスを誘発します。
また、確認作業も莫大なボリュームとなるので、シェルスクリプトで少しでも自動化させることが確実です。
多少の知識があればchatGPTにさくっと作ってもらうのが速くておすすめです。

TODO

1,現行DNSの状態を確認する。
ざっと書き出すと以下の項目です。
・いくつのゾーンを管理しているのか。
・一つのゾーンにはいくつのレコードが存在するのか。
・ゾーンファイルの形式はなにか。
・特殊な文法などはないか。
・親子関係(孫も含め)のあるゾーンはないか。

2,移行先を選定する。
いわずもがな、移行先を選定します。
ここで選定を失敗するとPJがあらゆる意味で終わるので、十分な時間をかけましょう。
項番1で調査した内容に加えて、欲しい機能などがあればそこも考慮点に入れます。
正直ここについては、サービスのwebページに相談メールやチャットなどがあるので、事前に情報を取りまとめて提示してしまうのが簡単かつ確実です。

3,使用しているIP/ドメインについて調べる。
逆引きアドレスについてはJPNIC、正引きについてはJPRSおよびドメイン事業者の管轄です。
DNSを移行するにあたり、これら事業者へ移行先DNSサーバを登録しなければなりません。
どのように変更するのか、操作方法などはしっかりと押さえておきましょう。

厄介なポイントは以下の通りです。
・JPNIC/JPRSは証明書が付きまとう。
→DNSサーバの書き換えには、そのIPに紐づく証明書が必要です。
さらに厄介なのは、証明書は資源カードと呼ばれる現物のカードをスキャンする必要があります。
また、証明書は有効期限が設けられており、滅多に利用することはないので切れているパターンが多いです。
資源カードと証明書の準備、そしてどの証明書にどのIPが結びついているのかは、事前に確認しましょう。
管理が雑だとここで大幅に時間を取られます。そもそも、事業者の登録とDNSサーバ側でセグメントが違うとか、そもそも登録がないなどあると泡を吹くほど大変です。
・ドメイン事業者はID/PWが付きまとう。
→当たり前といえば当たり前ですが、前述したとおり「滅多に触らない」ことが多いです。
古のドキュメントに記載されていたり、はたまた記録されていない、いざ入ろうとしたら期限切れ、というのは十分にあります。

4,移行先が使えるようになったら十分に試験する。
→試験用のゾーンを作成したり、移行用のスクリプトなどを存分に試しましょう。
IPv4/v6および正引きについてはもれなく確認しましょう。
また、この段階で移行後の運用を一度シュミレーションしておくことをお勧めします。
移行後に運用の負担となる問題が発覚しては、後の祭りです。

5,日程調整と手順作成、関係者へ周知する。
→十分な試験を積んだら、日程調整や手順の作成はもちろんですが、関係者への周知を忘れないようにしましょう。
この時、万一の際の切り戻し手順を用意して、問題が発生したときは迅速にロールバックが可能であることを会話できるようにしましょう。
必ずそこを突いてくる人は居ますし、答えられないと不安にさせます。

6,移行作業
→ここまで来たら前進あるのみです。
トラブル発生時は無理せず、切り戻しをしましょう。

7,移行完了後
→移行元のDNSにクエリが来ていないことを確認、運用を公開して完了です。

最後に

かなりさらっと書きましたが、DNSの移行は数年おきに一回あるかないかです。
そのため、ナレッジも少なく担当となった人は非常に心もとない状態で移行作業に取り掛かります。
作業的な部分だけならまだしも、何年かに一度で結構雑に情報が扱われているケースも多いので、そこの掃除や調査からも大いにあります。実際かなり大変でした。。
今回はさらっと概要だけですが、手が空いた際に各項目について詳しい内容を書ければと思います(´・▽・`)ノシ

Discussion