コンピューターサイエンス:アルゴリズム / OS / ネットワーク / DB

レコードタイプ

生田 陸人
LuaGate エンジニア / 現役エンジニア
編集 LuaGate編集部

レコードタイプ とは

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ゾーンの管理情報(固定形式)
PTRIP → ドメインの逆引きexample.com
SRVサービス位置情報0 5 5269 xmpp.example.com
CAA証明書発行を許可する CA0 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 つができることを確認しましょう。

  1. DNS レコード の要点を自分の言葉で説明できる
  2. このレッスンの最小コード (または操作手順) を見ずに書ける
  3. 練習問題やクイズで間違えた箇所を読み直して理解した

理解度チェック (30 秒)

Q. DNS レコード とは何か、1 文で説明してください。

この章のポイント

A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。

関連レッスン

復習ミニクイズ

ドメインの別名 (エイリアス) を設定するレコードタイプはどれですか