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. メモ帳を管理者で開く
- スタートメニューで「メモ帳」を検索
- 右クリック →「管理者として実行」
管理者権限がないと保存できない。
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で確認
- コメントに作業者と削除予定日を書く
関連記事
- DNSレコードの調べ方と判断基準 — 浸透確認の正しいやり方
- WP-Cronが動かない原因と対処 — サーバー移行後に予約投稿が動かない場合