【初心者用】ネットワーク概論、DNS(AWS、digコマンドとか)
そもそも論
IPアドレスをhogehoge.comとかに変換するのがネームサーバ。
IPアドレス=サーバの住所
■ブラウザからドメインにアクセスしたときの流れ
基本、初めてアクセスするドメインはDNS(サーバーの住所録)に保存されていない為、上位、上位。。。へとDNSを問い合わせる。
例 ブラウザからwww.hoge.comにアクセス。
ブラウザ→PCのDNS(DNS登録なし)→ルーターのDNS(DNS登録なし)→comのDNS(DNSにhogeが登録されてた!)→でもwwwはcomに登録なし→hogeのDNS(DNSにwwwが登録されてた!)→閲覧OK
これにより、大元のDNS変更した場合は浸透に時間がかかる。
浸透されるまでは今まで登録されていたDNS(住所録)にアクセスすることになる。
(再度躓いたので追記解説)
基本はトップドメインから探しに行くわけ。
つまり.tokyoみて
つぎに.XXXXをみる
→XXXXXXはお名前.comにある。
→で、お名前のDNSレコード設定みるとdnsv1みたいなのがある。
つまりこれはお名前のDNSを使ってるので、AWS側のRoute53にはそもそも見に行かな
い。
もしもお名前のDNSじゃなくてAWS側で設定したいなら、お名前側でAWSのDNSを書いてあげないとだめ。
さらにいうとそのうえでAWS側でAレコードとかを書いてあげる。
もちろん臨機応変に考えて。
■digコマンド
dig hogehoge.org ns
→nslookupの詳細版
nslookup xxxxx.org
→IPアドレスが正しく出ていれば反映済みということになる
で調べる
なぜか onamae.comのデフォルトDNSになってしまっていることがある
その場合はお名前>DNS関連機能>DNSレコード>で再度一番下のチェックいれてOKにするとうまくいくかも
■AWS
既存のサイトをコピーして複製する手順。
まずhogehoge test→hogehoge test2としてコピーする
①AWS>アカウント>コンソール>ログイン>サーバ
スプレッドシートのメモで確認
Route53>DNS お名前と同じ役割
ドメインを作る
IPアドレスは同じ testをtest2にする以外は。
■ちなみにAWS関連で下記もメモ
そもそも誰かがネットを見るということはどういうことかというと、
http://hogehoge.co.jp/
にアクセスるとまずはjpドメインを探す
次はcoドメイン
次にhogehogeを探し、お名前なのかAWSなのかをみにいく。
たとえばお名前のDNSのAレコードなのかとか
onamae.com DNS Aレコード、●レコード。。。
(AWS)Route53 DNS Aレコード、●レコード。。。
Valuedomain DNS Aレコード、●レコード。。。
とかいろんなのがある。
で実際は、お名前でドメインを購入してるけどレジスタはAWSだったりすることがあ
る。
で、どんな時か?
A:hogehoge.co.jp→IPはひとつ。この後にAWSのサーバー名がくる。
AWSの構成をみると・・・
たとえば
ロードバランサー 192.168.0.1
→web1サーバ 192.168.0.2
→web2サーバ 192.168.0.3
VPCというらしい。バーチャルプライベートの社内
例 コーデの場合
SSL ポート443.
SSL証明書を入れるとなると、上記ロードバランサ―、web1,web2全部で3つだとお金がかかる。
でも実際はロードバランサにしかドメインは振られてないので、そこだけSSL証明対応。そとからここみるのはhttpのポート80番。
その下のweb1とかを見るときはポート8080番にしてる。バーチャルホストでも8080番を指定する。理由はweb1とかにはSSLいれてないのと、ロードバランサからweb1にいくときはSSL解除されてしまうので平文でデータを送る必要がある為。
■digコマンド
下記のようにうつと実際にどのIPアドレスで割り当てられてるかわかる。
サブドメインを作るときとかは事前にチェックしないとエライことになるかも。
※コマンドがインストールされてない場合は使えない。
dig test.hogehoge.com
dig @ns-99.awsdns-12.com test.hogehoge.com
dig txt hogehoge.co.jp いろんなのでてくる
dig ns hogehoge.co.jp 実際に使ってるDNSが表示される。
dig any hogehoge.co.jp IPアドレス表示される (今回test.kutsurogiwear.comは2つ)