チュートリアル: カスタム ドメインにおける Web アプリの DNS レコードの作成
Azure DNS を構成して、Web アプリ用にカスタム ドメインをホストすることができます。 たとえば、Azure Web アプリを作成し、www.contoso.com
または contoso.com
を完全修飾ドメイン名 (FQDN) として使用してユーザーがアクセスできるようにすることができます。
これを行うには、3 つのレコードを作成する必要があります。
- contoso.com を指すルート "A" レコード
- 検証用のルート "TXT" レコード
- その A レコードを指す www 名の "CNAME" レコード
このチュートリアルでは、以下の内容を学習します。
- カスタム ドメインの A および TXT レコードの作成
- カスタム ドメインの CNAME レコードの作成
- 新しいレコードのテスト
- カスタム ホスト名の Web アプリへの追加
- カスタム ホスト名のテスト
Azure サブスクリプションがない場合は、開始する前に無料アカウントを作成してください。
前提条件
アクティブなサブスクリプションが含まれる Azure アカウント。
Azure DNS でホストできるドメイン名。 このドメインに対するフル コントロールが必要となります。 フル コントロールには、このドメインのネーム サーバー (NS) レコードを設定する権限が含まれます。
Web アプリ。 アプリがない場合は、このチュートリアル用の静的 HTML Web アプリを作成できます。
レジストラーで Azure DNS に委任された Azure DNS ゾーン。 DNS ゾーンがない場合は、DNS ゾーンを作成し、Azure DNS にドメインを委任できます。
Note
このチュートリアルでは、contoso.com
をドメイン名の例として使用します。 contoso.com
を自分のドメイン名に置き換えてください。
Azure Cloud Shell
Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。
Azure Cloud Shell を開始するには、以下のようにします。
オプション | 例とリンク |
---|---|
コードまたはコマンド ブロックの右上隅にある [使ってみる] を選択します。 [使ってみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にはコピーされません。 | |
https://shell.azure.com に移動するか、[Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。 | |
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。 |
Azure Cloud Shell を使用するには、以下のようにします。
Cloud Shell を開始します。
コード ブロック (またはコマンド ブロック) の [コピー] ボタンを選択し、コードまたはコマンドをコピーします。
Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードまたはコマンドを Cloud Shell セッションに貼り付けます。
Enter キーを選択して、コードまたはコマンドを実行します。
注意
Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。
Azure へのサインイン
Azure portal にサインインします。
A レコードを作成する
A レコードは、名前をその IP アドレスに対応付けるために使用されます。 次の例では、Web アプリの IPv4 アドレスを使用して "@" を A レコードとして割り当てます。 通常、@ はルート ドメインを表します。
IPv4 アドレスの取得
Azure portal の [App Services] ページの左側のナビゲーションで、[カスタム ドメイン] を選択し、Web アプリの IP アドレスをコピーします。
レコードの作成
A レコードを作成するには、次を使用します。
New-AzDnsRecordSet -Name "@" -RecordType "A" -ZoneName "contoso.com" `
-ResourceGroupName "MyAzureResourceGroup" -Ttl 600 `
-DnsRecords (New-AzDnsRecordConfig -IPv4Address "<ip of web app service>")
重要
Web アプリの基になる IP アドレスが変更されると、A レコードを手動で更新する必要があります。
TXT レコードの作成
App Services は、このレコードを、カスタム ドメインの所有者であることを検証するために構成時にのみ使用します。 App Service でカスタム ドメインが検証されて構成された後は、この TXT レコードを削除できます。
Note
ドメイン名を確認し、運用環境トラフィックを Web アプリにルーティングしない場合は、この検証手順に TXT レコードを指定するだけで済みます。 検証には、TXT レコードのほかに A レコードや CNAME レコードを追加する必要はありません。
TXT レコードを作成するには、次を使用します。
New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName MyAzureResourceGroup `
-Name "@" -RecordType "txt" -Ttl 600 `
-DnsRecords (New-AzDnsRecordConfig -Value "contoso.azurewebsites.net")
CNAME レコードを作成する
ドメインが既に Azure DNS で管理されている場合 ( DNS ドメインの委任に関するページを参照)、次の例を使用して contoso.azurewebsites.net の CNAME レコードを作成できます。 この例で作成された CNAME には、Web アプリの別名 contoso.azurewebsites.net を使用した "contoso.com" という名前の DNS ゾーンに 600 秒の "Time to Live" が含まれます。
New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName "MyAzureResourceGroup" `
-Name "www" -RecordType "CNAME" -Ttl 600 `
-DnsRecords (New-AzDnsRecordConfig -cname "contoso.azurewebsites.net")
次の例は応答です。
Name : www
ZoneName : contoso.com
ResourceGroupName : myazureresourcegroup
Ttl : 600
Etag : 8baceeb9-4c2c-4608-a22c-229923ee185
RecordType : CNAME
Records : {contoso.azurewebsites.net}
Tags : {}
新しいレコードのテスト
次のように nslookup を使用して "www.contoso.com" と "contoso.com" にクエリを実行することによって、レコードが正しく作成されたかどうかを検証できます。
PS C:\> nslookup
Default Server: Default
Address: 192.168.0.1
> www.contoso.com
Server: default server
Address: 192.168.0.1
Non-authoritative answer:
Name: <instance of web app service>.cloudapp.net
Address: <ip of web app service>
Aliases: www.contoso.com
contoso.azurewebsites.net
<instance of web app service>.vip.azurewebsites.windows.net
> contoso.com
Server: default server
Address: 192.168.0.1
Non-authoritative answer:
Name: contoso.com
Address: <ip of web app service>
> set type=txt
> contoso.com
Server: default server
Address: 192.168.0.1
Non-authoritative answer:
contoso.com text =
"contoso.azurewebsites.net"
カスタム ホスト名の追加
ここで、Web アプリにカスタム ホスト名を追加できます。
set-AzWebApp `
-Name contoso `
-ResourceGroupName <your web app resource group> `
-HostNames @("contoso.com","www.contoso.com","contoso.azurewebsites.net")
カスタム ホスト名のテスト
ブラウザーを開き、http://www.<your domain name>
と http://<you domain name>
を参照します。
Note
必ず、http://
プレフィックスを含めます。そうしないと、ブラウザーが URL の予測を試みることがあります。
両方の URL で同じページが表示されます。 次に例を示します。
リソースをクリーンアップする
不要になった場合、リソース グループ MyAzureResourceGroup を削除することで、このチュートリアルで作成したすべてのリソースを削除できます。
- Azure portal のメニューで、[リソース グループ] を選択します。
- [MyAzureResourceGroup] リソース グループを選択します。
- [概要] ページで、 [リソース グループの削除] を選択します。
- 「MyAzureResourceGroup」と入力し、[削除] を選択します。
次のステップ
このチュートリアルでは、Web アプリのカスタム ドメインに DNS レコードを作成する方法について学習しました。 ゾーン レコードを参照するエイリアス レコードを作成する方法については、次のチュートリアルに進んでください。