MENU
「安心のセキュリティをお得な価格」でご提供!
Fortinet商品など
ENGAGE fotinet

DNSレコードを追加する方法について

DNSレコードの追加は、Webサイトの公開、メールの利用、サブドメインの作成、外部サービスとの連携などで必要になる基本的な作業です。

ただし、仕組みをあいまいなまま操作すると、サイトが表示されなくなったり、メールが届かなくなったりすることがあります。

そこでまずは、DNSレコードとは何か、どこで設定するのか、どの種類をどう使い分けるのかを整理したうえで、追加の手順を順番に見ていきます。

DNSレコードとは何か

DNSは、ドメイン名に関する情報を管理する仕組みです。

たとえば、次のような設定はDNSによって行われます。

  • example.com をWebサーバーのIPアドレスに向ける
  • www.example.com を別のホスト名の別名にする
  • メールを受信するサーバーを指定する
  • ドメインの所有確認を行う
  • SPF、DKIM、DMARC などのメール認証情報を公開する

このような設定情報の1つ1つが、DNSレコードです。

つまりDNSレコードは、「このドメインをどう使うか」を定義する設定項目と考えると分かりやすいです。

まず最初に確認すること

DNSレコードを追加する前に、必ず確認しておきたいのが、どこでDNSを管理しているかです。

ここでよくある誤解が、「ドメインを取得した会社の管理画面で設定すればよい」と思ってしまうことです。

実際には、ドメインの取得先とDNSの管理先が別になっていることがよくあります。

たとえば、ドメインはレジストラで取得していても、ネームサーバーを Cloudflare や Route 53 へ向けている場合、DNSレコードを追加する場所はその委任先です。

つまり、レコードを編集すべきなのは、そのドメインの権威DNSを管理しているサービス側です。

DNSレコード追加の基本手順

DNSレコードの追加は、多くの場合、次の流れで進めます。

  1. DNSを管理しているサービスを確認する
  2. その管理画面にログインする
  3. 対象ドメインのDNS設定画面を開く
  4. 追加するレコードの種類を選ぶ
  5. 名前、値、TTLなどを入力する
  6. 保存する
  7. 反映を確認する

管理画面の名称はサービスによって異なりますが、次のようなメニュー名になっていることが多いです。

  • DNS設定
  • DNS管理
  • DNSレコード設定
  • Zone Editor
  • DNS Zone

主なDNSレコードの種類

Aレコード

Aレコードは、ホスト名をIPv4アドレスに対応付けるレコードです。

もっとも基本的なレコードで、Webサイトをサーバーに向けるときによく使います。

たとえば、example.com203.0.113.10 に向けるなら、Aレコードを追加します。

  • Type: A
  • Name: @
  • Value: 203.0.113.10

ここで @ は、多くの管理画面でルートドメイン、つまり example.com 自体を表す記号として使われます。

ただし、これはDNSそのものの記法ではなく、管理画面側の入力上の表現です。

AAAAレコード

AAAAレコードは、AレコードのIPv6版です。

ホスト名をIPv6アドレスへ向ける場合に使います。

  • Type: AAAA
  • Name: @
  • Value: 2001:db8::1

IPv6を利用していない環境では使わないこともありますが、対応サーバーでは設定対象になることがあります。

CNAMEレコード

CNAMEレコードは、あるホスト名を別のホスト名の別名として扱うレコードです。

たとえば、www.example.comexample.com の別名にする場合は、次のように設定します。

  • Type: CNAME
  • Name: www
  • Value: example.com

この設定により、www.example.com は DNS上で example.com の別名として解決されます。

ここで重要なのは、CNAMEはURL転送やリダイレクトではないという点です。

あくまでDNSレベルでの別名指定であり、ブラウザのURLを書き換える機能ではありません。

URLを別ページへ飛ばす 301 リダイレクトなどは、Webサーバーやアプリケーション側の役割です。

さらに、CNAMEには大切な制約があります。

CNAMEを置いた名前には、原則として他の通常レコードを置けません。

たとえば、www にCNAMEを設定しているのに、同じ www にAレコードやTXTレコードを追加するのは避けるべきです。

実務では、「CNAMEを置いた名前には他のレコードを重ねない」と覚えておくと安全です。

また、ルートドメインには通常のCNAMEを置けません。

つまり example.com 自体を通常のCNAMEにすることはできません。

ルートドメインで同様のことを実現したい場合は、DNS事業者が提供する ALIAS や ANAME、独自の alias 機能を使うことがあります。

MXレコード

MXレコードは、メールを受信するメールサーバーを指定するレコードです。

メールサービスを使う場合は、Webサイト用のAレコードとは別に、MXレコードの設定が必要になります。

  • Type: MX
  • Name: @
  • Priority: 10
  • Value: mail.example.com

MXレコードには優先度があり、数字が小さいものほど優先されます。

ここで注意したいのは、MXの宛先にCNAMEを使わないことです。

MXレコードが指す先は、最終的にAレコードまたはAAAAレコードを持つ実体のあるホスト名にするのが基本です。

たとえば、次のような形は分かりやすく安全です。

  • MX → mail.example.com
  • A → mail.example.com = 203.0.113.20

TXTレコード

TXTレコードは、文字列データを登録するためのレコードです。

以前は単純なメモ的用途として説明されることもありましたが、現在の実務では主に次のような用途で使われます。

  • ドメイン所有確認
  • SPF
  • DKIM
  • DMARC
  • 各種外部サービスの認証

たとえば、Google Search Console の所有確認では、指定されたTXTレコードを追加します。

  • Type: TXT
  • Name: @
  • Value: google-site-verification=xxxxx

SPFの例

  • Type: TXT
  • Name: @
  • Value: v=spf1 include:_spf.google.com ~all

DMARCの例

  • Type: TXT
  • Name: _dmarc
  • Value: v=DMARC1; p=none; rua=mailto:dmarc@example.com

なお、管理画面によっては、_dmarc だけ入力すれば自動的に example.com が補われる場合があります。

そのため、Name欄に何を入れるべきかは、管理画面の仕様を必ず確認してください。

NSレコード

NSレコードは、そのドメインやサブドメインをどのネームサーバーが管理するかを示すレコードです。

これは非常に重要な設定で、変更するとサイトやメール全体に影響することがあります。

そのため、意味が分からないまま変更するのは危険です。

特に、ドメイン全体のネームサーバー変更は影響範囲が大きいため、慎重に扱う必要があります。

CAAレコード

CAAレコードは、どの認証局がそのドメインに対してSSL証明書を発行してよいかを指定するレコードです。

セキュリティ強化のために使われることがあります。

通常のWeb公開では意識する機会が少ないかもしれませんが、証明書発行の制御やポリシー管理では重要です。

SRVレコード

SRVレコードは、特定サービスの接続先ホスト名やポート番号を示すためのレコードです。

VoIP、チャット、認証系、一部のMicrosoft系サービスなどで使われることがあります。

一般的なWebサイト運用ではあまり触れませんが、業務システムや特殊なサービス連携では登場します。

Name / Host欄の見方

DNS設定で混乱しやすいのが、Name や Host 欄の入力です。

たとえばドメインが example.com の場合、多くの管理画面では次のように扱います。

  • @example.com
  • wwwwww.example.com
  • mailmail.example.com
  • _dmarc_dmarc.example.com

ただし、管理画面によっては、完全なホスト名をそのまま入力する形式もあります。

つまり、www とだけ入れる画面もあれば、www.example.com まで必要な画面もあるということです。

この部分はDNSそのもののルールというより、管理画面ごとの仕様の違いです。

入力後に意図した名前になっているか確認することが大切です。

TTLとは何か

TTLは、DNSの応答をどれくらいキャッシュしてよいかを示す時間です。

よく使われる値としては、300秒、600秒、3600秒、86400秒などがあります。

ただし、ここでよく誤解されるのが、TTLはそのまま反映時間ではないという点です。

TTLが300秒なら、理屈の上では5分ほどで新しい情報を見に行くリゾルバが増えますが、実際の見え方は環境によって前後します。

OSやブラウザ、ネットワーク機器、DNSリゾルバ側のキャッシュ状況によって、古い情報がしばらく残ることもあります。

そのため、TTLは「反映時間」ではなく「キャッシュ保持時間の目安」と理解するのが正確です。

よくある設定例

Webサイトをサーバーへ向ける

example.comwww.example.com の両方でサイトを表示したい場合、よくある設定は次の通りです。

  • A
  • Name: @
  • Value: 203.0.113.10
  • CNAME
  • Name: www
  • Value: example.com

この構成では、example.com はサーバーIPへ直接向き、www.example.com はその別名として動作します。

サブドメインを作る

たとえば blog.example.com を作る場合は、次のどちらかを使います。

Aレコードで直接向ける場合

  • Type: A
  • Name: blog
  • Value: 203.0.113.15

CNAMEで別のホスト名へ向ける場合

  • Type: CNAME
  • Name: blog
  • Value: hosting.example.net

CNAMEを使う場合は、同じ blog に他のレコードを重ねないようにします。

所有確認を行う

Google Search Console や各種SaaSでは、TXTレコードによる所有確認がよく使われます。

  • Type: TXT
  • Name: @
  • Value: google-site-verification=xxxxxxxx

こうした値は、自分で推測して設定するのではなく、サービス側が指定した内容をそのまま使うのが基本です。

メールを設定する

Google Workspace や Microsoft 365 などを使う場合は、通常、次のようなレコードが必要になります。

  • MX
  • SPF用TXT
  • DKIM用TXT
  • DMARC用TXT

このときは、各サービスが案内する値を正確に設定することが重要です。

特にSPFは、既存のTXTレコードとの重複に注意が必要です。

SPF用TXTを複数に分けてしまうと、正しく動作しないことがあります。

DNSレコード追加時によくあるミス

設定場所を間違える

もっとも多いミスです。

実際に権威DNSを管理しているサービスではなく、別の管理画面でレコードを追加しても反映されません。

Name欄の入力形式を間違える

www だけでよいのに www.example.com まで入れてしまったり、その逆をしてしまったりするケースです。

最終的なレコード名がどう作られるかを確認する必要があります。

CNAMEと他レコードを同じ名前で混在させる

同じ名前にCNAMEとA、TXTなどを一緒に置こうとしてしまうミスです。

これは避けるべきです。

ルートドメインにCNAMEを置こうとする

example.com 自体には通常のCNAMEは置けません。

ここは初心者がつまずきやすいポイントです。

MXの宛先にCNAMEを使う

MXレコードが向く先は、AまたはAAAAを持つ実ホスト名にするのが基本です。

反映確認を急ぎすぎる

保存後すぐに全環境で反映されるとは限りません。

TTLや各種キャッシュを考慮しながら確認する必要があります。

追加後の確認方法

DNSレコードを追加したら、必ず確認します。

ブラウザで確認する

  • Webサイトが表示されるか
  • サブドメインへアクセスできるか
  • 所有確認や認証が通るか

コマンドで確認する

nslookup

nslookup example.com
nslookup -type=TXT example.com

dig

dig example.com A
dig www.example.com CNAME
dig example.com MX
dig _dmarc.example.com TXT

確認時は、次のような点を見るとよいです。

  • 意図したレコード種別が返っているか
  • 名前が二重になっていないか
  • 古い値が残っていないか
  • MXやTXTの内容が指示通りか

安全に進めるためのコツ

DNS変更は影響が大きいため、次の流れで進めると安全です。

  1. 現在のDNSレコードを控えておく
  2. どこでDNSを管理しているか確認する
  3. 追加や変更の目的を明確にする
  4. サービス提供元の指定値を確認する
  5. 既存レコードと競合しないか確認する
  6. レコードを追加または変更する
  7. 動作確認をする
  8. 問題があれば元に戻せるようにしておく

特に慎重に扱うべきなのは、次のような設定です。

  • MXレコード
  • NSレコード
  • ルートドメインの設定
  • 既に本番運用中のサイトやメールに関わる変更

まとめ

DNSレコード追加で押さえるべきポイントは、次の4つです。

  • どこで設定するか
  • 何のレコードを追加するか
  • どの名前に対する設定か
  • どんな値を入れるか

そして、特に重要なのは次の点です。

  • CNAMEはHTTPリダイレクトではなく、DNS上の別名
  • CNAMEを置いた名前には原則として他のレコードを置かない
  • ルートドメインには通常のCNAMEを置けない
  • MXの宛先にはCNAMEではなく実ホスト名を使う
  • TTLは反映時間そのものではなく、キャッシュ保持時間の目安

DNSは一見難しそうに見えますが、「どこで」「何を」「どの名前に」「どんな値で」設定するかを整理すれば、かなり理解しやすくなります。

以上、DNSレコードを追加する方法についてでした。

最後までお読みいただき、ありがとうございました。

カテゴリ一覧

ページトップへ