あれとアレは混ぜるな危険

日々精進をしているふり

Windows Azure WebSites に独自ドメインでアクセスする設定

ども、はるたまです。暑いですね、溶けますね。
今日はWebSitesにDNSのAレコードを当てる話です。

DNSのAレコードとCNAMEレコード

あなたはめでたく「example.com」というドメイン名を買って、WebSitesでホストしているサイトに、このドメインでアクセスできるようにしたいと考えています。さて、ここでDNSの設定をしないといけないのですが、HTTPでサーバにアクセスする際のドメイン名に対応するサーバをDNSで指定する方法として、Aレコードで指定する方法とCNAMEで指定する方法の2通りがあります。
ただし、CNAMEレコードで「http://example.com」でアクセスできるような設定を行うことは禁止されています。どこのどいつがそう言ってるかというと、RFC1034のSection3.6.2のところでそう言ってます。
このようなドメイン名そのままの形(ネイキッドドメインと言ったりもしますが)でアクセスできるようにするためにはAレコードによる設定が必要となります。
CNAMEを用いる場合は「http://www.example.com」だったり「http://punipani.example.com」のように、必ずサブドメインがくっついた形でないといけません。まあ、これでも良ければ何の問題もないのですが、ネイキッドドメインでアクセスできるってかっこいいですよね。
DNSの基本に関しては、安心と信頼の3分間ネットワーキングを参照していただければ。

実際の手順

さて、ここから先は「harutama.mobi」というドメイン名を買ってきましたので、これを使うAレコードの設定を「 harutama.azurewebsites.net」というドメイン名で動いている WebSites にどうやって当てるかを書いていきます。

まず、WebSitesのモードが「共有」もしくは「標準」で動くように設定します。「無料」ではドメイン名を当てられないので、ちょっとお金を使う必要があります。

そうしたら「構成」のところから

「ドメイン名」のところにある「ドメイン名の管理」をクリックします。

するとこんなダイアログが開きます。

「ドメイン名」の部分に今回利用する「harutama.mobi」を入力するのは何となくわかりますが、いきなり入れると怒られます。何やら

承認を確認するには、www.yourdomain.com から harutama.azurewebsites.net、または 
awverify.www.yourdomain.com から awverify.harutama.azurewebsites.net を参照する 
DNS プロバイダーで CNAME リソース レコードを作成してください。

と書いてありますが、具体的にどうしてほしいのやらという感じです。
これは、先にDNS側に設定をしておいてねという意味で、DNS側の設定が反映されたら「ドメイン名」の部分に「harutama.mobi」を入れてもエラーが出なくなります。
具体的にどんな設定をするか、今回はお名前.comでドメインを取っていますので、ここの設定画面をそのまま載せると

こんな感じで設定します。
先ほどのダイアログに「Aレコード構成時に使用するIPアドレス」にIPアドレスが出ていますが、このIPに対して「harutama.mobi」のAレコードを設定します。
同時に、「awverify.harutama.mobi」というサブドメインに対して「awverify.harutama.azurewebsites.net」という名前のCNAMEレコードを設定します。
この2つの設定がWindows Azure 側から確認できた段階で(浸透とか言わないように)、ドメインの設定ダイアログの「ドメイン名」の部分に「harutama.mobi」を入力してもエラーが起こらずに反映されるようになります。
こうなったらWebSites に「http://harutama.mobi」でアクセスすることができるようになります。