DNS(ドメインネームシステム)は、インターネット上での名前解決を行うための仕組みで、ユーザーがWebサイトを訪れる際に重要な役割を果たします。DNSでは、ドメイン名をIPアドレスに変換するための情報を記録する「DNSレコード」が使用されます。これらのレコードは、Webサーバー、メールサーバー、認証システムなど、さまざまなサービスを管理するために不可欠です。
この記事では、DNSレコードの種類とそれぞれの役割について、詳細に説明します。

1. Aレコード(Address Record)
Aレコードは、最も基本的でよく使われるDNSレコードです。主にドメイン名をIPv4アドレスに変換します。例えば、ユーザーが「example.com」というドメインにアクセスした際、このAレコードによってそのドメインが指し示すIPアドレスが返されます。これにより、ウェブブラウザが実際のWebサーバーに接続することができます。
例:
cssexample.com. IN A 93.184.216.34
この例では、example.com
というドメインが93.184.216.34
というIPアドレスに対応しています。
2. AAAAレコード(IPv6 Address Record)
AAAAレコードは、Aレコードと同様の役割を持ちますが、IPv4ではなくIPv6アドレスを使用します。IPv6は、IPv4のアドレス枯渇問題を解決するために導入され、より多くのIPアドレス空間を提供します。AAAAレコードは、ドメイン名をIPv6アドレスに変換します。
例:
yamlexample.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946
この例では、example.com
が2606:2800:220:1:248:1893:25c8:1946
というIPv6アドレスに対応しています。
3. CNAMEレコード(Canonical Name Record)
CNAMEレコードは、あるドメイン名を別のドメイン名にエイリアスとして設定するためのレコードです。これにより、複数のドメイン名が同じIPアドレスやWebサーバーを指すことができます。例えば、www.example.com
がexample.com
にリダイレクトされるように設定することができます。
例:
objectivecwww.example.com. IN CNAME example.com.
この例では、www.example.com
がexample.com
にリダイレクトされます。
4. MXレコード(Mail Exchange Record)
MXレコードは、メールの配送先となるメールサーバーを指定します。これにより、ドメイン名に送られたメールがどのメールサーバーに届けられるかが決まります。MXレコードには、優先順位も設定されており、複数のメールサーバーが設定される場合、優先度の低いサーバーが利用されるのは、優先度の高いサーバーが使用できない場合です。
例:
example.com. IN MX 10 mail.example.com.
この例では、example.com
のメールはmail.example.com
サーバーに送られ、優先度は10となります。
5. TXTレコード(Text Record)
TXTレコードは、テキスト情報をDNSレコードとして格納するためのものです。主にSPF(Sender Policy Framework)やDKIM(DomainKeys Identified Mail)、DMARC(Domain-based Message Authentication, Reporting & Conformance)など、メールの認証に関連する情報を格納するために使用されます。これにより、送信者のドメインが偽装されていないか確認することができます。
例:
arduinoexample.com. IN TXT "v=spf1 include:_spf.google.com ~all"
この例では、example.com
のドメインがGoogleのSPFレコードに従っていることを示しています。
6. NSレコード(Name Server Record)
NSレコードは、特定のドメイン名のDNS情報を管理するDNSサーバーを指定します。このレコードによって、ドメイン名を解決するために使用されるネームサーバーが決まります。通常、ドメイン名の管理者が使用するDNSサーバーを設定します。
例:
example.com. IN NS ns1.exampledns.com. example.com. IN NS ns2.exampledns.com.
この例では、example.com
のDNS解決を担当するネームサーバーとしてns1.exampledns.com
とns2.exampledns.com
が指定されています。
7. SOAレコード(Start of Authority Record)
SOAレコードは、ドメインのゾーンファイルの開始を示し、ドメインに関する基本的な管理情報を提供します。このレコードには、ゾーンの管理者情報や、ゾーンの更新に関する詳細(更新頻度、リトライ回数など)が含まれます。
例:
pgsqlexample.com. IN SOA ns1.exampledns.com. admin.example.com. (
2021030401 ; serial
7200 ; refresh
3600 ; retry
1209600 ; expire
86400 ) ; minimum TTL
この例では、example.com
のゾーンに関する基本情報が記録されています。
8. PTRレコード(Pointer Record)
PTRレコードは、IPアドレスからドメイン名への逆引きを行うためのレコードです。通常、メールサーバーがIPアドレスの正当性を確認するために使用されます。例えば、メールを送信する際に、送信者のIPアドレスが正しいドメイン名に関連付けられているかを確認するために使われます。
例:
34.216.93.184.in-addr.arpa. IN PTR example.com.
この例では、IPアドレス34.216.93.184
がexample.com
というドメイン名に関連付けられています。
9. SRVレコード(Service Record)
SRVレコードは、特定のサービスを提供するサーバーを指定するためのレコードです。たとえば、特定のポートで稼働しているサービスを指定することができます。SRVレコードは、VoIPやインスタントメッセージングサービスなど、特定のアプリケーションに使用されることが多いです。
例:
_ldap._tcp.example.com. IN SRV 10 60 389 ldap1.example.com.
この例では、_ldap._tcp.example.com
というサービスが、ldap1.example.com
でポート389で提供されていることを示しています。
まとめ
DNSレコードは、インターネット上でドメイン名とさまざまなサービスを管理するために重要な役割を果たします。各レコードは異なる目的で使用され、ドメイン名を正しく解決し、通信を円滑にするための基盤を提供します。これらのレコードを適切に設定することによって、Webサイトやメールサービスなどが正常に動作することが保証されます。