MS_AzureDNS - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki

AzureのDNS

概要

Azure の DNS について。

詳細

DNSサービス

Azure DNS

補足(Azure の DNS は 3 種類ある): 本ページは主に
パブリック DNS ゾーン(インターネット向けの権威 DNS)を扱っているが、
実務では次の 3 つを区別する必要がある。

種別 用途 名前解決の範囲
Azure DNS パブリック ゾーン 独自ドメインの権威 DNS インターネット全体
Azure DNS プライベート ゾーン VNET 内での名前解決 リンクした VNET 内のみ
Azure 提供 DNS168.63.129.16 VM の既定の名前解決 VNET 内(自動登録)

このうち、プライベート ゾーンが現在の閉域構成で極めて重要である。
Private Endpoint を使うと、

【通常】 mydb.database.windows.net → パブリック IP(20.x.x.x)
【Private Endpoint 有効時】
         mydb.database.windows.net
           → CNAME → mydb.privatelink.database.windows.net
             → プライベート DNS ゾーンで解決 → 10.0.1.5(VNET 内の IP)

という段階を踏むため、
プライベート DNS ゾーン(privatelink.database.windows.net 等)を
作成し、VNET にリンクしていないと
パブリック IP に解決されてしまい、閉域化が機能しない

「Private Endpoint を作ったのに繋がらない/
閉域化したつもりが外に出ている」という事象は
ほぼ DNS の設定漏れである
Azure Private Endpoint)。

なお、168.63.129.16 は Azure の特殊な仮想 IP で、
DNS のほか DHCP、正常性プローブ、VM エージェントの通信に使われる
Azureの仮想マシン)。

その他

他社の DNS サービスも下記の用途に利用できる。

Public IPへのFQDN名付与

旧ポータルから(クラウドサービス)

補足(最新化): ここでいう「クラウドサービス」は
**Azure Cloud Services(クラシック)**であり、
ASM 世代の仕組みである(Azureの管理ポータルとARM API)。
2024 年 8 月に提供を終了しており、*.cloudapp.net
新規には使われない。歴史的な記録として読むのが適切である。

新ポータルから(パブリックIPアドレス)

  • 新仮想マシンでは
    • パブリック IP アドレスに DNS を設定できるようになった。
    • また、独自に GW を持てるようになった。
  • 利用ドメイン:「*.{DC 名}.cloudapp.azure.com」
  • 参考

補足: {DC名} はリージョン名であり、
実際には myvm.japaneast.cloudapp.azure.com のような形になる。
この DNS 名ラベルリージョン内で一意である必要がある。

実務上の要点は、

  • 動的パブリック IP でも FQDN は維持される
    (VM を割り当て解除して IP が変わっても、FQDN は追随する)、
  • したがって、IP を静的にせず FQDN で参照することで
    静的 IP の費用を避けられる

という点である。
ただし、証明書を FQDN に紐づける場合や、
外部のファイアウォールで送信元 IP を許可する場合は
静的 IP が必要になる。

DNSを利用

Azure DNSや、他社 DNS サービスを使用して任意の FQDN 名を付与可能。

補足(独自ドメインを Azure リソースに向ける方法): 実際には
リソースの種類によって使うレコードが異なる。

対象 推奨レコード 備考
VM(パブリック IP) A レコード IP を静的にする必要がある
VM(DNS 名ラベル) CNAME *.cloudapp.azure.com に向ける。IP 変動に強い
App Service CNAME(+ TXT で所有確認) apex(example.com)には A + TXT、または Alias レコード
Front Door / CDN CNAME

apex ドメイン(example.com のようにサブドメインが無いもの)は
CNAME を設定できない
(DNS の仕様)という制約があり、
ここでつまずくことが多い。

Azure DNS にはエイリアス レコードがあり、
apex に対して Azure リソース(パブリック IP、Front Door 等)を
直接指せる。他社 DNS では同等機能(ALIAS / ANAME)の有無を確認する必要がある。


Tags: 移行, インフラストラクチャ, クラウド, 通信技術, Azure

⚠️ **GitHub.com Fallback** ⚠️