こんにちは。「クロジカサーバー管理」プリセールスの高瀬です。サイトのリプレイスなどでサーバーを変更する場合、対象ドメインのDNSレコードを変更することで切り替えることが多いと思います。DNSのレコード設定についてはすぐに反映されるものではないため、反映までに「浸透時間」がかかる、といったようなお話が出ることがあります。
上記のような状況でお困りの方に向けて、本記事では以下について説明します。
この記事でわかること
① そもそもDNSサーバーとは?
② DNS浸透時間が発生する原因
③ DNS浸透時間に対する対策2選
その前にDNSサーバーとは
DNSサーバーはウェブサイトのリンクに含まれるドメイン名から、ウェブサーバーのIPアドレス情報を受け渡すためのサーバーです。
正確にはパソコンやスマホからの問い合わせに対してIPアドレスを問い合わせをおこなうフルサービスリゾルバと、*.jpや*kurojica.com以下など特定範囲のドメインの問い合わせを受け付ける権威DNSサーバーがありますが、ウェブサーバー切り替えの時にいわゆるDNSサーバーはサイトドメインに関する権威DNSサーバーになります。
ここで重要なのは1台のサーバーが全てのDNSレコードを管理しているのではなく、役割やドメインの階層ごとにDNSサーバーが分散しており、フルサービスリゾルバは近い場所から伝言ゲームのようにDNSレコードの情報を探していることです。
DNS浸透時間とは
上述のように世界中に分散されたDNSサーバを伝ってDNSレコードからIPアドレスを割り出すため、権威DNSサーバーの情報が更新されてから実際にブラウザからの接続結果が切り替わるまでには時間差があります。
また、それも一律ではなくPCやスマホの場所によって差があるため、世界中のクライアントに反映されるまでの時間をDNS浸透時間と呼んでいます。そのため、正確な時間を計測することは難しく、数時間から長い場合は数週間、と言われていることが多い状況です。
DNSサーバーの設定による影響
当然ですがDNS浸透時間は、DNSサーバーの設定によって影響を受けます。特に、TTL(Time To Live)と呼ばれる設定は、浸透時間に大きな影響を与えます。TTLとは、DNSサーバーがキャッシュした情報を保持する時間です。TTLが短いほど、DNSサーバーは新しい情報を頻繁に取得するため、浸透時間が短くなります。逆に、TTLが長いほど、DNSサーバーは古い情報を長く保持するため、浸透時間が長くなります。
DNS浸透時間に対する対策は?
新旧両方のサーバーどちらに接続されてもいいようにする
上述の通りDNSレコードを変更してから、PCやスマホなどの各端末にその結果が反映されるのには時間差があります。そのため、DNS切り替えからしばらくの間は新旧両方のサーバーどちらに接続されても大丈夫な状況にしておくことが必要です。
例えば、ウェブサーバーであれば新旧のサーバーどちらでもサイトが表示できるようにしておきます。サイトリニューアルの場合は旧サーバーに接続すると古いページが見えますが、ここで旧サーバーを止めてしまうとDNSが浸透していないユーザーからはサイトが止まっているように見えてしまいます。
また、メールサーバーであれば新・旧両方のサーバーからメールを受信することで取りこぼしをなくします。
DNSサーバーそのものを変更する場合はネームサーバーを切り替える前に新旧のネームサーバーに同じDNSレコードを登録しておくことで、ネームサーバーが切り替わる時間を意識せずにDNSサーバーを切り替えることができます。
各DNSサーバーは通信して取得した結果をキャッシュとして保持していることが多いです。この浸透時間にはキャッシュが更新されるまでの時間も含まれます。新・旧サーバーを並行稼働させておく期間は正確には難しいですが、1ヶ月程度稼働させられれば安全に切り替えられることが多いと思われます。
TTLを調整する
フルサービスリゾルバを含めた各DNSサーバーは他のサーバーに問い合わせた結果をキャッシュとして一定期間保持しており、浸透時間にはこのキャッシュ更新時間も含まれます。そこで、DNSレコードにはTTLという設定値があり、これは「このレコード情報について何秒までキャッシュを保持していいよ」というキャッシュ保持期間を設定します。
この値が大きいとその分浸透に時間がかかります。例えばTTLが3日間に設定されている場合は、本番切り替えから遡って3日以上前にTTLの値を短くしておき、キャッシュを保持されないようにしておく必要があります。本番切り替え当日にTTLを短くしても、切り替え直前にDNSレコードを受け取ったサーバーではその後3日間キャッシュを保持してしまうため、その分浸透が遅くなります。
また、TTLを短く設定しすぎるとDNSサーバーへの負荷が増加する可能性があります。そのため、TTLの設定は、ウェブサイトの状況に合わせて適切な値を設定するように注意をしましょう。
DNSキャッシュのクリア
DNSキャッシュは、DNSサーバーの処理速度を向上させるために利用されますが、新しい情報が反映されるのを遅らせる原因にもなります。そこで、DNSキャッシュをクリアすることで、新しい情報がすぐに反映されやすくなります。DNSキャッシュのクリア方法は、ブラウザの設定やコマンドプロンプトを利用する方法などがあります。
さいごに
クロジカサーバー管理ではお客様のサイトに応じてDNSの管理状況などヒアリングさせていただき、サイト移行のお手伝いをさせていただきます。サイト制作のご提案にあたり、本番切り替えの際のコントロールが難しい場合はぜひご相談くださいませ。
監修者:クロジカサーバー管理編集部
コーポレートサイト向けクラウドサーバーの構築・運用保守を行うサービス「クロジカサーバー管理」を提供。上場企業や大学、地方自治体など、セキュリティ対策を必要とするコーポレートサイトで250社以上の実績があります。当社の運用実績を踏まえたクラウドサーバー運用のノウハウをお届けします。
コーポレートサイトをクラウドでセキュアに
無料ではじめるサーバー管理
クロジカガイドブック
- コーポレートサイト構築・運用の課題を解決
- クロジカサーバー管理の主な機能
- 導入事例
- 導入までの流れ