さくらのDNSでALIASを設定する方法|CNAMEとの違いを解説

さくらのクラウド # DNSアプライアンス

こんにちは、UOZUです。

今回は、さくらのDNSで利用できる「ALIAS」機能について試してみます!

一般的なレコード設定

DNSでWebサイトを公開する際、別のホスト名を参照させたい場合には、一般的にCNAMEレコードを利用します。

例えば、以下のような構成です。

www.example.com (設定したいドメイン)
↓ CNAME
example.user.webaccel.jp (さくらのWEBアクセレーターのドメイン)
↓ CNAME
site-xxxxxxx.gslb1.sakura.ne.jp (さくらのWEBアクセレーターのドメイン)
↓ A
203.0.113.1 (さくらのWEBアクセレーターのIPアドレス)

ホスト名:
example.com

名前:
www

種別:
CNAME

値:
example.user.webaccel.jp.
さくらのDNSのCNAME(www.example.com)設定例

実際に dig コマンドで確認すると、www.example.com に対する問い合わせでCNAMEが返され、その先をさらに辿ることで最終的なIPアドレスを取得できます。

CNAMEレコードの注意点

CNAMEは便利なレコードですが、ゾーンの頂点(apex)には設定できないという制約があります。

例えば、「www.example.com」であればCNAMEを設定できますが、「example.com」そのものをCNAMEにすることはできません。

実際にさくらのDNSで設定した際でも、利用が出来ないエラーが表示されます。

ホスト名:
example.com

名前:
@

種別:
CNAME

値:
example.user.webaccel.jp.
さくらのDNSのCNAME(example.com)設定例
CNAME(example.com)設定時のエラー表示

これは、ゾーンの頂点にはSOAやNSなどのレコードが存在するためです。

そのため、ドメインそのものを別のホスト名へ向けたい場合には、AレコードやAAAAレコードを利用する必要があります。

しかし、接続先のIPアドレスが固定されていないサービスでは、Aレコードを直接設定する方法も難しくなります。

そこで利用できるのが「ALIAS」です。

ALIASとは

ALIASは、CNAMEと似たように別のホスト名を参照しながら、DNSの応答としてはAレコードなどのIPアドレスを返す仕組みです。

イメージとしては、

example.com

ALIAS example.user.webaccel.jp

203.0.113.1

という形になります。

CNAMEとは異なり、ゾーンの頂点となるドメインに対しても利用できるため、「example.com」のようなドメインを別のサービスへ向けたい場合に便利です。

さくらのDNSでALIASを設定する

それでは、実際にさくらのDNSでALIASを設定してみます。

さくらのクラウドのコントロールパネルからDNSゾーンを選択し、対象となるゾーンのレコードを編集します。

レコードの追加画面で、ALIASを設定する対象のホスト名と参照先を指定します。

今回の例では、ドメインのゾーン頂点に対してALIASを設定します。

ホスト名:
example.com

名前:
@

種別:
ALIAS

値:
example.user.webaccel.jp.
さくらのDNSのALIAS(example.com)設定例

設定を保存します。

DNSの設定を変更した直後は、キャッシュの影響などですぐに結果が切り替わらない場合があります。

そのため、設定後は dig コマンドを利用して、実際の名前解決結果を確認してみます。

実際の検証でも、example.com に対してAレコードとして 203.0.113.1 が返っていることを確認できました。

CNAMEを設定した場合とは異なり、問い合わせ元から見ると最終的なIPアドレスがAレコードとして返されています。

さいごに

今回は、さくらのDNSでALIASを利用してみました。

CNAMEは非常に便利なレコードですが、ゾーン頂点には設定できないという制約があります。

ALIASを利用することで、ゾーン頂点のドメインについても、別のホスト名を参照する構成を取ることができます。

実際に dig で確認したところ、ALIASで設定したドメインに対して、最終的なIPアドレスがAレコードとして返されることを確認できました。

ドメインの移行やWebサービスの接続先変更など、DNSを利用した構成を検討する際には、CNAMEだけでなくALIASも選択肢の一つとして覚えておくと便利です。

最後まで読んでいただき、ありがとうございました!

この記事を書いた人

UOZU

ネットアシスト運用チーム10年目の運用エンジニア

さくらのクラウド検定 ベーシック (第一回)

さくらのクラウド検定 アドバンスド (第一回)

AWS Certified Solutions Architect - Associate

AWS Certified AI Practitioner