Zone Apex(Naked Domain)にCNAMEが設定できないのでANAME(ALIAS)を設定したい(Netlify + ムームードメイン版)

こんにちは、エンジニアの @akase244 です。

スマホを使ってるとURLのことをあまり意識しなくなっている現状はありますが、Zone Apex(Naked Domain)、つまり「example.com」みたいなドメインをURLとして運用したい場合があるかと思います。

news.yahoo.co.jp

togetter.com

nlab.itmedia.co.jp

Zone Apexとは?

Zone Apexとは?はい、Google翻訳に聞いてみましょう。

f:id:akase244:20190624114329p:plain:w400

「ゾーンの頂点」だそうです。つまりZone Apexとはサブドメインを含まないドメインそのものを指します。

なので、example.comの場合はこういうことになります。

  • Zone Apex: example.com
  • サブドメイン: www.example.com

はい、Zone Apexとサブドメインの違いがわかったところで、Netlifyとムームードメインを使ってZone ApexなURLを運用する方法を説明していきます。

設定手順(Netlify)

では、実際にNetlifyとムームードメインの画面を見ながら実際にやってみましょう。
今回は便宜上、設定するドメインを「example.com」として説明していきます。(当然ですが、example.comはもちろん私が保有するドメインではなくIANAで確保されていてRFC2606に定義されている実在するサンプルドメインです)

まず、Netlifyにログインして「New site from Git」をクリックします。

f:id:akase244:20190623164211p:plain:w400

「Create a new site」の画面で「Continuous Deployment」の中から「GitHub」を選択します。(ここではNetlify CMSの説明は行いません)

f:id:akase244:20190623164600p:plain:w400

事前に準備しておいたNetlify連携用のリポジトリを選択します。

f:id:akase244:20190623165003p:plain:w400

設定内容を確認し「Deploy site」をクリックします。

f:id:akase244:20190623165629p:plain:w400

しばらくするとデプロイが完了し「foo-bar-英数字.netlify.com」のようなNetlifyのサブドメインでサイトが公開されますので、「Set up a custom domain」をクリックして独自ドメインの設定へ移ります。

f:id:akase244:20190623170338p:plain:w400

「Add a custom domain to your site」の画面で今回設定したい独自ドメイン「example.com」を入力し「Verify」をクリックします。

f:id:akase244:20190623170551p:plain:w400

確認画面が表示されるので「Yes, add domain」をクリックします。

f:id:akase244:20190623170825p:plain:w400

ドメインが登録されると、Zone Apexとwwwのサブドメインはまだ名前解決ができていない状態なので「Check DNS configuration」と表示されます。
ドメインが表示されている右端の設定ボタンを押すと「Set up Netlify DNS」というリンクがありますが、今回はNetlifyが提供しているDNSサービスではなく「ムームードメイン」を利用するため、こちらのリンクはクリック不要です。

f:id:akase244:20190623174431p:plain:w400

Zone Apexの「Check DNS configuration」の部分をクリックすると、このような説明文が表示されます。

  • オススメとしては「foo-bar-英数字.netlify.com」をANAMEまたはALIASレコードとして設定すること。
  • NS1またはNetlify DNSを使うとANAME、ALIASレコードがサポートされている。
  • 代替案としてはZone ApexをAレコードとして設定すること。
  • Netlifyの推奨としてはサブドメインをPrimary domainとして利用すること。もしくは、ANAMEまたはALIASレコードをサポートしているDNSサービスを利用すること。(現状はZone ApexがPrimary domainとして設定されており、wwwのサブドメインへアクセスするとPrimary domainへリダイレクトする形になっています)

f:id:akase244:20190623183248p:plain:w400

今回は利用しませんが、Netlify DNSを使う場合は説明文の下の方にNetlify DNSへのリンクがありますので、こちらから設定しましょう。

f:id:akase244:20190623184936p:plain:w400

なぜムームードメインを利用するのか?

2018年2月26日にムームーDNSでALIASレコードが設定できるようになったことを事前に知ってたので、どこかで使う機会がないかと考えてて、今回使ってみたという経緯です。

muumuu-domain.com

また、こちらの記事では、国内のDNSサービスでANAME(ALIAS)に対応しているのは、Dozens(2019年10月31日サービス終了予定)とGehirn DNSのみと紹介されていたので、ムームードメインでも設定可能なところを画面を見せながら説明してみようと思ったからです。

qiita.com

設定手順(ムームードメイン)

さて、設定手順の方に戻ります。
ムームードメインにログインして、左側のメニューから「ドメイン管理」→「ドメイン操作」→「ムームーDNS」と辿って、対象ドメインの「変更」ボタンをクリックします。

f:id:akase244:20190623230403p:plain:w400

「カスタム設定のセットアップ情報変更」画面が表示されるので、「設定2」にNetlifyの「Check DNS configuration」で説明されていた、ALIASレコードの内容を入力します。
なお、キャプチャ画像では同時にwwwのサブドメインをCNAMEとして設定しています。
入力が終わったら「セットアップ情報変更」ボタンをクリックして入力内容を確定します。

f:id:akase244:20190623231133p:plain:w400

設定手順(Netlify)

↑の設定が反映されると、Netlifyの画面で「Check DNS configuration」の警告表示が消えます。

f:id:akase244:20190623232530p:plain:w400

ドメインの設定が正しく反映されると、自動的にSSL証明書の発行作業が行われ、HTTPSでのアクセスが可能となります。

f:id:akase244:20190623233027p:plain:w400

これですべての設定は完了ですので、ブラウザからZone ApexなURLにアクセスしてみてください。きっとうまくアクセスできるはずです。

参考資料

blog.serverworks.co.jp

tech.blog.aerie.jp

blog.redbox.ne.jp

asnokaze.hatenablog.com

nozomi1773.hatenablog.com