• ベストアンサー

DNSサーバ(BIND)でAレコードの変更したIPアドレスを一定の時間内に反映させるには?

現在、一台のパソコンで、DNSサーバ(BIND)とWebサーバを動かしているのですが、Webサーバのみ別サーバに移行させるにあたって、Webサーバのドメインに対応するIPアドレスを変更する必要があるのですが、それを一定の時間内(5分くらいでできればと考えています)に変更するには、どういった設定が必要になりますでしょうか? 試みたこととしてはレコードファイルの該当するAレコードに対して www.xxx.com. 300 IN A 123.456.789.10 と記述してnamedをリロードさせてみたけれども駄目でした。 書籍を読んだりネットで検索したりしてもいまいちよくわからないです。 なにとぞお助けを。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5241/13712)
回答No.1

予めSOAレコードのREFRESHやEXPIREを短くしておき、実際に切り替えるタイミングの時にキャッシュが残らないようにしないと、クライアントやDNSキャッシュが古い情報を忘れてくれません。 あと、SERIALを更新するのを忘れがちでので確認した方がいいと思います。

apraxas
質問者

お礼

ご回答ありがとうございます。 >その確認方法はどうやってしましたか? 別のPCのブラウザからキャッシュをクリアした状態でアクセスした確認しました。 >他のDNDサーバが新しいIPになるまで DNSサーバは既存のまま使い続ける予定です。 また、Webサーバと同時にデータベースも移行させるので、確実に 一定時間内に切り替わることが要求されているのです。 確認したいことがあるのですが、 DNSのキャッシュが無くなった時点で、どこからアクセスしても 新しく設定したIPアドレスの方で名前解決されるようになるという認識で宜しいでしょうか?

apraxas
質問者

補足

ご回答ありがとうございます。 REFRESHやEXPIREについては設定を変更していなかった為、試みてみます。 一点確認したいのですが、レコードの変更をWebサーバのみに対して行なう場合には、DNSのキャッシュに古い情報が無くなった瞬間に、どこからアクセスしても新しいIPアドレスの方で名前解決されるという認識でよろしいでしょうか?別のDNSサーバのキャッシュや設定などの影響によって、アクセスする場所によっては古い方で名前解決されてしまうということはないでしょうか?

その他の回答 (3)

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.4

No.2です。 >別のPCのブラウザからキャッシュをクリアした状態でアクセスした確認しました。 それは、ブラウザのキャッシュをクリアしただけで DNSのキャッシュをクリアしていません。 DNSキャッシュのクリアはOSによって違うのでご注意下さい。

apraxas
質問者

お礼

コマンド等によってDNSキャッシュのクリアが できるということでしょうか。 調べてみようかと思います。 大変参考になりました。 ありがとうございました。

  • t_ohta
  • ベストアンサー率38% (5241/13712)
回答No.3

>レコードの変更をWebサーバのみに対して行なう場合には、DNSのキャッシュに古い情報が無くなった瞬間に、どこからアクセスしても新しいIPアドレスの方で名前解決されるという認識でよろしいでしょうか? 基本的にはその認識でいいと思います。 DNS情報をキャッシュする場合はREFRESHやEXPIREを元に保持期限を決めますので、この間隔が短ければ短いほど短期間で切り替わります。 但し、短ければ短いほど頻繁にDNSの問い合わせが来てしまいます。 >別のDNSサーバのキャッシュや設定などの影響によって、アクセスする場所によっては古い方で名前解決されてしまうということはないでしょうか? 実装が悪ければ、REFRESHやEXPIREを短くしても無視される可能性はありますが、それは相手側が悪いので対応は難しいですね。 大事なのはあなたが運用しているDNSサーバのREFRESHやEXPIREを早めに替えておくことです。 今、EXPIREが長く設定されているとその間は変わらない可能性がありますので、今の設定を確認して早めに設定しておいた方がいいでしょう。 私が以前切り替えをやった時は、EXPIREは1週間になっていたので2週間前からREFRESHとEXPIREを10分くらいに設定しました。 (サーバの移行作業が30分くらいを見込んでたのでそれより短く設定しました)

apraxas
質問者

お礼

ご回答ありがとうございます。 体験談まで盛り込んでいただき、大変参考になりました。

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.2

>記述してnamedをリロードさせてみたけれども駄目でした。 その確認方法はどうやってしましたか? 変更方法についてはNo.1さんの方法でいいですが、 確認は別のPCでされました? 確認方法にもよりますが、そのPCのキャッシュに残っていてその情報を見ているかも知れないです。 他のDNDサーバが新しいIPになるまで、WEBサーバは2つ立ち上げたままでもいいのでは?

apraxas
質問者

お礼

ご回答ありがとうございます。 >その確認方法はどうやってしましたか? 別のPCのブラウザからキャッシュをクリアした状態でアクセスした確認しました。 >他のDNDサーバが新しいIPになるまで DNSサーバは既存のまま使い続ける予定です。 また、Webサーバと同時にデータベースも移行させるので、確実に 一定時間内に切り替わることが要求されているのです。 確認したいことがあるのですが、 DNSのキャッシュが無くなった時点で、どこからアクセスしても 新しく設定したIPアドレスの方で名前解決されるようになるという認識で宜しいでしょうか?

apraxas
質問者

補足

ご回答ありがとうございます。 >その確認方法はどうやってしましたか? 別のPCのブラウザからキャッシュをクリアした状態でアクセスした確認しました。 >他のDNDサーバが新しいIPになるまで DNSサーバは既存のまま使い続ける予定です。 また、Webサーバと同時にデータベースも移行させるので、確実に 一定時間内に切り替わることが要求されているのです。 確認したいことがあるのですが、 DNSのキャッシュが無くなった時点で、どこからアクセスしても 新しく設定したIPアドレスの方で名前解決されるようになるという認識で宜しいでしょうか?

関連するQ&A