😀

Azure Public IP の逆引き DNS にカスタムドメインを設定してみた

に公開

背景と目的

別件の検証中に Azure Public IP のドキュメントを読んでいたら、ふと逆引き DNS にカスタムドメインって設定出来るんだっけ?と気になり、実際にやってみたらカスタムドメインを設定出来ちゃいました。逆引き DNS にカスタムドメインを設定する用途は、昔ならメール送信サーバーからのメールがスパム扱いにならないようにするためでした。Azure でメール送信と言えば SendGrid か Exchange Online を使っていたので、今までこの機能に気が付きませんでした。いつか自分の役に立つ日が来そうな予感がするので、検証結果を残しておきます。

検証用のリソースグループを作成

bash
# 環境変数をセットします
region=japaneast
prefix=mnrexample

# リソースグループを作成します
az group create \
  --name ${prefix}-rg \
  --location $region

事前に Public IP の CNAME レコードを Azure DNS に作成

bash
az network dns record-set cname set-record \
  --resource-group common-rg \
  --zone-name example.com \
  --ttl 300 \
  --record-set-name ${prefix} \
  --cname ${prefix}.$region.cloudapp.azure.com

Public IP を 逆引き DNS 付きで作成

bash
az network public-ip create \
  --resource-group ${prefix}-rg \
  --name ${prefix}-pip \
  --allocation-method Static \
  --sku Standard \
  --dns-name ${prefix} \
  --reverse-fqdn ${prefix}.example.com

Public IP の DNS 設定を確認

bash
az network public-ip show \
  --resource-group ${prefix}-rg \
  --name ${prefix}-pip \
  --query dnsSettings
{
  "domainNameLabel": "mnrexample",
  "fqdn": "mnrexample.japaneast.cloudapp.azure.com",
  "reverseFqdn": "mnrexample.example.com"
}

Public IP の 逆引きを試す

bash
pip=$(az network public-ip show \
  --resource-group ${prefix}-rg \
  --name ${prefix}-pip \
  --query ipAddress \
  --output tsv)

host $pip
177.47.89.20.in-addr.arpa domain name pointer mnrexample.example.com.

参考

bash
# 検証用のリソースグループを削除します
az group delete \
  --name ${prefix}-rg \
  --yes

# 検証用の CNAME レコードを削除します
az network dns record-set cname delete \
  --resource-group common-rg \
  --zone-name example.com \
  --name ${prefix} \
  --yes

https://docs.microsoft.com/ja-jp/azure/dns/dns-reverse-dns-for-azure-services

Discussion