はじめに

Google Domains で nnstt1.dev というドメインを購入しているのですが、最近 Azure を使うことが増えてきたので、ドメイン管理も Azure DNS に委任しました。

以下のドキュメントを参照しています。

ドキュメント内では Azure Portal を使って Azure DNS を操作していますが、今回は Azure CLI を使って作業しました。

DNS ゾーンの作成

はじめに、移管先となる DNS ゾーンを作成します。

$ az network dns zone create \
    --name nnstt1.dev \
    --resource-group $RG_NAME

作成できたか確認します。

$ az network dns zone list -o table

ZoneName    ResourceGroup    RecordSets    MaxRecordSets
-------------     ------------------     --------------    -------------------
nnstt1.dev   home-lab              2                     10000

DNS ゾーンが作成されていることを確認できました。 次に、割り当てられたネームサーバを確認します。

$ az network dns record-set ns list \
    --resource-group $RG_NAME \
    --zone-name nnstt1.dev \
    --out tsv --query '[].nsRecords[]'

ns1-09.azure-dns.com.
ns2-09.azure-dns.net.
ns3-09.azure-dns.org.
ns4-09.azure-dns.info.

4 つのネームサーバが登録されていることが確認できました。

ドメインの委任

Google Domains でカスタムネームサーバの設定をします。 Azure DNS ゾーンで割り当てられている 4 つのネームサーバを入力します。

「ドメインでこれらの設定が使用されていません」と表示されていますが、設定を切り替える前に Azure DNS に既存のレコードを登録しておきます。

今回は本ブログに使っている CNAME blog.nnstt1.dev を登録しました。 本ブログは Azure Static Web Apps でホスティングしているため、そちらで自動生成された名前を使用しています。

$ az network dns record-set cname set-record \
    --cname zealous-cliff-044f6fa00.1.azurestaticapps.net. \
    --record-set-name blog \
    --resource-group $RG_NAME \
    --zone-name nnstt1.dev

NS レコードと同じように登録されたか確認します。

$ az network dns record-set cname list \
  --resource-group $RG_NAME \
  --zone-name nnstt1.dev \
  --out table \
  --query '[].{FQDN:fqdn, CNAME:cnameRecord.cname}'

FQDN                     CNAME
----------------         ----------------------------------------------
blog.nnstt1.dev.  zealous-cliff-044f6fa00.1.azurestaticapps.net.

Azure DNS にレコードを登録できたら Google Domains でカスタムネームサーバを使用するように設定します。

委任の確認

nslookup などを使って SOA レコードを確認します。

$ nslookup -type=SOA nnstt1.dev
Server:         192.168.2.3
Address:        192.168.2.3#53

Non-authoritative answer:
nnstt1.dev
        origin = ns1-09.azure-dns.com
        mail addr = azuredns-hostmaster.microsoft.com
        serial = 1
        refresh = 3600
        retry = 300
        expire = 2419200
        minimum = 300

Authoritative answers can be found from:

Azure DNS ゾーンに登録されている SOA レコードと一致するため、委任できていることが確認できました。

おわりに

今回は Google Domains で購入したドメインを Azure DNS で管理できるように委任しました。 最近ブログに登録してなかったので短い内容でリハビリです。

次は cert-manager で Azure DNS をターゲットにした ACME の DNS-01 チャレンジを試す予定です。