サーバーを移転するとき、必ず発生するのがネームサーバー(DNS)の切り替え作業です。ところがDNSは設定してもすぐには反映されず、浸透するまでに数時間〜数十時間かかります。その間、ブラウザでサイトを開いても新旧どちらのサーバーにつながっているのか分からず、新サーバーで正しく表示されるか確認できません。
そこで役立つのが、お使いのパソコンのhostsファイルです。hostsを編集すれば、DNSが切り替わる前でも、自分のパソコンだけを新サーバーに向けて動作確認できます。
この記事では、hostsファイルの場所と書き方を、Windows 11・10とmacOSの両方に対応して、編集手順・反映されないときの対処・確認方法まで含めて解説します。
hostsファイルとは
hostsファイルとは、OSに標準で備わっているシステムファイルのひとつで、IPアドレスとドメイン名の対応表です。パソコンはドメイン名にアクセスする際、通常はDNSサーバーに「このドメインのIPアドレスは?」と問い合わせますが、その前にこのhostsファイルを参照します。
つまりhostsに「このドメインはこのIP」と書いておけば、DNSの設定よりも優先して、そのパソコンだけを指定したサーバーへ接続させられるわけです。これがサーバー移転前の動作確認に使える理由です。
hostsファイルの場所
OSごとのhostsファイルの場所は次の通りです。現在主流のWindows 11・10とmacOSは同じパスなので、まずここを押さえれば十分です。
| OS | hostsファイルの場所 |
|---|---|
| Windows 11 / 10 / 8 / 7 | C:\Windows\System32\drivers\etc\hosts |
| macOS | /etc/hosts |
| Linux | /etc/hosts |
なお、Windowsのパスは拡張子のない hosts というファイルが本体です(hosts.txt ではありません)。
hostsファイルの編集手順(Windows 11・10)
Windowsのhostsはシステムフォルダ(System32)の中にあるため、そのまま開いても保存できません。ここが最初のつまずきポイントです。必ずテキストエディタを「管理者として実行」してから開いてください。
- スタートメニューで「メモ帳」を検索し、右クリック →「管理者として実行」を選ぶ
- メモ帳の「ファイル → 開く」で C:\Windows\System32\drivers\etc へ移動する
- 右下のファイル種別を「すべてのファイル」に変更すると hosts が表示されるので、これを開く
- 後述の書き方に従って一行追記し、上書き保存する
編集前に元のhostsファイルをコピーしてバックアップを取っておくと、戻すときに安心です。
hostsファイルの編集手順(macOS)
Macではターミナルから編集するのが確実です。「アプリケーション → ユーティリティ → ターミナル」を開き、次のコマンドを実行します。
sudo nano /etc/hosts
Macのログインパスワードを入力するとエディタ(nano)が開きます。末尾に一行追記したら、Control + O で保存、Control + X で終了します。
hostsファイルの書き方
書き方はOS共通で、ファイルの最下部に「IPアドレス + 半角スペース + ドメイン名」を一行で追記するだけです。
203.0.113.10 www.webernote.net
203.0.113.10 webernote.net
サーバー移転の動作確認では、ここに書くIPは新しいサーバーのIPアドレスです。これでDNSがまだ旧サーバーを指していても、自分のパソコンだけは新サーバーに接続して表示を確認できます。wwwあり・なしの両方でアクセスする可能性があるなら、上の例のように2行書いておくと確実です。
変更が反映されないときは(DNSキャッシュのクリア)
hostsを編集しても、パソコンが古い接続先を記憶(DNSキャッシュ)していて反映されないことがあります。その場合は次のコマンドでキャッシュをクリアします。
Windows
コマンドプロンプトを「管理者として実行」して、次を実行します。
ipconfig /flushdns
macOS
ターミナルで次を実行します(macOSのバージョンによりコマンドが異なる場合があります)。
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
それでも変わらないときは、ブラウザ自身のキャッシュが原因のこともあります。シークレットウィンドウで開く、またはブラウザを再起動して確認してください。hostsの編集自体は、パソコンの再起動なしで反映されます。
新サーバーにつながっているか確認する方法
hostsが効いているかは、コマンドで接続先IPを確認するのが確実です。Windowsはコマンドプロンプト、Macはターミナルで次を実行します。
ping www.webernote.net
表示されるIPアドレスが、hostsに書いた新サーバーのIPになっていれば成功です。あとはブラウザで実際にサイトを開き、表示崩れ・リンク切れ・画像の欠けなどがないかを確認します。
確認が終わったら必ず元に戻す
動作確認が終わったら、追記した行は必ず削除(またはコメントアウト)して元に戻してください。消し忘れると、DNSが切り替わった後もそのパソコンだけが古いIPを見続け、「自分の環境でだけ表示がおかしい」という原因の分かりにくいトラブルにつながります。
行頭に # を付けるとコメントアウト(一時的に無効化)できます。
# 203.0.113.10 www.webernote.net
編集時の注意点・よくあるミス
- IPアドレスとドメインの区切りは半角スペース(またはTab)。全角スペースだと効きません。
- Windowsで保存できないときは、エディタを管理者として実行できているか確認。
- セキュリティソフトがhostsの改変をブロックする場合があります。保存できないときは一時的に確認を。
- 確認後の戻し忘れが最も多いミス。作業はバックアップとセットで。
まとめ
hostsファイルを使えば、DNSが浸透する前でも自分のパソコンだけを新サーバーに向けて、サーバー移転の動作確認ができます。手順は「管理者権限で開く → IPとドメインを一行追記 → 必要ならDNSキャッシュをクリア → 確認 → 元に戻す」の流れです。
移転トラブルの多くは、切り替え後に初めて問題に気づくことで起こります。hostsでの事前確認を習慣にしておけば、こうした事故の大半は未然に防げます。サーバー移転の際は、ぜひ取り入れてみてください。