DNSレコードについて、自分が使ってるのだけでもわかるようにしておく件
普段AWSのRoute53にDNSレコードを追加して、ルーティングとかしているのですが、先人の設定をパクっているだけで、イマイチよくわかってはいないので、自分らが使っているものだけでもわかるようにしておこうと思いました!
DNSレコードってなあに?
そもそもDNSレコードとは、DNSの権威サーバがドメイン名を元にIPを返す際に参照するファイル(ゾーンファイルというらしい)の中身のことです。ゾーンファイルはこんなのらしい↓↓
$ORIGIN example.com.
@ 3600 SOA ns1.p30.oraclecloud.net. (
zone-admin.dyndns.com. ; address of responsible party
2016072701 ; serial number
3600 ; refresh period
600 ; retry period
604800 ; expire time
1800 ) ; minimum ttl
86400 NS ns1.p68.dns.oraclecloud.net.
86400 NS ns2.p68.dns.oraclecloud.net.
86400 NS ns3.p68.dns.oraclecloud.net.
86400 NS ns4.p68.dns.oraclecloud.net.
3600 MX 10 mail.example.com.
3600 MX 20 vpn.example.com.
3600 MX 30 mail.example.com.
60 A 204.13.248.106
3600 TXT "v=spf1 includespf.oraclecloud.net ~all"
mail 14400 A 204.13.248.106
vpn 60 A 216.146.45.240
webapp 60 A 216.146.46.10
webapp 60 A 216.146.46.11
www 43200 CNAME example.com.
DNSの仕組みあたりは、みんなの味方のピヨピヨさんに教えてもらいました。なんとなくわかった気になれますね。
レコードタイプ
レコードタイプを指定して、DNSレコードを作成できます。タイプによって、役割がかわります。
SAO
@ IN SOA {primary-name-server} {hostmaster-email} (
{serial-number}
{time-to-refresh}
{time-to-retry}
{time-to-expire}
{minimum-TTL-for-negative-cache} )
Start Of Authorityの略、権威を持つゾーンの開始を示す。権威サーバーが管理するゾーンに関しての情報(名前、連絡先、シリアル番号、ネガティブキャッシュ時間等) を記録します。
メタ情報的な感じですかね。
A
paopao.com. 60 IN A xxx.255.228.125
AddressのA。一番想像しやすい、ドメインとIPアドレス(IPv4)の組み合わせを示すレコード。上の例でいうと、paopao.com
というドメイン名はxxx.255.228.125
のIPアドレスに解決されます。
ルーティングを設定したい時に使う感じ。AWSのRoute53だと、IPアドレスではなく、CloudFrontのディストリビューションを設定できて、指定したドメインでアクセスした際に、CloudFront経由でアクセスするリソースを参照するように設定できる。
似たものでAAAAレコード
というのがあるが、そちらは、ドメインとIPアドレス(IPv6)の組み合わせを示すものです。
CNAME
paozou.example.com. IN CNAME azuki.example.com.
Canonical NAMEの略で、正規名という意味。ドメイン名とは別の名前を登録することができます。例で言うと、paozou.example.com
の正式名はazuki.example.com
ということを示しています。
Aレコードと同じく、ドメインの参照先を示すものですが、Aレコードはドメイン名とIPを紐づけ、CNAMEレコードはドメインと別ドメインを紐づけるという違いがある。別ドメインだけど、同じIPを参照させたい時に使う。
すごくどうでもいいけど、ずっとCANMEだと思ってました。CNAME(しーねーむ)ですね。
NS
paopao.com. IN NS ns.paopao.com.
Name Serverの略で、どのDNSがドメインの権威サーバーかどうかを示す。権威サーバーは実際にDNSレコードがあるDNSサーバーのこと。例で言うと、paopao.com
というドメイン名とIPアドレスの組み合わせは、ns.paopao.com
という権威サーバーの下に登録されているよ〜ということ。これが登録されていないと、どこに行けばドメイン名解決できるのかがわからなくて、迷子になります。
TXT
example.com. IN TXT "いいかんでぃ"
Textの意。テキスト書けるよってこと。そのまま。
証明書発行時に、ドメインを所有しているかの確認(チャレンジ)の時に指定されたTXTレコードを作っておいて、ドメイン所有している証明をするのに利用したことがあります。他にもメール送信元チェック用のSPFレコードというものにも使われたりするみたいです。
感想
とりあえず使っているものについては、理解したつもりです。総じて、ルーティングに影響するような結構重要な意味があるから、編集する時には気をつけようと思いました!
Discussion