はじめに
"Azure App Service" や "Microsoft Entra テナント" に対して、カスタムドメイン を構成する場合、ドメインの利用状況(既に企業で使っている or これから取得する)によって、対応が異なってきます。
その判断について 説明するとともに、それぞれの作業手順についても紹介したいと思います。
カスタムドメイン とは?
Azure App Service をデプロイすると、既定では [xxx].azurewebsites.com という URL が発行されます。
そして、Microsoft Entra テナント を利用しようとすると、既定では [xxx].onmicrosoft.com というドメイン名が発行されます。
[xxx] の箇所は、ユニークである名前を任意に決められますが、"azurewebsites.com" や "onmicrosoft.com" の部分は 変える事はできません。
企業のブランディングや 社員のメールアドレスとして使うには、あまり適切な状態とは言えません。
そのため、各企業が独自に取得したドメインを App Service や テナント に割り当てて使う事が可能です。
その機能が "カスタムドメイン" というサービスとなっています。
ドメインの状況と 利用目的を確認する
カスタムドメイン を構成する前に、ドメイン の運用形態や 目的を明確にしておきましょう。
なお、私が解説で用意している本命は ③ と ④ の場合です。① と ② は比較のために記載しているため、内容は簡潔な説明にとどめています。ご承知おきください。
状況 | 目的 | ドメインの取得 | 外部DNSの運用 | 利用可能なドメイン | |
---|---|---|---|---|---|
① | 既存 | 本運用 | 取得済みの ドメイン名を利用 |
アウトソース or 自社サーバ |
現在利用中のドメイン |
② | 新規 | 本運用 | 外部レジストラで 新規ドメインを取得 |
アウトソース or 自社サーバ or Azure DNSゾーン |
全世界のドメイン "co.jp" も利用可 |
③ | 新規 | 本運用 or 検証 |
Azure App Service ドメイン で 新規ドメインを取得 |
Azure DNSゾーン | 以下のみ com、net、co.uk、org、nl、in、biz、org.uk、co.in |
④ | 新規 | 検証 | MyDNS で サブドメインを取得 |
MyDNS | 以下のみ ?.mydns.jp、?.mydns.bz、?.mydns.vc、?.mydns.tw、?.0am.jp、?.0g0.jp、?.0j0.jp、?.0t0.jp、 ?.pgw.jp、?.wjg.jp、?.dix.asia、 ?.daemon.asia、?.live-on.net、 ?.keyword-on.net、?.server-on.net |
① 独自ドメイン運用中。外部DNS運用中。
独自ドメインを購入して、レジストラに登録済み。自社にて 外部DNSサーバーを運用中
既に、ドメインを所持して 利用中の場合には、この選択肢になります。
② 外部レジストラでドメインを新規取得。外部DNSを運用する
".jp" , ".co.jp" , ".ne.jp" などの JPドメインを使いたい場合は、この選択肢になります。
③ Azure のサービスを使って 独自ドメインの取得と 外部DNSを運用する。
この方法は、私の記事で Step by Step で手順を紹介しています。
④ 無料サービスを用いて コストを掛けずに カスタムドメインの機能を検証したい
この方法は、私の記事で Step by Step で手順を紹介しています。
① 独自ドメイン運用中。外部DNS運用中。
この場合は、以下の URL を参考に 外部DNSサーバーに CNAMEレコード (App Serviceの場合)、TXTレコード (テナントの場合) を追加するだけで OK です。
テナントの場合は、Azure Portal か Microsoft 365 管理センター のいずれかから実施すれば OK です。
(Azure Portal での操作)
https://learn.microsoft.com/ja-jp/entra/fundamentals/add-custom-domain#add-your-custom-domain-name
(Microsoft 365 管理センター での操作)
https://learn.microsoft.com/ja-jp/microsoft-365/admin/get-help-with-domains/create-dns-records-at-any-dns-hosting-provider?view=o365-worldwide#step-1-add-a-txt-or-mx-record-to-verify-you-own-the-domain
② 外部レジストラでドメインを新規取得。外部DNSを運用する。
Azureに依存せず、ドメインを維持管理したい場合は、この選択肢になると思います。
ドメインに関する知識は、持ち合わせている必要があり、この記事での詳細な説明は割愛します。
以降は、簡単な流れのみを紹介しています。
まず、以下のような、外部レジストラから 独自ドメイン の購入を行って下さい。
https://jprs.co.jp/
https://www.onamae.com/
続いて、外部DNSサーバーの手配は、いくつかの選択肢があります。
a. レジストラや プロバイダー が提供する DNSのサービスを利用する
b. 自社のデータセンターで DNSサーバーを構築して、外部公開する
c. Azure DNS ゾーン のサービスを利用する
a.と b. の場合は、一般的なドメイン取得と 外部DNSサーバーの運用の手続きに基づいて手配を行ってください。それ以後は「① 独自ドメイン運用中。外部DNS運用中。」で紹介した流れと同じになります。
c. を使う場合は、Azure上に DNSサーバーの機能を稼働させることもできます。
レジストラーに、Azure の DNSゾーン に表示された NSレコードを登録して 委任することで、自社ドメインの DNS を Azure DNSゾーンのサービスを使って運用する事が出来るようになります。
外部レジストラーのドメインを Azure DNS に登録する 具体的な構成手順は、私の知り合いの @nobtak さんが記載された 以下の記事に掲載されていますので、こちらも参考になります(お名前ドットコムを利用するパターン)
③ Azure のサービスを使って 独自ドメインの取得と 外部DNS を運用する。
この方法は、"App Service ドメイン" でドメインを購入して、"Azure DNS ゾーン" で外部DNS を運用する方法です。
有料ですが、すべての要素を Microsoft に 1 本化できます。
手順については、以下の記事で説明しています。参照ください。
(Microsoft Entra テナント + App Service ドメイン + カスタムドメインの構築手順)
https://qiita.com/carol0226/items/5e01ea76a2581c6810b4
(App Service + カスタムドメインの構築手順)※MyDNS と AppServiceドメイン共通
https://qiita.com/carol0226/items/9fb73fbbbd196fbec19e
コストも非常に安価です(年間で 1,800円弱)
(上記画面は、以下の URL「App Service ドメイン の価格」より抜粋)
https://azure.microsoft.com/ja-jp/pricing/details/app-service/windows/
なお、Azure のサービスを利用するため、事前に Azure のサインアップが必要です。
※ 初めての人は US$200クレジット分が無料(約3万円分)が付与されますが、このクレジットで App Service ドメイン の費用に充てる事はできません。ご注意ください。
(参考URL)
https://qiita.com/carol0226/items/066c06d95cb68427f1d0
この方法のデメリットは 2 つ あります。
以下のような場合は、前章(② 外部レジストラでドメイン取得)の方法を使ってください。
- ".jp" , ".co.jp" などの JPドメインは利用できません。
- ドメインを取得したあと、将来的に Azure をすべて解約して、他社サービスで 引き続き同じドメインを継続利用するような可能性が高い場合は、その際に手間が掛かります。
④ 無料サービスを用いて コストを掛けずに カスタムドメインの機能を検証したい
この方法は、無料で利用できるため、検証目的で カスタムドメインの機能を試したい場合などに適しています。
以下の私の記事で紹介していますので、参照してみてください。
(Microsoft Entra テナント + MyDNS + カスタムドメインの構築手順)
https://qiita.com/carol0226/items/cbbe32006d26080847f7
(App Service + カスタムドメインの構築手順)※MyDNS と AppServiceドメイン共通
https://qiita.com/carol0226/items/9fb73fbbbd196fbec19e