酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

AWS Route 53を使ってMicrosoft Azure Webサイトでwwwなしのカスタムドメインを設定する

Microsoft Azure Webサイトは、PaaSでサーバーのことをあまり考えなくて良いこともあって重宝しています。Visual Studioでコードを書いて、デプロイ(発行)するまで2クリックでできるので、パパッと書いて挙動を確かめるのにとても便利です。

Azure Webサイトはデフォルトのままだと、「○○.azurewebsites.net」という既定のドメインになります。プログラミング生放送のサイトですと下記のように○○の部分が「pronama」になっているのが分かります。

Googleで「site:azurewebsites.net」で検索すると、約1,240,000件引っかかりますので、既定のドメインのまま運用されている方も結構いるようです。

www無しのカスタムドメインを設定する

さて、本題です。

最近、過去に書いたようにASP.NET MVCを勉強しながら毎日チマチマと弄ってるサービスがあります。

野球ニュースを集めてきてその日ごとに表示させる「CatchBall」というサイトなのですが、せっかく作ったサイトなので独自のドメインを使いたいと考えています。

あとは、個人的にドメインの頭にwwwが付いているのはあまり好きではないのでネイキッドドメイン(www無しのドメイン)として登録したいと思います。

  • Webサイトでの既定のドメイン
    • catchball.azurewebsites.net
  • 設定したいカスタムドメイン
    • catchball.co

Webホスティングプランのモードについて

Webサイトでは、カスタムドメインを使うためにはWebホスティングプランのモードを「共有」以上にする必要があります。「無料」ではカスタムドメインを設定することはできません。

Webホスティングプランのモードは、Azureポータルでサイトを表示して「スケール」タブに表示されています。僕は、下図の通りカスタムドメインを扱える中でも最も安い「共有」モードをよく使っています。

f:id:ch3cooh393:20140527182740p:plain

Microsoft Azure Webサイトでカスタムドメインを設定するには「構成」タブを開いて、「ドメイン名」の項目を見てみましょう。現在の設定ですと、このWebサイトにアクセスするには既定のドメイン経由でアクセスするしかありません。

f:id:ch3cooh393:20140528094322p:plain

カスタムドメインを設定するためには、緑色の「ドメインの管理」ボタンをクリックします。カスタムドメイン管理用のポップアップが表示されます。

f:id:ch3cooh393:20140528093559p:plain

カスタムドメインを使用するための方法が、公式のヘルプでは以下のように書かれています。

カスタム ドメインを管理する

カスタム ドメイン名で Windows Azure の Web サイトを参照できます。Windows Azure は、Windows Azure の Web サイトを参照するようにドメイン名を構成できることを確認する必要があります。承認を確認するには、www.yourdomain.com から example.azurewebsites.net、または awverify.www.yourdomain.com から awverify.example.azurewebsites.net を参照する DNS プロバイダーで CNAME リソース レコードを作成してください。 トラフィック マネージャーを使用する場合は、*.trafficmanager.net URL を参照する DNS プロバイダーで CNAME リソース レコードを作成してください。

ずらずらーと書かれていて、最初読んだ時には僕にはちんぷんかんぷんでした。ザックリと分類すると、カスタムドメインを使ってWebサイトにアクセスするためには下記の2つの方法があります。

  1. CNAMEを使う
  2. Aレコードを指定する

Aレコードを使って指定するので、先ほどのポップアップの下部に「Aレコードの構成時に使用するIPアドレス」がありますのでメモっておきましょう。

AWS Route 53でのDNS設定

次はAWS Route 53でDNS情報の設定をおこないます。

DNS情報の管理には、Amazon Web Servicesの「Route 53」を使っている方が沢山いるのではないでしょうか。僕も使っています。Route 53ではネイキッドドメインでCNAMEを指定できませんので、1の方法は使えず、2の方法を採用することになります。

「example.azurewebsites.net」を「catchball.co」というドメインで見たい場合には、AWS Route 53で下図のように指定します。

f:id:ch3cooh393:20140528093540p:plain

画像だと見にくいかもしれませんので、表を書いておきますのでご参照ください。「awverify.catchball.azurewebsites.net」のcatchball部分は、Azure Webサイトを作成した際のサブドメイン部分になります。自分で登録したサブドメインの名前に適切に読みかえてください。

名前 種類
catchball.co. A 138...***<先ほどのAレコード用IPアドレス>
awverify.catchball.co. CNAME awverify.catchball.azurewebsites.net.

Azure側で変更したDNS情報が認識できれば、次のステップに進むことができます。計測したことはありませんが、Azure側のキャッシュ更新は結構早かったと思います。

Azure Webサイト側でカスタムドメインの設定

Azure側に戻ってきましょう。「構成」タブの「ドメイン名」項目のドメインの管理ボタンをクリックして、カスタムドメインの設定をおこないます。

テキストボックスに「catchball.co」と入力するとプログレスインジゲータが回り始めます。DNS情報に問題がなければ、ポップアップの右下のチェックボタンをクリックして、カスタムドメインの設定は完了です。

f:id:ch3cooh393:20140528100149p:plain

既定のドメインしか表示されていなかったリストに独自ドメインが追加されているはずです。

f:id:ch3cooh393:20140528100233p:plain

これで「catchball.co」で「catchball.azurewebsites.net」にアクセスできるようになります。