用語解説

CNAMEとは?HTML共有・AI生成サイトでの意味をやさしく解説

AI生成サイトを自社ドメインのURLで共有したいとき、DNS設定でCNAMEレコードを追加するよう求められることがあります。CNAMEとは何か・何のために必要か・設定時に気をつけることを知っておくと、ドメイン設定でつまずかずに済みます。HTML共有に関係する範囲で平易に解説します。

ひとことで言うと

CNAMEレコード(Canonical Name Record)とは、あるドメイン名を別のドメイン名へのエイリアス(別名)として登録するDNSの設定です。たとえばpreview.your-company.comのCNAMEとして gigasite-share.example.net を指定すると、preview.your-company.comへのアクセスが自動的にgigasite-share.example.netのIPアドレスへ解決されます。

Aレコードが「ドメイン名→IPアドレス」を直接マッピングするのに対し、CNAMEは「ドメイン名→別のドメイン名」を指定します。配信サービスがサーバーのIPアドレスを変更してもCNAMEの向き先ドメインさえ変えなければ利用者側の設定変更は不要になる、という運用上のメリットがあります。

  • 相手がログインなしで開ける状態か確認する
  • PCとスマホで最低1回ずつ表示を確認する
  • 内部情報・個人情報・不要な外部送信が残っていないか見る
  • レビュー期限と修正時の差し替え方を決めておく

HTML共有で関係する場面

ギガサイト便のようなHTML共有サービスで自社ドメインのURLを使う場合、サービス側から「preview.your-company.com のCNAMEを xxxx.gigasite.com に向けてください」という指示が届きます。これをDNS管理画面で設定することで、自社ドメインのサブドメインでHTMLプレビューを配信できるようになります。

CNAMEの反映には通常数分〜数時間かかります(TTL設定に依存)。設定直後に動作確認をしても繋がらない場合は、TTLの時間が経過してから再確認してください。LinuxやMacのターミナルで dig preview.your-company.com CNAME を実行すると、CNAMEが正しく反映されているか確認できます。

よくある誤解

「CNAMEをルートドメイン(apex domain)に設定できる」という誤解があります。DNS規格上、example.comのようなapexドメインにCNAMEは設定できません。MXレコード等との共存ができないためです。自社ドメインのapexへ設定したい場合はAレコードかALIASレコード(CloudflareのCNAMEフラット化等)を利用してください。

「CNAMEを設定するだけでSSL証明書も有効になる」という思い込みがあります。CNAMEはURLの到達先を変えるだけで、SSL証明書は別途発行が必要です。多くの共有サービスはCNAME設定を確認した後に証明書を自動発行しますが、発行完了まで数分かかるため、CNAMEを設定した直後にHTTPSアクセスしてエラーになっても焦らず待つことが必要です。

安全に使うための注意点

CNAMEの向き先として指定するドメインが信頼できるサービスのものかを必ず確認してください。フィッシング詐欺の手口として、公式サービスに似た紛らわしいドメインを指定させる偽の設定手順を送付するケースがあります。共有サービスの公式ドキュメント・ダッシュボード上に表示されたCNAME値のみを使用してください。

CNAMEを設定した後にサービスを解約した場合、DNSレコードを放置するとサブドメインテイクオーバー攻撃の対象になります(サブドメインの項参照)。解約手順には必ずDNS管理画面でのCNAMEレコード削除を含め、解約後24時間以内に削除が完了していることをdigコマンドで確認するとより安心です。

複数の共有サービスを使い分けている場合、どのサブドメインがどのサービスのCNAMEを指しているかを台帳で管理することを推奨します。サービスの月次コストやセキュリティ更新状況と合わせて3か月ごとに棚卸しし、使っていないCNAMEレコードを削除する習慣を持つと、管理コストを最小化できます。

よくある質問

CNAMEの設定が反映されたか確認する方法はありますか?

ターミナルでdigコマンド(dig preview.your-company.com CNAME)を実行するか、nslookup preview.your-company.com で確認できます。オンラインツールではDNS Checkerなどを使うとGUI上で確認可能です。

CNAMEとAレコードはどちらを使うべきですか?

サブドメインで外部サービスを指す場合はCNAMEが適しています。Apexドメイン(example.comのようなwww無し)に設定する場合はAレコードまたはCloudflareのCNAMEフラット化機能を使います。

CNAMEを変更したら既存のSSL証明書はどうなりますか?

CNAME変更で向き先が変わると、新しい向き先のサービスが証明書を再発行する場合があります。変更後に証明書エラーが出た場合は、新しいサービス側の証明書発行が完了するまで数分〜数十分待つか、サービスサポートへ問い合わせてください。

関連記事

「用語解説」の記事をもっと見る →