AWSのRoute53を触った時に、DNSについて改めてしっかり学びなおしたのでそのメモ。
参考にした記事は以下
https://wa3.i-3-i.info/word1288.html
DNSの構成要素
まずDNSサーバーは複数ある。
- フルサービスリゾルバ(DNSキャッシュサーバ)
- 権威サーバ
フルサービスリゾルバは、PCが問い合わせするサーバ。
なんとしてでもIPアドレスに関する情報を解決してくれるサーバである。
問い合わせた情報の結果はキャッシュで持ち、無駄な問い合わせを少なくするようにしてる。
権威サーバは、フルサービスリゾルバがアクセスする先のサーバ。
問い合わせに対する動作は以下の3つ
- 自分の管理している情報にドメイン名とIPアドレスの対応が書いてあればそれを教えてあげる
- 自分では管理していないけど委託していれば、委託先を教えてあげます
- 全然分からない問い合わせであれば「知らない」と答えます。
権威サーバの持つゾーンファイルについて
権威サーバは、DNSレコードを記載したゾーンファイル(AWSではルートテーブル)で情報の管理をしている。
DNSレコードの種類 | 説明 |
---|---|
SOAレコード | ゾーン(管理する範囲)に関する情報あれこれが書かれた行 |
NSレコード | 管理を委託しているDNSサーバさんの名前が書かれた行 |
MXレコード | そのドメイン宛のメールの配送先メールサーバが書かれた行 |
Aレコード | ドメイン名に対応するIPアドレス(IPv4形式)が書かれた行 |
AAAAレコード | ドメイン名に対応するIPアドレス(IPv6形式)が書かれた行 |
CNAMEレコード | ドメイン名に付けた別名(あだ名)が書かれた行 |
CNAMEレコード | ドメイン名に付けた別名(あだ名)が書かれた行 |
TXTレコード | コメント等の、なんか適当な文章が書かれた行 |
AWSについて
Route53は、ゾーンファイルを管理するサービス。
ドメインごとにDNSレコードを管理できるようになっている。
最もシンプルなレコードでは以下を設定できる。
- DNSレコードの種類
- レコード名:home.example.comなど、どのURLに設定するか。
- 参照先IPアドレス・値など
AWS上のAタグでは、以下のようにAWSリソースを指定することも可能。
設定できるのは
- S3
- API gateway
- ALB/NLB
- CloudFront
などなど。