Azure App Serviceへカスタムドメインを設定する

こんにちは。beaglesoftの真鍋です。

ここ1ヶ月ほどMicrosoft Azureを利用しているのですが、Microsoftらしからぬドキュメントの充実ぶりに驚いています。ただ、過去の情報と現在の情報が混在していたりしてちょっと戸惑うあたりは昔のmsdnに似ていますが…。

さて、今回初めてAzure App Serviceへカスタムドメインを設定しました。本当はAzureでドメインを購入してSSLまで設定しようと思っていたのですが、ドメインの購入に失敗してドメインが取得できなくなるという状態になってしまったので仕方なくAzureで外部で購入したドメインをカスタムドメインとして設定しました。^1

以下はそのときの手順をまとめた内容となります。

※ ここの手順はValueDomainの設定以外Azure App Service のカスタム ドメイン名の構成の手順を実施しました。

ドメインの取得

ドメインの取得は特に制限がないのですが、今回はValueDomainを利用しました。本当はAzureで購入して早めに終わらせたいと思っていたのですが、なぜかエラーになりドメインが取得できなかったためあきらめました。

ドメインの設定

取得したドメインをAzure App Serviceで利用するために以下のことを行います。

  1. cnameの確認
  2. cnameの設定(ValueDomain)
  3. cnameの設定(Azure)
  4. Aレコードの設定

なお、今回は設定するカスタムドメインをsample.com、Azure App Serviceのホスト名をsampleとします。

cnameを確認する

ドメインのcnameの設定は、Azure App Service のインスタンスを名前で関連づける設定になります。まずはAzure App Serviceのホスト名を確認します。ホスト名の確認は次の手順で行います。

  1. 対象の App Service 設定を表示し、ルーティングカスタムドメイン及びSSLを表示します。 1.外部ドメインの使用をクリックし、ドメイン名に表示された内容を確認します。

ドメイン名の説明には以下の記述がありますので、その内容をValueDomainに設定します。

このレコードが www.yourdomain.com から sample.azurewebsites.net を指すか、awverify.www.yourdomain.com から awverify.sample.azurewebsites.net を指すように設定します。

※このとき、「A レコードの構成時に使用する IP アドレス」にはIPアドレスは表示されていません。cnameが正しく設定できたら表示されます。

cnameの設定(ValueDomain)

ValueDomainではDNSの設定を行います。先ほど確認した内容から以下の設定を追加します。

cname www sample.azurewebsites.net.
cname awverify sample.azurewebsites.net.

DNS設定画面はコントロールパネルのドメイン - ドメインの設定操作(登録済みドメイン一覧)を表示し、対象となるドメイン名のDNS/URLをクリックすることで表示されます。

cnameの設定(Azure)

ドメインのcnameの設定(ValueDomain)で設定を行い、15分から30分程度してからAzure App Serviceに先ほど設定したcnameの内容を設定します。設定を行うため、cnameの確認で表示したカスタムドメイン及びSSLから外部ドメインの使用を表示します。

ドメイン名に先ほど設定したカスタムドメインを入力します。入力する内容はwww.yourdomain.comとなります。

azure-custom-domain1.png (4.9 kB)

このとき、エラーとなる場合には以下の内容を確認してください。

  1. cnameの設定(ValueDomain)の設定から時間が経っておらずDNSの伝播が行われていない。
    1. Dig web interfaceでドメイン名がAzureAppServiceと関連しているか確認してください。
  2. cnameの設定(ValueDomain)の設定が正しく設定されているか確認してください。
    1. 良くある設定間違いとして、ドメイン名の最後に.(ピリオド)を忘れることがあります。

設定が正しく行われたことを確認したら、カスタムドメイン名でAzure App Serviceにアクセスできるか確認してください。

Aレコードの設定

Aレコードの設定はcnameの設定が完了していることが前提となります。cnameの設定(Azure)が完了した状態から作業を開始します。 Aレコードはドメイン名とIPアドレスを関連づけるための設定です。この設定を行うことによりホスト名のないルートドメイン(sample.com)を使用することができます。

まずは設定するIPアドレスを確認します。

  1. 対象の App Service 設定を表示し、ルーティングカスタムドメイン及びSSLを表示します。 1.外部ドメインの使用をクリックし、A レコードの構成時に使用する IP アドレスに表示された内容を確認します。

次にValueDomainで設定を行います。 cnameの設定(ValueDomain)の時に表示したDNS設定に以下の設定を追記します。

a * 123.45.67.89

設定が完了したら、ホスト名のないルートドメイン(sample.com)でAzure App Serviceにアクセスできるか確認します。

注意事項

IPアドレスは以下のときに変更されることがあるそうなので注意が必要です。

この値は Web アプリを削除または再作成する場合や App Service のプランを Free モードに戻す場合に変更されることがあります。

ここまででカスタムドメインをAzure App Serviceへ設定する方法は完了です。お疲れ様でした。