Azure Private DNSとは、仮想ネットワーク内で独自ドメインの利用を可能にする”内部DNSサーバー”をフルマネージドサービスとして提供します。
“Private DNS”とリンクした仮想ネットワーク上のVMからのみ参照可能となります。
また、リンク済み仮想ネットワーク上のVMをAレコードに自動登録する機能があり、逆引きも可能となる。
“Private DNS” と “Public DNS”で同じドメインを指定可能。仮想ネットワーク側から引いた場合と、Internet側から引いた場合で別々のIP Addressを返答させる事が可能です。
基本動作を見てみましょう!
①VMから”www.cloudou.net”の名前解決を”Azure Provided DNS”に問い合わせる。
②”Azure Provided DNS”では名前解決ができないので、[cloudou.net]のネームサーバーである”Private DNS”に問い合わせる。
③”Private DNS”は[www.cloudou.net]の名前解決を行い”Azure Provided DNS”に返答する
※リンク済み仮想ネットワークからの問合せのみ有効
【対応レコード】
[A / AAAA / CNAME / MX / PTR / SOA / SRV / TXT]
【作成上限】
・サブスクリプションあたりのPrivate DNS Zone 数:1,000
・Private DNS Zone あたりのレコードセット数:25,000
・Private DNS Zone 内のレコードセット内のレコード数:20
・Private DNS Zone あたりの仮想ネットワークリンク数:1,000
・自動登録が有効な Private DNS Zone あたりの仮想ネットワークリンク数:100
・自動登録が有効化された仮想ネットワークがリンク可能なPrivate DNS Zoneの数:1
・仮想マシンあたり、送信可能なDNSクエリの数:500/sec
・仮想マシンあたり、保留可能なDNSクエリ キュー数:200
オンプレミス上からPrivate DNSに対して名前解決を行う方法
PaaSに接続するためにPrivate Endpointを利用する場合があると思いますが、この場合オンプレミスからは接続できません。理由はオンプレミスから、Private DNSで名前解決が行えないからです。今までは、Azure上にDNS Forwaderを立てるのが一般的でしたが、これからは、Azure FirewallのDNS Proxy機能を利用する事で接続が行えます。
オンプレミスDNSにて(条件付き)ForwaderとしてAzure Firewallを指定します。
それでは、やってみよう!!
[+新規]ー[検索:private dns zone]ー[DNSゾーン]を選択
サブスクリプション:Azureサービスの提供範囲
リソースグループ:グループ名(複数のリソースを1つにグループ化する機能)
名前:ゾーン名となる ※[.local]ドメイン禁止
リソースグループの場所:デプロイするAzureのリージョン
[仮想ネットワーク リンク]ー[追加]を選択
リンク名:表示名
サブスクリプション:Azureサービスの提供範囲
仮想ネットワーク:”Private DNS”と紐付ける仮想ネットワークを選択
自動登録を有効にする:紐付けた仮想ネットワーク上のVMをDNSに自動登録する
[レコードセット]を選択
名前:※ワイルドカードも使用可能
種類:[A / AAAA / CNAME / MX / PTR / SOA / SRV / TXT]
TTL:キャッシュ有効期限
IPアドレス: ←選択した[種類]により変化します。
試しに、VMから名前解決をすると、きちんと返してくれます。