2026年6月11日

2026年6月11日

Azure DNS のレコード追加方法|App Service や VM の WordPress に独自ドメインを向けるレコードを、ポータルと Azure PowerShell で登録する

Azure 上で動かしている WordPress に独自ドメインを向けるときは、Azure DNS に「サイトを指すレコード(A または CNAME)」と「所有確認のための TXT(App Service の場合)」を追加し、ドメインのネームサーバーが Azure DNS に委任されていることを確かめます。この記事では、Azure App Service と仮想マシン(VM)のそれぞれで必要なレコードの組み合わせ、Azure ポータルでの追加と、同じ操作を Azure PowerShell で行う方法、追加したのに反映されないときの確認の順番を説明します。

Azure ポータルの画面構成やボタンの表記、Azure PowerShell のモジュールの引数は更新されることがあります(2026年10月現在)。以下は代表的な書き方なので、実行前に Get-Help New-AzDnsRecordSet -Detailed などで手元のバージョンの説明を確認してください。レコードセットの基本的な仕組みと Azure CLI での種類別の追加は、同じシリーズの別記事で扱っています。本番のゾーンを変更する前には、現在のレコードを書き出して保管しておきます。

前提:ゾーンがドメインに委任されているか

Azure DNS にレコードを追加しても、ドメインのネームサーバーが Azure DNS を指していなければ、インターネットからはそのレコードが見えません。最初に、ゾーンに割り当てられたネームサーバーと、実際に委任されているネームサーバーを比べます。

# ゾーンに割り当てられた Azure DNS のネームサーバー
(Get-AzDnsZone -Name "example.com" -ResourceGroupName "my-rg").NameServers
# レジストラ経由で委任されているネームサーバー
dig example.com NS +short

両者が一致していれば準備はできています。一致していない場合は、レジストラの管理画面で、ゾーンに表示された4つのネームサーバーをすべて登録します。ns1-01.azure-dns.com のような名前ですが、番号の部分はゾーンごとに違うので、表示された値をそのまま使います。

何を追加するか:構成ごとのレコードの組み合わせ

App Service で動かしている場合

App Service に独自ドメインを追加するときは、向け先のレコードに加えて、そのドメインを自分が管理していることを示す TXT レコードを追加します。TXT の値は、App Service のカスタムドメインの画面に表示される「カスタムドメイン検証 ID」です。

追加したい名前 向け先のレコード 所有確認の TXT
www.example.com CNAME www → アプリの既定のホスト名 TXT asuid.www に検証 ID
example.com(頂点) A @ → アプリの IP アドレス TXT asuid に検証 ID

アプリの既定のホスト名は、<アプリ名>.azurewebsites.net の形のほか、作成時期や設定によってはリージョンなどを含む長い形式になることがあります。推測で書かず、App Service の画面に表示された値をコピーします。頂点には CNAME を置けないため、A レコードでアプリの IP を指定します。

仮想マシン(VM)で動かしている場合

VM に割り当てたパブリック IP アドレスへ、頂点と www を向けます。

  • 頂点:A @ → VM のパブリック IP
  • www:CNAME www → example.com、または A www → 同じパブリック IP

パブリック IP を静的に割り当てていない場合、VM の停止と起動で IP が変わることがあります。その場合は、IP を直接書く代わりに、パブリック IP のリソースを参照するエイリアスレコードを使うと、IP が変わっても書き換えずに済みます。

Azure ポータルで追加する

ポータルで DNS ゾーンを開き、レコードセットを追加する操作を選びます。入力のポイントは次のとおりです。

  • 名前:ゾーン名を除いた部分だけを入れます。www.example.com なら www、所有確認の TXT なら asuid.www です。www.example.com と入れると www.example.com.example.com になってしまうので注意します。
  • 種類:A、CNAME、TXT などを選びます。
  • エイリアスのレコードセット:Azure のリソース(パブリック IP など)を参照する場合だけ「はい」にします。
  • TTL:初めて設定するレコードや、あとで直す可能性があるレコードは短めにしておくと、修正が早く行き渡ります。

同じ名前と種類のレコードセットがすでにある場合は、新しく作るのではなく、既存のレコードセットを開いて値を追加します。

Azure PowerShell で追加する

同じ内容を Azure PowerShell(Az.Dns モジュール)で登録する例です。Connect-AzAccount でサインインし、対象のサブスクリプションを選んでから実行します。

$rg   = "my-rg"
$zone = "example.com"

# www の CNAME(向け先は App Service の画面に表示されたホスト名に置き換える)
New-AzDnsRecordSet -Name "www" -RecordType CNAME -ZoneName $zone -ResourceGroupName $rg `
  -Ttl 300 -DnsRecords (New-AzDnsRecordConfig -Cname "my-wp-app.azurewebsites.net")

# 所有確認の TXT(値は App Service のカスタムドメイン検証 ID)
New-AzDnsRecordSet -Name "asuid.www" -RecordType TXT -ZoneName $zone -ResourceGroupName $rg `
  -Ttl 300 -DnsRecords (New-AzDnsRecordConfig -Value "your-verification-id")

# 頂点の A レコード
New-AzDnsRecordSet -Name "@" -RecordType A -ZoneName $zone -ResourceGroupName $rg `
  -Ttl 300 -DnsRecords (New-AzDnsRecordConfig -Ipv4Address "203.0.113.10")

既存のレコードセットに値を足すときは、取得してから追加し、保存します。

# 頂点の TXT に値を追加する(SPF などがすでにある場合)
$rs = Get-AzDnsRecordSet -Name "@" -RecordType TXT -ZoneName $zone -ResourceGroupName $rg
Add-AzDnsRecordConfig -RecordSet $rs -Value "your-verification-id"
Set-AzDnsRecordSet -RecordSet $rs

Set-AzDnsRecordSet は、取得したあとに別の人や処理がレコードセットを変更していると、上書きを防ぐために失敗します。その場合は取得からやり直します。同じ名前のレコードセットがすでにあると New-AzDnsRecordSet は失敗するので、そのときも取得と追加の方法に切り替えます。

追加後の確認と、反映されないときの順番

まず Azure DNS のネームサーバーへ直接問い合わせます。ここで答えが返れば、Azure DNS への登録は済んでいます。

# ネームサーバー名はゾーンに表示されたものに置き換える
dig @ns1-01.azure-dns.com www.example.com CNAME +norec +short
dig @ns1-01.azure-dns.com asuid.www.example.com TXT +norec +short
dig @ns1-01.azure-dns.com example.com A +norec +short

答えが返らない、または App Service のドメイン検証が通らない場合は、次の順に確認します。

  1. 名前の入れ方:ゾーン名を重ねて入れていないか、asuid の後ろのサブドメイン部分が向け先の名前と一致しているか。
  2. ゾーンの取り違え:同じ名前のゾーンが別のリソースグループやサブスクリプションにないか。委任されているのはどちらのゾーンか。
  3. 委任:dig example.com NS +short の結果がゾーンのネームサーバーと一致しているか。
  4. キャッシュ:公開 DNS で古い答えが返るだけなら、以前の TTL が切れるのを待ちます。以前に「存在しない」という答えをキャッシュされた場合も、しばらく待つ必要があります。
  5. CNAME の衝突:CNAME を置いた名前に、ほかの種類のレコードが残っていないか。

ドメインの検証が通ったら、App Service で証明書を設定し、HTTPS で開けるかを確かめます。WordPress 側では、サイトアドレスの設定を独自ドメインに合わせ、www ありとなしのどちらかに301でまとめておきます。

まとめ

  • レコードを追加する前に、ゾーンのネームサーバーがレジストラに委任されているかを確認します。
  • App Service では、向け先のレコード(www は CNAME、頂点は A)と、asuid で始まる所有確認の TXT を追加します。
  • VM では頂点と www をパブリック IP に向け、IP が変わる場合はエイリアスレコードを使います。
  • 名前はゾーン名を除いて入れ、既存のレコードセットには値を追加します。
  • 確認は Azure DNS のネームサーバーへの直接の問い合わせから始め、名前・ゾーン・委任・キャッシュの順に見ます。

お気軽にご相談ください

お見積りへ お問い合わせへ
▲