Xserverが今なら最大50%OFF! 2022年11月25日(金)12:00まで

CNAMEレコードはどんな時に使う?別サーバーにリダイレクトできる?

この記事は約7分で読めます。
本文は約4081文字です

ドメイン変更やサーバー移転でよく使われる301リダイレクトは、.htaccessを使うのが一般的だと思います。

DNSレコードの中にCNAMEレコードというものがあり、wwwサブドメインを定義しているのをよく見かけます。

このようなことから、CNAMEレコードはwwwサブドメインをリダイレクトしていると感じる人が多いかもしれません。

この記事では、CNAMEレコードはリダイレクトの代わりに使えるのか?についてまとめてみたいと思います。

この記事の内容

CNAMEレコードとは何か?

正規名(CNAME)レコードは DNS レコードの一種で、エイリアス名を実際の正規ドメイン名にマッピングします。
CNAME レコードは通常、www や mail などのサブドメインを、そのサブドメインのコンテンツをホストするドメインにマッピングするために使用します。
たとえば CNAME レコードを使用して、ウェブアドレス www.example.com をドメイン example.com の実際のウェブサイトにマッピングできます。

https://support.google.com/a/answer/112037?hl=ja

CNAMEの一般的な使い方は、サブドメインに対して利用されます。

また、CNAMEレコードのよくある使い方として、レンタルECなどで独自ドメインを導入するときに、wwwありのアドレスをレンタルECのサーバーにマッピングする際に使われる事例があります。

マッピングというのは、URLを変更せずにマッピング先のサイトの内容を表示することを言います。

CNAMEレコードの指定方法

CNAMEレコードは、マッピング先としてIPアドレスを指定することができません。

必ずホスト名にする必要があります。

また、CNAMEレコードは、サブドメイン無しのホストに対して指定することはできません。

必ず、サブドメインに対してCNAMEを定義する必要があります。

例)ドメイン名:abc.comの場合

www.abc.comをCNAMEで、www.example.comにマッピングする

【設定可能】
ホスト名:www
VALUE:www.example.com
⇒www.abc.comのDNSレコードを名前解決しようとした場合、www.example.comのレコードが参照されます。
※www.example.comのレコードはexample.com側で設定されている必要があります。

CNAMEレコードの名前解決の順番

www.abc.comにアクセス、www.example.comを名前解決してIPアドレスを取得、そのIPアドレスがwww.abc.comの名前解決結果になる。

www.abc.comにアクセスがあった時に、www.example.comのIPアドレスがwww.abc.comのポイント先になります。

つまり、Aレコードの代わりにCNAMEを定義していると考えるとわかりやすいです。

www.example.comのサイト自体を参照するのではなく、www.abc.comを名前解決する時に、www.example.comのIPアドレスを使うというだけです。

※CNAMEレコードはURLの転送とは異なります。Webサイトとしてアクセスした場合、
サーバーへのリクエストはwww.abc.comのホスト名で行われるため、
www.example.comのIPアドレスのサーバー上にwww.abc.comのWebサイトが存在しない場合はエラーとなります。

CNAMEで全てのサブドメインをマッピングすることは可能か?

CNAMEレコードでサブドメインをひとつづつ定義していくのは手間です。
全てのサブドメインを対象にCNAMEレコードを一回で定義する方法はあるのでしょうか?

サーバーソムリエ

あります。
サブドメインを”*”で指定することで、全てのサブドメインを指定することができます。

CNAMEレコードでリダイレクトは可能なのか?

結論から申し上げれば、CNAMEレコードは、.htaccessのリダイレクトの代わりには使えません。

CNAMEレコードは、アクセスされた時にドメインを書き換えないからです。

例えば、www.hogehoge.comが、CNAMEでhogehoge.comにポイントされていても、表示はwwwありのままです。

同じようにして、CNAMEを使って、他のサイトへ接続させることもできますが、ドメインは変更されません。

CNAMEレコードは本質的にはAレコードと同じ役割と考えると、CNAMEで名前解決してもURLが書き変わらないのは当たり前とも言えます。

ですので、レンタルECなどのサーバーにCNAMEで接続すると、URLは独自ドメインのまま、接続先がCNAMEの接続先になります。

CNAMEレコードがリダイレクトされるケースもある

CNAMEレコードを指定してリダイレクトされる場合はないのですか?

サーバーソムリエ

特殊な場合はリダイレクトされます。

BASEやShopifyなどのレンタルECやWiXやJimdoなどのCMSで独自ドメインを適用する場合、CNAMEレコードを指定することで独自ドメインを割り当てます。

外部サービスに独自ドメインを割り当てるので、CNAMEレコードのポイント先は別のドメインのサーバーになります。

通常、相手側が特別な処置をしていない場合、通常のCNAMEレコードのようにドメインをマッピングして表示することはできません。

その場合は、CNAMEレコードで外部サイトを指定すると、そのサイトにリダイレクトされます。

BASEやShopifyなどのレンタルECやWiXやJimdoなどのCMSで独自ドメインを適用する場合、有効になるまで時間がかかります。その間に、独自ドメインにアクセスすると、独自ドメインが有効になっていないサイトにリダイレクトされます。

CNAMEで自分が所有していない関係ないサイトをドメインマッピングできてしまうと、おかしなことが起こることは予想できますよね。

例えば、amazonのサイトを自分のドメインで公開することができてしまいます。でも実際には、それはできません。CNAMEレコードにそのように定義したとしても、リダイレクトされるだけで、URLは書き換わってしまいます。

レンタルECやWiXやJimdoなどのCMSでCNAMEを使うのは、Aレコードが変わっても影響を受けないようにするためです。つまり、CNAMEを使わずに、サブドメインにレンタルEC等のAレコードを直接指定しても同じことです。

独自ドメインのサブドメインのCNAMEもしくはAレコードで、レンタルECやWiXやJimdoなどのCMSを指定して、独自ドメインのサイトとして表示できるのは、DNSレコードの指定だけでなく、ポイント先がそのドメインでサイトを表示できるように設定している場合だけです。

CNAMEでサブドメインを別サーバーに接続できる?

あるサブドメインだけ別サーバーでホストしたい時に、CNAMEレコードを使えるのでは?と思うかもしれません。

結論から言えば出来なくはないですが、サブドメインに別サーバーのAレコードを指定する方が一般的です。

CNAMEはIPアドレスを指定できませんので、サブドメインだけ別サーバーのドメイン名を指定することで、Aレコードを指定しているのと同じことができます。

しかし、その場合、別サーバー側にも、サブドメインでサイトがあるのが前提です。

www.abc.comだけabc.comとは別サーバー(IP:111.111.111.111/domain:xyz.com)で運用したい。

別サーバーに、www.abc.comのドメインを追加してサイトを設置しておく。

www.abc.comの名前解決のポイント先が、IPアドレス111.111.111.111であればよい。

www.abc.comのAレコードをIPアドレス111.111.111.111として指定するか、CNAMEを使う場合は、IPアドレス111.111.111.111に名前解決されるドメイン名:xyz.comを指定してあげればよい。

まとめ

CNAMEレコードは、Aレコードの代わりにホスト名を指定しているだけです。だからURLを書き換えは発生しません。そう覚えておくと、リダイレクトに使えないことがわかると思います。

同一サーバー内で、旧ドメインと新ドメインのサイトがある場合、CNAMEで新ドメインを旧ドメインからポイントしたとします。その場合、旧ドメインにアクセスすると、新ドメインのIPアドレスと旧ドメインのIPアドレスが同じであるっため、表示は旧ドメインの内容が表示されます。

別サーバーで、旧ドメインと新ドメインのサイトが別々にある場合、CNAMEで新ドメインを旧ドメインからポイントしたとします。その場合、旧ドメインにアクセスすると、新ドメインのIPアドレスと旧ドメインのIPアドレスが異なりますので、旧ドメインを名前解決した結果であるIPアドレスは新ドメインのサーバーと同じになります。新ドメインに旧ドメインのサイトがあれば、旧ドメインのサイトが表示されますが、新ドメインのサーバーに旧ドメインのサイトが存在しない場合は、サイトが無いので表示されません。

ドメインを正規化しなくていい用途であれば、CNAMEは便利に使うことができます。

この情報は役に立ちましたか? はい いいえ
参考なったらシェアお願いします!

この記事を書いた人

サーバーソムリエのアバター サーバーソムリエ レンタルサーバー鑑定士

国内のあらゆるレンタルサーバーを使用、管理した経験があります。サーバー選びからWordpressを使ったサイト運営まで丸っとお任せください。あなた様のご希望にそった本当に使える最適なサーバーをご紹介します。

コメントを閉じる

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

この記事の内容