この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
データベースを移行したものの、名前解決が実装できていなかったり、ホットスワップを実装しておらず検証がスムーズにできないといった問題ありませんか?
そんなときは、DNS解決をローカル環境側で疑似的に行ってしまえばよいのです。より正確には、ローカルでIPアドレスと文字列を紐づけることで、DNS解決を回避してしまいます。
理論
ホスト名とIPアドレスをマッピングすることで、特定のドメイン名(ホスト名)を特定のIPアドレスに解決(接続)させることができます。
これは、http:/localhost
とブラウザに打ち込むと、localhostというグローバルなドメインに飛ぶのではなく、127.0.0.1
というループバックアドレスという自分自身を指すIPアドレスに繋がります。
実際、Windowsのhostsファイルには以下がデフォルトで記述されています。
...
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
...
やり方
環境
Windows
手順
-
ファイルエクスプローラーを開き、左のナビゲーションから、
PC
→Windows(C:)
→Windows
→System32
→drivers
→etc
とフォルダをクリックしていってください。
-
etc
フォルダの中にあるhosts
を右クリックして、プログラムから開く
をクリックしてください。
-
そこから、Visual Studio CodeやNotepad++などのエディタで開いてください。
以下のフォーマットで書くことで、DNS解決を回避できます。
54.xxx.xxx.xxx yourdomain.jp
- ブラウザで
http://yourdomain.jp
と入力すると、先ほど設定したIPアドレス54.xxx.xxx.xxx
に接続されます。
まとめ
ローカルでIPアドレスとホスト名を紐づけることで、DNS解決を回避しました。
これは、例えばデータベースを移行したもののドメインの紐づけなどを行っておらず、しかし接続テストを行いたい場合などに非常に効果的です。
今後もtips的なものを投稿していきますので、弊社のブログをサーフィンしてください!