オンプレやAWSのDNSをCloud DNSに移行する手順
- Cloud DNS
- DNS移行
- Google Cloud
- TTL設定
Topgateの竹内です。
最近AWSのRoute53からCloud DNSに移行する機会があったため、実際に移行する際の手順などを整理しました。この記事では、オンプレやAWS上で運用しているDNSをGoogle Cloud(旧称:GCP)のCloud DNSに移行する手順を解説します。
目次
移行前作業
移行前作業として2つあります。
1. 移行元DNSの各レコードのTTLを短縮
2. DNSのゾーンデータコピー
それぞれ解説していきます。
移行元DNSの各レコードのTTLを短縮
移行元DNSの全てのレコードのTTL(キャッシュ時間)を短縮します。
TTLを短縮する理由としては、例えばNSレコードのキャッシュ期間が長いと、キャッシュ期間中は移行元DNSヘ問い合わせが行われます。
移行先DNSヘ素早く移行するためにもTTLは短くします。
AレコードやNSレコードのTTLは300~600sに設定し、SOAレコードはネガティブキャッシュを300~600sに設定します。
また、TTL変更後は、キャッシュが切れるまでは移行は行わないようにして下さい。
デフォルトだと86400(1日)~604800(7日)に設定されているため、キャッシュ期間を考慮してDNS移行日を設定しましょう。
DNSのゾーンデータコピー
移行元DNSのゾーンデータをCloud DNSに設定します。
まずはCloud DNSでゾーンを作成します。
ゾーンが追加できたらレコードを追加していきます。
この時も移行元と同じ短くしたTTLを設定して下さい。
移行時に誤ったレコードが設定されていても、キャッシュ時間が短ければすぐにリカバリーできます。
移行作業
移行作業として2つあります。
1. 移行元DNSのNSレコードを切り替え
2. Cloud DNSへのトラフィックを確認
それぞれ解説していきます。
移行元DNSのNSレコードを切り替え
DNSの切り替えには権威DNS(お名前.comなどのレジストラ)のNSレコードを直接切り替えずに、移行元DNSのNSレコードをCloud DNSのNSレコードに書き換えることで委任を行います。
移行元DNSとCloud DNSを並行運用することで、一般的に言われるDNSの浸透の問題を回避できます。
Cloud DNSへのトラフィックを確認
移行元DNSのNSレコードを切り替えたら、クエリが正常に解決できているか確認します。
digコマンドやCloud Loggingから以下のリソースタイプを指定すると確認でき
resource.type="dns_query"
Cloud DNSで問題なく名前解決が行えわれていることが確認できたら権威DNSの委任先をCloud DNSに切り替えます。
移行元DNSで設定したキャッシュ期間が過ぎるまでは並行運用を行います。
移行後作業
移行作業として1つです。
1. 移行元DNSヘクエリが来ていないことを確認して停止する
移行元DNSヘクエリが来ていないことを確認して停止する
移行元DNSはキャッシュ期間が過ぎれば、名前解決のクエリは来ません。
念の為ログ等を確認して、問題なければゾーンを削除します。
これでDNSの移行作業が完了となります。
最後に
今回はCloud DNSへの移行をご紹介しました。
DNS関連はトラブルが発生した際の影響が大きいので注意を払いつつ、リカバリー方法の確認など事前準備をしっかりとする事が大切です。
参考
DNSサーバーの引っ越し~トラブル発生を未然に防ぐ手順とポイント~https://jprs.jp/related-info/guide/topics-column/no19.html