web-dev-qa-db-ja.com

サイトのIPアドレスを変更する最良の方法-エンドユーザーの観点から?

私は関連するQ/Aの束をここで読みましたが、それでも最良の答えが何かはわかりません。

いくつかのサイトをIPアドレス「1.a.b.c」から「2.d.e.f」に移動します。現在、既存のDNSですべてをTTLに300秒に設定し、新しいDNSゾーンを(AWS Route 53で)使用する準備ができています。新しいネームサーバーとすべてのTTLを60秒です。DNSの観点から、準備は整っていると思います。移動後、数日後にRoute 53でTTLをより適切な数値に設定します。

私はすべてのユーザーに移動について警告し、移動の時間枠を定義しました。移動が完了して24時間経過しても古い(ロックされた)サイトが表示される場合は、コンピューターを再起動してローカルDNSキャッシュを強制的にフラッシュする必要があることを伝えました。

ユーザーのブラウザ(キャッシュ)がこれにどのように影響するかわかりません。ローカルホストファイル(Win7)を使った私自身の実験では、古いIPアドレスを許可しないブラウザについて何かがあることがわかりました-履歴に移動する必要がありました->すべてをクリアipconfig /flushdnsの後でも、新しいサイトの場所を表示するため

(編集)-私は古いサーバーへのrootアクセス権を持っていないため、 この質問に対する受け入れられた回答 を実装できません。

質問:私はユーザーにこれに対処してほしくないので、すべてのブラウザを強制的に実行するために私ができることはありますか?再キャッシュしますか?もしそうなら、私はそれをオンにしたままにしておく時間はどれくらいですか?

ありがとう...

10
C C

いいえ、できません。問題は、DNS応答がユーザーとDNSサーバーの間のどこにでもキャッシュされる可能性があり、それらを無効にする方法がないことです。

ただし、できること-データが同期され、2番目のサイトの準備ができたら、元のサーバーを再構成してプロキシとして動作し、すべてのリクエストを新しい場所に渡すことができます。

このようにして、Webサイトのダウンタイムをほぼ0にすることができます。

更新

Rootアクセス権がない場合は、いくつかのオプションがあります。

  • PHPでプロキシを実行する

  • 2番目のサーバーでプロキシを構成し(そこにrootアクセスがある場合)、DNSを切り替え、準備ができたらプロキシをWebサーバーに変更します。

  • この方法は問題の原因となる可能性があります 2つのアドレス(www.domain.tldとwww2.domain.tld)があります。 www2(wwwと同じ)を構成し、正しいDNSレコードを設定します。次に、wwwバージョンのサイトを準備し、DNSの切り替えを行います。古いサーバーのすべてのリクエストのリダイレクトをwww2サブドメインに設定します。

15
Yarik Dot

理論的には、ドメインのTTL=を低く設定し、その変更が行われるのを待ってからIPを変更すると、ほぼ透過的な移行が行われるはずです。結局のところ、それがポイントですTTL構成可能です。

実際、人々は物事を誤設定し、ツールが壊れます。そのため、正常に機能しない場合は、ローカルキャッシュをクリアするようにユーザーに指示する必要があります。

あなたは何も悪いことをしていません。

必然的に、古いアドレスはキャッシュされ、長期間使用されます-主にボットによって使用されます。

どのようにそれを行うでしょう:

  • 新しいIPを指すwww2.yourdomain.comなどのAレコードを作成します。このレコードは、以前は使用されていなかったはずです。したがって、キャッシュされることはありません。
  • 古いサーバーのクエリをwww2.yourdomain.comにリダイレクトします
  • リダイレクトを監視し、トラフィックが許容レベルに落ち着いたら、古いサーバーを削除します。
  • 最後に、古いサーバーが削除されたら、www2.yourdomain.comwww.yourdomain.comにリダイレクトします。

必ず301パーマネントリダイレクトを使用してください。 https://en.wikipedia.org/wiki/HTTP_301

1
ClickLabs

ネームサーバーを同時に変更する予定ですか?ネームサーバーの検出方法により、通常のレコードよりも更新にかなり長い時間がかかります-多くの場合24時間以上です。

現在のプロバイダーでDNSを更新することを強くお勧めしますbefore DNSを変更するか、WebサイトのIPを変更する7日前にネームサーバーを変更してください。

最近のコンピューターとブラウザーは、DNSでTTLを順守するのにかなり信頼できますが、最良の結果を得るには、チェーン全体を理解する必要があります。

0
codatory