CreaTools LogoCreaTools
Tips

DNS切り替え前に新サーバーを確認する方法

2025-11-16

この記事が解決する状況

あなたの状況この記事の価値
サーバー移行を控えているDNS切り替え前に新サーバーを確認できる
切り替え後に表示崩れで事故った経験がある二度と同じ事故を起こさない方法を知る
チームでサーバー移行作業をしている複数人での確認作業の注意点を知る

印刷物にURLが載っていて、切り替え後のロールバックが許されない状況なら、必読。


よくある失敗

「DNS切り替え完了しました」→ 表示が崩れてる → クライアントからクレーム

印刷物にURLが載っている。ロールバックしたくても、DNS浸透には時間がかかる。

この手の事故は、切り替え前の確認で防げる。


なぜ事前確認が難しいか

通常のアクセス経路では、新サーバーを見る方法がない。

ブラウザ → DNS → 旧サーバーのIP → 旧サイト表示

DNSを変えない限り、新サーバーにアクセスできない。だから「切り替えてみないとわからない」状態になる。


hostsファイルで解決する

自分のPCだけ、DNSを無視して特定IPに接続できる。

ブラウザ → hosts(DNSより優先) → 新サーバーのIP → 新サイト表示

他のユーザーには影響しない。自分だけが新サーバーを見れる。


確認前に決めること

項目確認方法
新サーバーのIPサーバー管理画面、または nslookup で権威DNSに問い合わせ
確認するドメインwww有無を両方リストアップ
SSL証明書新サーバーに設定済みか(未設定ならhttpで確認)

IPを間違えると意味がない。事前に確認。


Windows の手順

1. メモ帳を管理者で開く

  1. スタートメニューで「メモ帳」を検索
  2. 右クリック →「管理者として実行」

管理者権限がないと保存できない。

2. hostsファイルを開く

ファイル → 開く → 以下を入力:

C:\WINDOWS\system32\drivers\etc\hosts

ファイルの種類を「すべてのファイル」に変更。

3. 末尾に追記

# サーバー移行確認用(2024-11-16 作業者:田中 削除予定:11-17)
203.0.113.50    example.com
203.0.113.50    www.example.com

IPとドメインの間はタブかスペース。

コメントには「作業者」と「削除予定日」を必ず書く。 誰が何のために追加したか、いつ消すべきかがわかるようにする。

4. 保存してブラウザで確認

シークレットモードで対象URLにアクセス。新サーバーの内容が表示されればOK。


Mac の手順

1. ターミナルで編集

sudo nano /etc/hosts

パスワードを入力。

2. 末尾に追記

# サーバー移行確認用(2024-11-16 作業者:田中 削除予定:11-17)
203.0.113.50    example.com
203.0.113.50    www.example.com

3. 保存して終了

Ctrl + O → Enter → Ctrl + X

4. DNSキャッシュをクリア

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

確認が終わったら必ず削除

これを忘れると事故になる。

hosts設定を残したまま本番DNS切り替えを行うと:

  • 自分だけ古いサーバーを見続ける
  • 「動作確認OK」と報告したのに他の人で問題発生
  • 原因特定に時間がかかる

確認完了後、追記した行を削除。再度キャッシュクリアして本番経由で再確認。


事故事例:hosts残し忘れの悲劇

事例1: 自分だけ動いていた

状況: サーバー移行後、自分のPCでは正常表示。クライアントから「エラーが出る」と連絡
原因: hostsが残っていて、自分だけ旧サーバー(まだ動いている)を見ていた
結果: 新サーバーの設定ミスを見逃し、公開後に発覚

事例2: 半年後の謎

状況: ある日突然、自分のPCだけ特定サイトにアクセスできなくなった
原因: 半年前のサーバー移行時にhostsを追加したまま忘れていた。旧サーバーが廃止されて接続不能に
結果: 原因特定に1日かかった

事例3: チームで混乱

状況: チームメンバーAは「表示崩れてる」、Bは「正常」と報告が食い違う
原因: Aはhosts設定済み、Bは未設定で、それぞれ別サーバーを見ていた
結果: 原因切り分けに半日

チーム作業での注意点

hosts設定の共有

❌ 口頭で「hosts設定しといて」
✓ 設定内容をテキストで共有し、全員同じ内容を設定

確認完了の報告

❌ 「確認OK」だけ報告
✓ 「hosts設定状態で確認OK。これからhosts削除して本番経由で再確認」

削除確認

❌ 各自の判断で削除
✓ チームで「hosts削除」のタイミングを合わせる

接続先を確認する方法

本当にhostsが効いているか確認:

ping example.com

hostsに書いたIPが返ってくればOK。


よくあるトラブル

症状原因対処
変わらないブラウザキャッシュシークレットモードで確認
変わらない保存できていない管理者権限で開き直す
SSL証明書エラー新サーバーに証明書未設定一時的にhttpで確認
一部だけ旧サーバーCDN経由のリソースCDN設定も確認

本番切り替え前チェックリスト

タイミング確認項目
hosts設定前新サーバーのIPは正しいか
hosts設定後ping で期待のIPが返るか
確認作業中SSL証明書エラーは出ていないか
確認作業中画像・CSS・JSは正しく読み込まれているか
確認完了後hostsの該当行を削除したか
hosts削除後キャッシュクリアしたか
hosts削除後本番経由で再度表示確認したか

まとめ

  • hostsファイルでDNSを迂回し、新サーバーを事前確認
  • Windows: 管理者権限でメモ帳、Mac: sudo nano
  • 確認後は必ず削除(残すと自分だけ別世界を見る)
  • シークレットモードとpingで確認
  • コメントに作業者と削除予定日を書く

関連記事