目次
はじめに
こんにちは、omkです。
「サイトのリプレースで公開前に実際に使用するドメインを使って動作確認がしたいけれど、対象のドメインが現行のサイトに向いているからどうしたらいいのか分からない」ということが多々あると思います。
「ALBを利用していてhostsファイルに記載するIPが分からない」ということも多々あると思います。
そんなわけでWindowsでhostsファイルを設定してALBにアクセスする方法について簡単にまとめていきます。
hostsファイルとは
(ざっくり)OS上に存在する設定ファイルです。そこにドメインとIPの組み合わせを記入することで、記入したドメインにアクセスした際に、記入したIPにアクセスするようにします。
DNSよりも優先されるので既存のドメインでサーバをリプレースする際の動作確認にも使えます。
やること
- ALBのIPを調べる
- hostsファイルに書く
- サイトにアクセスする
簡単ですね。
ALBのIPを調べる
ALBを作成すると以下のようなDNS名が発行されます。
hogefugaalb-123456789.ap-northeast-1.elb.amazonaws.com
ここからIPを引きます。
Windowsで検索欄に「cmd」と入力してコマンドプロンプトを起動します。
PowerShellでも可です。
コマンドプロンプトの黒い画面が出てきたら以下のコマンドを入力します。
nslookup {ALBのDNS名}
先程の例だと次のようになります。
nslookup hogefugaalb-123456789.ap-northeast-1.elb.amazonaws.com
Enterを押すと次のような表示が出てきてIPが分かります。
名前: hogefugaalb-123456789.ap-northeast-1.elb.amazonaws.com
Addresses: 12.345.67.890
9.87.654.321
※IPは実在しないものにしています。
このIPをhostsファイルに設定します。
コマンドの画面は消さずに残しておくと吉です。
hostsファイルに書く
まずファイルを編集するためにメモ帳を開きます。
このときに管理者権限が必要になりますので以下の方法で開きます。
Windowsで検索欄に「memo」と入力してメモ帳が表示されたら右クリックで選択します。
「管理者として実行」を選択します。
「このアプリがデバイスに変更をかけることを許可しますか?」という確認が出てくるので「はい」を選択します。
これでメモ帳が起動しました。
Windowsでは以下のパス(ディレクトリ、フォルダ)にファイルがあります。
C:\Windows\System32\drivers\etc\hosts
「ファイル」>「開く」からhostsファイルを開いていきます。
画面に出てきたエクスプローラーの画面上部に「C:\Windows\System32\drivers\etc\」といれて対象のフォルダまで移動します。
おそらくファイルが選べない状態だと思います。
ファイルの種類を「すべてのファイル」に変更いただくことでhostsファイルも表示されます。
ではhostsファイルを開きます。
初期状態だと以下のようになっていると思います。
# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
これに対象のドメインとALBのIPを追記します。
ALBのIPは2つ以上表示されると思いますが基本的にどちらを使っても問題ないです。
以下のように記述します。
12.345.67.890 www.hogefuga.com
これでファイルを保存して(管理者権限でメモ帳を起動していないと保存できないです)、hostsファイルへの記入が完了しました。
サイトにアクセスする
ブラウザ等でサイトにアクセスしてみてください。
ブラウザでキャッシュしている可能性もありますのでもし正常にアクセスできないときは思い出してください。
これでサイトが表示されます。
注意点
ALBのIPは変動します。
設定後アクセス出来なくなった場合は再度ALBのIPを引き直してみてください。
また、hostsが効いている間は本来のドメインの向き先に設定したドメインではアクセスできなくなるので適宜コメントアウト(hostsファイルの対象行の先頭に「#」をつけると無効化できます)してください。
おわりに
以上、簡単に内容をまとめてみました。
最後までお付き合いありがとうございました。
アーキテクト課のomkです。
AWSについて雑多に取り組んだ内容を発信しています!!