App Service ドメインを使って Microsoft Entra テナントに カスタムドメインを構成する

# はじめに
Microsoft Entra テナント に対して、カスタムドメイン を構成したい場面があるとおもいます。
通常は、ドメインを取得するには レジストラでドメインを購入して、外部DNSサーバーを運用する必要があります。つまり他社のサービスと組み合わせて利用する必要があります。

しかし、今回の記事では「App Service ドメイン」を使って ドメインを購入し、「Azure DNS ゾーン」で 外部 DNSサーバー を運用し、Microsoft Entra テナント の「カスタムドメイン」を構成するという方法を ご案内したいと思います。

:::note info
つまり、テナント、ドメイン、外部 DNS が、Microsoft で完結できる方法となります。
:::

# カスタムドメイン とは？
Microsoft Entra テナント では、テナントを取得すると、"xxx.onmicrosoft.com" という形式で ドメイン名が発行されます。"xxx" の箇所を任意で選べはしますが、自社のドメイン名を使う事はできないため、企業のブランディングや 社員のメールアドレスとして使うには、あまり適切な状態とは言えません。
そのため、各企業が独自に取得したドメインを テナント に割り当てて使う事が可能です。<br>その機能が "カスタムドメイン" というサービスとなっています。

以下の記事にて、機能の紹介と ドメイン取得 や 外部 DNS サーバー の選択について まとめて解説しています。

https://qiita.com/carol0226/items/e9618b795ed768572a46

:::note info
本記事では、上記の記事で紹介している いくつかの選択肢のうち、 Azure（App Service ドメイン と DNS ゾーン）をつかう方法を説明しています
:::

# App Service ドメイン とは？
通常は、外部レジストラ（JPRS や お名前ドットコムなど）で 外部ドメインを購入するのが一般的です。

しかし、App Service ドメイン を使うと、ドメインを Azure で購入する事が可能になります。
そのため、外部サービスを一切使うことなく、ドメイン を保有することができる、なかなかスゴイサービスです。

:::note warn
App Service ドメイン で購入できる ドメイン は、"com、net、co.uk、org、nl、in、biz、org.uk、co.in" に限定されています。<br>".co.jp" などの JPドメイン は購入できません。
:::

App Service ドメインは、以下の公開情報でしか説明が見当たらないのですが、この内容を見ても判るように、Azure の "App Service" という Webサイト で利用するために用意されたサービスだと考えられます。

https://learn.microsoft.com/ja-jp/azure/app-service/manage-custom-dns-buy-domain?wt.mc_id=mvp_407731

上記サイトの "前提条件" の説明では、"App Service" が必要であることが書かれていて、これを真に受けると 混乱してしまいます。
しかし、単に App Service ドメイン で購入したドメインを テナントの カスタムドメイン として利用する場合は、特に制限はありません。

この記事の手順を参考に 作業を進めていただけば、構成できますので、ご安心ください。

なお、App Service ドメインは、非常に安価（年間で 1,800円弱）ではありますが、有料のサービスです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/e121d2b9-d533-09c1-1973-ea2aae1d088f.png)
（上記画面は、以下の URL「App Service ドメイン の価格」より抜粋）
https://azure.microsoft.com/ja-jp/pricing/details/app-service/windows/

:::note alert
初めて Azure をサインアップした人は US$200クレジット分が無料（約3万円分）が付与されますが、このクレジットで App Service ドメイン の費用に充てる事はできません。ご注意ください。<br>画面上部にある「アップグレード」を実施して "従量課金プラン" にする必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/f54c6fcb-e39a-e9c2-6d54-62438547b6c8.png)
:::

# Azure DNS ゾーン とは？
Azure で提供される 外部DNS のサービスです。
外部レジストラで購入した ドメイン を使って、Webサービスの ホスト名 を DNSの機能を使って公開することができます。

:::note info
外部レジストラで、"xyz.co.jp" どいうドメインを購入した場合は、DNS ゾーンで xyz.co.jp のゾーンレコードを構成しておきます。
そして、外部レジストラには NSレコードを構成してもらい、"xyz.co.jp" ドメインの名前解決を Azure DNS ゾーン に 委任してもらいます。
DNSゾーンでは、A レコードとして www = 203.154.25.4 というレコードを発行することで、www.xyz.co.jp という FQDN 名の Webサイト(IP=203.154.25.4) を外部に公開することが可能になります。
:::

通常は 外部レジストラで購入したドメインを使うのですが、実は "App Service ドメイン" で購入したドメインも使える・・・というのがミソです。

そのため、App Service ドメイン と、DNS ゾーン を組み合わせることで、Microsoft Entra テナント の カスタムドメイン を構成するための要件を満たすことができます。

https://learn.microsoft.com/ja-jp/azure/dns/dns-zones-records?wt.mc_id=mvp_407731

# 前提事項
本作業を行う前に必要なもの

## ① Microsoft Entra テナント の手配
以下の記事を参照して、Microsoft Entra テナントを 手配してください。

https://qiita.com/carol0226/items/e560688f2b6a93e97126

## ② Azure サブスクリプション のサインアップ 
以下の記事を参照して、Azure サブスクリプション を手配してください。

https://qiita.com/carol0226/items/066c06d95cb68427f1d0

## ③ App Service ドメイン を 購入し DNSゾーンを作成する 
以下の記事を参照して、Azure Service ドメイン を手配してください。

https://qiita.com/carol0226/items/3ce40224c579e35017b0

# カスタムドメイン の構成手順
（操作概要）
1. Microsoft Entra ID で、カスタムドメイン名 を作成する
1. カスタムドメイン名 に表示された TXTレコードの情報を DNSゾーン に登録する
1. カスタムドメイン名 を プライマリ に変更する（任意）
1. 既存ユーザーの ユーザープリンシパル名 の変更
1. カスタムドメイン名で サインインのテスト
1. Microsoft 365 サービスのための DNS 設定を行う

## 1. Microsoft Entra ID で、カスタムドメイン名 を作成する
1. 事前に作成済みの Microsoft Entra テナント のアカウントを使って、Azure Portal に サインイン します。
https://portal.azure.com
　<br>
1. 以下のテナントの画面で、意図したテナントになっているのかを確認して、「カスタムドメイン名」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/9e58ab53-ca74-ccf7-61ea-999071afea28.png)
　<br>
1. 下図の通り、初めは xxx.onmicrosoft.com という 既定のドメイン名 だけが 一覧に存在しています。ここで、「＋カスタムドメインの追加」ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/88ade7bb-6e58-ca06-cf9d-74bb9ec5380a.png)
　<br>
1. さきほど App Service ドメイン で発行した ドメイン名 を下図の通り入力し、「ドメインの追加」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/69d41dfd-14ca-796d-1201-5c4b4a15f7db.png)
　<br>
1. 下図のように 表示されれば OK です。<br>まだ「確認」ボタンは押さないでください（押すとエラーになります）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/5ca87ce4-5173-f225-3699-cc4eed647a23.png)

:::note alert
なお、稀に、このタイミングで ドメイン名が 他人に使われていて 利用できない旨のエラーが出る事があります。過去に 他の利用者によってテストなどで利用され そのまま放置されている場合が考えられます（ドメインとしては解放されているが、テナント側では残っている状態）<br>その場合は サポートに問い合わせて 対応を依頼してください。
:::

:::note warn
このタイミングで「確認」ボタンを押すと、該当のドメイン内に TXT レコードが存在するかどうかのチェックが行われます。しかし まだ Azure DNS ゾーン に TXTレコードの登録が行われていないため、エラーが発生します。
:::

## 2. カスタムドメイン名に表示された TXTレコードの情報を DNSゾーン に登録する
1. 下図のとおり、左側に テナントのカスタムドメイン名 の画面、右側に Azure DNS ゾーン の画面を表示させます。<br>赤枠の「＋レコードセット」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/bb0184a3-39cb-2385-6dcc-9790e0e69a40.png)
　<br>
1. 下図の通り、左側の画面の値を、右側の画面の同じ色の場所に転記して「OK」を押します。<br>なお、TTL の 3600 秒は、1 時間 を意味しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/856636d2-258c-89d5-8b0b-5b425ddf775d.png)
　<br>
1. 以下の赤線のように TXT レコードが追加されたら、左側の「確認」ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/1599c21b-5e99-2767-8fc5-7c0d9e1a98af.png)
　<br>
1. 通知欄に「ドメイン名の確認」が正常に行われた旨が表示されます。<br>左上部の「カスタムドメイン名」の箇所をクリックします。<br>ここでエラーが出た場合は、DNSの反映よりも早く操作してしまった可能性があるため、少し待ってから「確認」を押してみてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/38679146-bb5e-72d5-3d0a-c1b577817b51.png)
※この画像のみ、作業時の画像を紛失したため、別の作業時に取得した画面を使用しています。
　<br>
1. 以下のように、一覧に 取得した 赤枠（カスタムドメイン名）が追加されていれば OK です。この時点では、緑枠 のように 既定のドメイン名 (xxx.onmicrosoft.com) が "プライマリ" になっています。<br>反映が遅れる場合があるので「更新」ボタンを押してみてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/38f031a3-208f-7e64-c2e1-0f5b34cdb99d.png)

:::note info
以上で、テナントに カスタムドメイン名 が追加され 利用できる状態になっています。
:::

## 3. カスタムドメイン名 を プライマリ に変更する（任意）
さらに お勧めの設定は、カスタムドメイン名 を プライマリ へ変更することが挙げられます。
新規ユーザーを追加する際に、「プライマリ」に設定されているドメイン名が 自動で選択されるようになります。

1. 以下の画面で、赤枠のドメイン名の箇所を クリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/0e05f612-2988-8378-505f-93849255c526.png)
　<br>
1. 以下の画面で「プライマリにする」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/b52a0ef9-075f-9aff-0e70-a1dbac6e5e92.png)
　<br>
1. 以下の確認画面で「はい」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/886d8e16-2ecf-a2f9-a179-6a47ae4401c2.png)
　<br>
1. すると、以下のエラーの通知が届くのですが、気にしなくても大丈夫です。<br>ここでエラーが出るのは、数年前から バグ みたいで改善されていないようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/855dfe59-babd-9a06-5c59-439d2e63c4bb.png)
　<br>
1. 以下の画面で、カスタムドメイン の方が「プライマリ」に変わっていれば OK です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/d6e71b67-90ea-f03d-95f8-8d7a9589e76a.png)

:::note info
以後、テナントで ユーザーを作成する際に、テナントに 登録されたドメイン名から選択することができるようになります。緑枠の箇所に プライマリドメイン名 が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/07188951-dd18-4298-4b3a-ae9f9711cf4d.png)
赤枠の箇所を押すと、以下のように ドメインの選択が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/83b1ae8c-7a2c-dbb9-a7cb-3da816d2c004.png)
:::

## 4. 既存ユーザーの ユーザープリンシパル名 の変更
既に、作成済みのユーザーであっても、ドメイン名の変更が可能です。

1. Microsoft Entra テナント の「すべてのユーザー」を表示して、変更したユーザーの 緑枠 の箇所を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/527ed675-e859-f268-0554-794c1227e312.png)
　<br>
1. 下図の画面で、赤下線 を見ると 既定のドメイン名（xxxxx.onmicrosoft.com）になっています。<br>「プロパティの編集」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/3eb1c7a1-7686-49b3-73f4-b4b015db7556.png)
　<br>
 1. 下図の画面で、赤枠を押してから、一覧表示されたドメイン名から 橙枠（カスタムドメイン名）を選択します。
 ※キャプチャは qiitatest.0am.jp になっていますが、carol226.com に読み替えてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/b4a6ab3d-cdc9-0936-decf-69a1edd2da24.png)
　<br>
1. 以下の赤枠のように変更されたことを確認して「保存」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/9ac5348a-bf7b-5cc4-896f-6c68d5c20f41.png)
　<br>
1. 下図のように、ドメイン名 が変更されたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/5db28037-d9ee-858d-dfb0-c03e4026ea2c.png)

## 5. カスタムドメイン名で サインインのテスト
以下のように、カスタムドメイン名を使って、Azure Portal にサインインできることを確認します。
1. 既存のブラウザセッションは、サインアウトし、その後 Azure Portal にアクセスします。
https://portal.azure.com
　<br>
1. 下図の通り、新しいカスタムドメイン名を付与した ユーザー名 でサインインします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/f747a08a-5bdd-8816-289d-b189576d7cd9.png)
　<br>
1. 以下の通り、新しいドメイン名で サインイン する事ができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/e0d16645-f082-97c9-c080-1dedf86604b2.png)

## 6. Microsoft 365 サービス のための DNS 設定を行う
前章までの設定で カスタムドメイン名 を使って テナントへサインインすることができますが、その他 の Microsoft 365 サービスを利用するためには、それ以外にも設定が必要です。

:::note warn
この設定を行っていないと、メールボックスに メールが届きません。
:::

1. Microsoft 365 管理センター へ テナントの グローバル管理者でサインインします。<br>https://admin.microsoft.com
　<br>
1. 左ペインから、「設定」－「ドメイン」を選択して、赤枠（カスタムドメイン名の箇所）をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/95ec29bb-9f79-843a-8cb5-250fa49804c3.png)
　<br>
1. 以下の画面で、「セットアップを続ける」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/93e1aa56-1bdb-9262-848b-e67083184201.png)
　<br>
1. 以下の画面は、「続く」を押します。<br>なお、緑枠のリンク先は 以下の URL になっていました。<br>https://learn.microsoft.com/ja-JP/microsoft-365/admin/get-help-with-domains/dns-basics?view=o365-worldwide&WT.mc_id=365AdminCSH_inproduct
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/49a9935e-87d2-1cd7-6d7e-fd8faa2bdf96.png)
　<br>
1. 以下のように 取得したカスタムドメインに関して、外部DNSに 追加すべき DNSレコードが表示されます。これらの情報を 後述する Azure DNS ゾーン に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/8e9abf35-e433-759d-6e3a-a8ded605e535.png)
　<br>
1. 前項で示した図内の色枠に合わせて、以下の通り Azure DNS ゾーン に値を設定して「OK」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/1e0573a7-5eaf-1290-032c-52a9f58c33bd.png)
　<br>
1. 前項で示した図内の色枠に合わせて、以下の通り Azure DNS ゾーン に値を設定して「OK」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/bcbc81c2-4114-fc84-31f3-719f15836d95.png)
　<br>
1. 前項で示した図内の色枠に合わせて、以下の通り Azure DNS ゾーン に値を設定して「保存」を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/f0acad00-c71b-b23a-5df2-95dd71834b12.png)
　<br>
1. Microsoft 365 管理センター の画面に戻り、「処理中」のボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/13c2d227-bed0-fc34-3e20-599ec715e17f.png)
　<br>
1. テナント側から、Azure DNS ゾーン に追加されたレコードのチェックが行われて、問題がなければ 以下の画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/1653ba4c-d845-9021-d111-5ac2e4ebd488.png)
　<br>
1. もし、レコードのチェックでエラーがあると、以下のような画面になります。エラーになったレコードに関して、 Azure DNS ゾーン へ登録したレコード内容を チェックしてください。<br>以下は、３レコードとも 未登録の状態で チェック を行った場合です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/12fb4bd2-bfad-23c0-fb17-1660dca3ce8b.png)
　<br>
1. 正常に登録されると、以下の画面で「状態」が「正常」になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/cc89a276-ed46-e42e-c94d-38a5e02e1003.png)
　<br>
1. 最終的に Azure DNS ゾーン には、以下のレコードが登録された状態になっています。
- 水色 ＝ カスタムドメインにて登録
- 紫色・橙色・緑色 ＝ Microsoft 365 用の設定で登録
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1619637/bfebee4f-1033-3a03-859e-be4791d6ef18.png)

以後、このテナントでは、新しいドメイン名を使って、Microsoft 365 のサービスを利用することができます。

（参考／手順 2: DNS レコードを追加して Microsoft サービスに接続する）
https://learn.microsoft.com/ja-jp/microsoft-365/admin/get-help-with-domains/create-dns-records-at-any-dns-hosting-provider?view=o365-worldwide&wt.mc_id=mvp_407731#step-2-add-dns-records-to-connect-microsoft-services

# さいごに
この記事で紹介をさせていただいたとおり、App Service ドメイン と Azure DNS ゾーン を利用する事で 他社サービスを使うことなく、カスタムドメイン の構成を 構成することができます。

# Next Step
カスタムドメインの構成が終わったら、次は テナント で ライセンスを購入して、Microsoft 365 のサービスの利用を試してみましょう（無料試用版の説明も記載してあります）

https://qiita.com/carol0226/items/efbeb78c93d903403676

# 参考情報
App Service ドメイン ではなく、無料の MyDNS を使って、カスタムドメインを構成することも可能です。以下の記事で紹介していますので、併せて参照ください。

https://qiita.com/carol0226/items/cbbe32006d26080847f7