LoginSignup
3
6

More than 3 years have passed since last update.

ELB切り替え時の動作確認 (hostsファイルを編集する)

Posted at

これはなんですか

  • DNSのレコード登録が済んでないALBに対してリスナールールの動作確認をした時のメモです
  • hostファイルを編集して名前解決する方法です。

先にまとめ

  • hostsファイルはローカルで名前解決するためのもの
    • macOSのhostsファイルは /private/etc/hosts にある
    • Windowsの場合は C:\Windows\System32\drivers\etc\hosts にある
  • DNSレコード登録前にLBの動作確認がしたければ、hostsファイルにLBのIPと対象のHostを書いて名前解決の動作をエミュレートすればよい
    • HTTP接続するだけなら curl -H 'Host:example.com' 'http://xxx................' とした方が楽だが、HTTPS接続がしたければhostsを使う必要がある

hosts ファイルとは

ローカルで名前を解決してくれるやつです。以下ざっくり説明です。
https://wa3.i-3-i.info/word16969.html

mac環境のhostsファイルの置き場所は

/private/etc/hosts にあります。

Windows環境のhostsファイルの置き場所は

C:\Windows\System32\drivers\etc\hosts にあります。
http://onocom.net/blog/windows-hosts-file/#hostsWindows

やってみた

ALB の準備

  • (主にACMで) 証明書発行
  • ALB作成
    • ALBデフォルトのDNS名(Aレコード)を控えておく
  • ターゲットグループ作成&配下のターゲットへの紐づけ
  • リスナールール 設定
    • 証明書をリスナーに紐づけておく

デフォルトのDNS Nameにクエリする

ALBのIPを確認する

$ dig example-xxxxxxxxxxx.ap-northeast-1.elb.amazonaws.com +short
54.250.192.xx
52.196.88.yyy

hosts ファイルを編集する

$ cat /private/etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

### (略)

### ALBのIPを登録
52.196.88.yyy example.com

curl する

IPがALBに向いていることを確認する

$ curl -I https://example.com/healthcheck.html -v
*   Trying 52.196.88.yyy...
* TCP_NODELAY set
* Connected to emd-dev.watashi-move.com (52.196.88.yyy) port 443 (#0)
...
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Date: Mon, 07 Oct 2019 06:23:58 GMT
Date: Mon, 07 Oct 2019 06:23:58 GMT
...

ALBログを確認する

ログが残っていればok。

余談: digはシステムのDNSリゾルバを使わない

hostsを編集した後digしてもhostsに書いた内容が反映されなかったので調べたらこんな記事が。
https://qiita.com/kakipo/items/71f091ecd1fa27fde2ed

dig, nslookup, そして host コマンドは /etc/hosts を参照しない。

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6