- Web制作
hostsを設定してDNS切り替え前に新サーバーにアクセスする

目次
はじめに IPアドレスとドメインについて
インターネットにつながっているコンピューターには、「IPアドレス」という現実世界の住所のような物が割り振られています。

私たちが今使っているパソコンにも、Amazon や Youtube などのサイトを管理しているサーバーにも、IPアドレスが割り振られています。
IPアドレスの例)
Google の IPアドレス「172.217.175.110」
上記のように数字の羅列で構成される IPアドレスはコンピューターにとっては分かりやすくても、人にとっては複雑で覚えられません。
そこで人にも分かりやすい名前(ドメイン名)に置き換えることができます。
ドメイン名の例)
Amazon のドメイン「amazon.co.jp」
Youtube のドメイン「youtube.com」
Google のドメイン「google.com」
「172.217.175.110」という IPアドレスが分からなくても「google.com」というドメイン名が分かれば Google の Webサイトにアクセスすることができます。
このようにドメイン名から IPアドレス(または IPアドレスからドメイン名)へ変換することを「名前解決」といいます。
DNSとは
名前解決の方法で一般的に使われているのが DNS(ディーエヌエス)です。
DNS は Domain Name System(ドメインネームシステム) の略で、ドメイン名と IPアドレスとの紐づけを管理するための仕組みです。

例えばこの Webサイト(https://libesta.jp/)にアクセスする場合を例にしてみましょう。
Google や Yahoo などの検索機能が使えないとしたら、まずユーザーは「https://libesta.jp/」という URL をブラウザのアドレスバーに入力します。
するとブラウザはドメイン名が「libesta.jp」の Webサーバーにアクセスしようとしますが、この時点では Webサーバーの IPアドレスが分からないため Webサーバーへアクセスすることができません。
そこで、Webブラウザは DNSサーバーに「libesta.jp」に対応する IPアドレスを問い合わせます。
すると、DNSサーバーは「libesta.jp に対応する IPアドレスは 183.181.83.51 です」と教えてくれます。
IPアドレスが分かったブラウザは、IPアドレス「183.181.83.51」を用いて「libesta.jp」の Webサーバーにアクセスすることができます。
hostsとは
DNS が登場する以前から使われていた原始的な名前解決の方法です。
hostsファイルという IPアドレスとドメイン名の対応表を個々のパソコンの中に作成してドメイン名と IPアドレスとの紐づけを管理する仕組みです。

hostsに書いた設定は DNSサーバーよりも優先されます。
例えば Webサイトリニューアル時に、DNS切り替え前に
DNS情報を参照せずにドメイン名で新サーバーにアクセスすることができます。
個々のパソコンに hostsファイルを設置するので、この設定が有効なのは hostsファイルを持ったパソコンだけです。
つまり自分だけの優先 DNSサーバーといったイメージですね。
hostsファイルの場所
Mac
/private/etc/hosts
windows
C:\Windows\System32\drivers\etc\hosts
hostsファイルの設定方法(Mac)
「ターミナル.app」を開く

Finder で、「/アプリケーション/ユーティリティ」フォルダを開いてから、「ターミナル」をダブルクリックします。
「sudo vi /private/etc/hosts」を入力

sudo vi /private/etc/hosts
と入力してEnterを押します。

Password: と表示されますので、Macを立ち上げる時に使用するアカウントのパスワードを入力してEnterを押します。

hostsファイルを編集
「i」キーを押すと編集モードになります。

カーソルキーとEnterを使用して一番下の行に、「サーバーのIPアドレス [半角スペース] ドメイン名」を追加します。
例)サーバーのIPアドレスが「123.456.78.91」、ドメイン名が「example.com」(www付きも含む)の場合
123.456.78.91 example.com
123.456.78.91 www.example.com

編集モードを終了

入力が終わったら Escキーを押して編集モードを解除します。
「:wq」と入力し、Enterを押すと変更が保存されます。
設定したドメイン名でアクセスし、新サーバーにアクセスできることを確認します。
サーバー移行作業が終わったら hostsファイルに追加した設定は必ず削除しておきます。
hostsファイルの設定方法(Windows)
管理者として「メモ帳」を開く


「メモ帳」を開く時に、メモ帳を右クリックし「管理者として実行」で起動します。
確認ダイアログで「はい」をクリック

「このアプリがデバイスに変更を加えることを許可しますか?」と確認ダイアログが表示されるので「はい」をクリックします。
hostsファイルを開く

メモ帳の「ファイル」から「開く」をクリックします。

ファイル名欄に
C:\windows\system32\drivers\etc\hosts
と入力して「開く」をクリックします。
hostsファイルの編集

hostsファイルの一番下の行に、「サーバーのIPアドレス [半角スペース] ドメイン名」を追加します。
例)サーバーのIPアドレスが「123.456.78.91」、ドメイン名が「example.com」(www付きも含む)の場合
123.456.78.91 example.com
123.456.78.91 www.example.com
hostsファイルを「上書き保存」

「ファイル」から「上書き保存」をクリックします。
設定したドメイン名でアクセスし、新サーバーにアクセスできることを確認します。
サーバー移行作業が終わったら hostsファイルに追加した設定は必ず削除しておきます。
さいごに
レンタルサーバーによっては「動作確認URL」が発行できて、DNSを切り替える前に新サーバーの状態を確認できるのですが、URLが発行されるまでに1時間くらい時間がかかったりと何かと不便です。
何より「動作確認URL」は本番環境のURLとは違う物なので、WordPressの管理画面にログインする等はできません。
その点 hosts だとすぐに設定が反映されて WordPressの管理画面にログインして作業もできるので便利です。
ただ hostsファイルの設定が残ったままになっていると場合によっては間違ったサーバーにアクセスしてしまうという状況が起こってしまうので、作業が終わったら設定を削除することを忘れないように気をつけましょう。

名古屋の Web 制作会社で 9 年半働いた後フリーランスに。中小企業のWEBサイト制作実績 100 サイト以上。ディレクション、デザイン、コーディング、WordPress 構築まで手掛けます。主にWeb系の情報をお届けします。