コンピューターサイエンス:アルゴリズム / OS / ネットワーク / DB
レコードタイプ
レコードタイプ とは
A / AAAA / CNAME / MX / TXT など主要レコードの用途を学びます。本レッスンでは、レコードタイプ の基本から実際の使いどころまでを整理し、現場で迷わず使える形に落とし込みます。
このレッスンで学ぶこと
DNS で扱う主要なレコードタイプ (A / AAAA / CNAME / MX / TXT / NS / SOA など) の役割を整理します。Web サイト運営なら必ず触る基礎知識です。
DNS レコードとは
DNS の権威サーバーは、ドメインに対して複数のレコードを保持しています。レコードはそれぞれ「種類 (タイプ)」と「値」を持ち、用途に応じて使い分けます。
プレーンテキスト
noimancode.com. 300 IN A 104.21.50.100
noimancode.com. 300 IN AAAA 2606:4700:3034::6815:3264
www.noimancode.com. 300 IN CNAME noimancode.com.
noimancode.com. 3600 IN MX 10 mail.noimancode.com.
noimancode.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"
noimancode.com. 86400 IN NS ns1.cloudflare.com.300 は TTL (キャッシュ秒数)、IN は Internet クラス。
主要レコードの役割
| タイプ | 用途 | 値の例 |
|---|---|---|
| A | ドメイン → IPv4 アドレス | 192.0.2.5 |
| AAAA | ドメイン → IPv6 アドレス | 2001:db8::1 |
| CNAME | ドメインの別名 (エイリアス) | example.com |
| MX | メール受信サーバー | 10 mail.example.com |
| TXT | テキスト情報 (SPF, DKIM, 認証など) | "v=spf1 ..." |
| NS | 権威ネームサーバー | ns1.example.com |
| SOA | ゾーンの管理情報 | (固定形式) |
| PTR | IP → ドメインの逆引き | example.com |
| SRV | サービス位置情報 | 0 5 5269 xmpp.example.com |
| CAA | 証明書発行を許可する CA | 0 issue "letsencrypt.org" |
A と AAAA
最も基本的なレコードです。
- A — ドメインを IPv4 アドレスに対応付ける
- AAAA — ドメインを IPv6 アドレスに対応付ける
noimancode.com の A レコードを 1.2.3.4 に変更すると、ブラウザは新しい IP に接続するようになります (TTL ぶんだけキャッシュが古いまま残るので、即時切り替わるわけではありません)。
CNAME
CNAME は「このドメインは別のドメインのエイリアスだよ」と示すレコードです。
プレーンテキスト
blog.example.com CNAME hosting.shopify.com.ブラウザは blog.example.com を引いた時点で「実体は hosting.shopify.com」と知り、続けて hosting.shopify.com を引きます。SaaS で「うちのドメインを向けてください」と言われたら CNAME を設定するパターンが多いです。
CNAME の重要な制約
- ゾーン頂点 (
example.comそのもの) には CNAME を設定できない。MX や NS と衝突するため。 - 頂点を別ドメインに向けたい場合は、CDN が提供する ANAME / ALIAS / CNAME flattening を使う。
MX
メールを受信する場合は MX レコードが必須です。
プレーンテキスト
noimancode.com MX 10 aspmx.l.google.com.
noimancode.com MX 20 alt1.aspmx.l.google.com.数字はプライオリティで、低い値が優先。Google Workspace を使う場合は上のような設定にします。
TXT (SPF / DKIM / DMARC / 認証)
TXT は自由なテキストですが、運用上下記の用途で多用されます。
- SPF — このドメインからメールを送れるサーバーの IP を列挙
- DKIM — メールに付与した署名の公開鍵
- DMARC — SPF / DKIM が失敗したときのポリシー
- ドメイン所有確認 — Google Search Console、Cloudflare などのサービスが「このドメインの所有者であること」を確認するために値を要求
メール認証 (SPF / DKIM / DMARC) を正しく設定しないと、送ったメールがスパム判定される確率が跳ね上がります。
NS と SOA
- NS — このドメインの権威ネームサーバー
- SOA — ゾーンのシリアル番号、リフレッシュ間隔、有効期限など管理情報
通常は DNS ホスティング業者が自動設定しており、運用者がいじる場面は少ないですが、ドメイン委任の仕組みとして知っておきましょう。
CAA レコードでの証明書発行制限
CAA レコードは「このドメインの SSL/TLS 証明書を発行してよい認証局はここだけ」を指定する仕組みです。たとえば example.com CAA 0 issue "letsencrypt.org" と設定すると、他の CA は発行を拒否します。証明書の不正発行を予防する強力な機能なので、本番ドメインには設定推奨です。
まとめ
DNS レコードは A/AAAA で IP を引く、CNAME で別名を貼る、MX でメールを受ける、TXT で各種認証情報を持つ、NS/SOA で管理情報を保持する、というラインナップで Web 運用を支えます。よく触るレコードの意味を頭に入れておくと、新ドメイン立ち上げや SaaS 連携のスピードが上がります。次のレッスンでは、これらのレコードを引く「名前解決の流れ」を追ってみます。
よくある質問
Q. このトピックは実務でどう役立ちますか?
A. DB のクエリ最適化、API 設計、データ構造の選択など、設計判断の根拠になります。表面的にライブラリを使うだけでなく「なぜそれが速いのか」を理解できると、性能問題を未然に防げます。コーディング面接でも頻出のテーマです。
Q. 計算量はどう求めれば良いですか?
A. ループのネストごとに掛け算する、再帰なら漸化式から解く、というのが基本です。Big-O 表記は定数倍と低次の項を無視するため、n の指数(n²、n log n など)に注目してください。最悪・平均・最良の 3 つを意識すると説得力が増します。
Q. 覚えるべき定番アルゴリズムは何ですか?
A. 二分探索、クイックソート/マージソート、BFS/DFS、ダイクストラ、DP の基本問題(フィボナッチ・ナップサック)が必修です。これらを「白紙から書ける」状態にすると、応用問題が一気に解けるようになります。
次のレッスン
次は 名前解決の流れ で、ブラウザがドメイン名から IP アドレスを引き当てるまでの手順を追います。
事前確認 — 進む前に次の 3 つができることを確認しましょう。
- DNS レコード の要点を自分の言葉で説明できる
- このレッスンの最小コード (または操作手順) を見ずに書ける
- 練習問題やクイズで間違えた箇所を読み直して理解した
理解度チェック (30 秒)
Q. DNS レコード とは何か、1 文で説明してください。
A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。
関連レッスン
復習ミニクイズ
ドメインの別名 (エイリアス) を設定するレコードタイプはどれですか