Azure Resource Graph 中的 私用 DNS 資訊
本文說明一些您可以使用 Azure Resource Graph Explorer 來檢視 Azure 私用 DNS 區域和記錄的相關信息。 提供一些範例查詢。
Azure Resource Graph (ARG) 是一項 Azure 服務,可讓您使用複雜的篩選、分組和排序來查詢 Azure 資源。 ARG 查詢會提供資源的詳細資訊,而且您可以透過數種方式顯示結果。
您可以顯示 DNS 區域的相關信息,包括:
- 一或所有區域中的資源記錄類型和數目
- 資源記錄名稱和IP位址的清單
- 虛擬網路連結
- 自動註冊的資源記錄
這是簡短的清單。 您可以查詢許多其他詳細數據。
dnsresources 數據表
若要在 Azure 入口網站 中使用 Resource Graph,請搜尋並選取 [Resource Graph 總管]。 在左側瀏覽窗格中,選取 [數據表 ] 索引卷標並檢閱 dnsresources 數據表。 此數據表可用來查詢私人 DNS 區域數據。 當您使用此資料表時,不會查詢公用 DNS 區域。
選取 dnsresources 以建立基本查詢,然後按兩下 [ 執行查詢 ] 以傳回結果。 請參閱下列範例:
若要將識別碼取代為顯示名稱,並在可能的情況下將值顯示為連結,請將 [格式化的結果] 切換為顯示右上角的 [開啟]。 若要檢視記錄的詳細資料,請向右卷動並選取 [查看詳細資料]。 上一個範例中顯示的前幾個記錄是 PTR 記錄(type = microsoft.network/privatednszones/ptr)。
依類型計算資源記錄
下列查詢會 使用 dnsresources 數據表,依類型提供所有私人區域的資源記錄計數:
dnsresources
| summarize count() by recordType = tostring(type)
查詢會計算目前訂用帳戶有權檢視的所有記錄。 您也可以選取 [圖表 ] 索引標籤,然後選取圖表類型,以可視化方式檢視計數。 以下是環圈圖的範例:
列出、篩選、搜尋和排序資源記錄
您可以藉由指定區域名稱、訂用帳戶標識碼、資源群組或記錄類型等參數來篩選查詢結果。 例如,下列範例查詢會針對指定的訂用帳戶和資源群組傳回區域中 的 A 或 CNAME 記錄清單 private.contoso.com 。 此查詢輸出類似於檢視私人區域,新增依名稱和類型篩選和排序結果的功能:
dnsresources
| where managedBy == "private.contoso.com"
| where subscriptionId == "<your subscription ID>"
| where resourceGroup == "<your resource group name>"
| where type in (
"microsoft.network/privatednszones/a",
"microsoft.network/privatednszones/cname"
)
| project name, type, properties
可以指定的記錄類型包括:a、aaaa、cname、mx、ptr、soa、srv 和 txt。
您也可以查詢特定 IP 位址或位址範圍。 下列查詢會傳回符合特定 IPv4 位址的私人 DNS 記錄:
dnsresources
| where properties['records'][0]['ipv4Address'] == "10.10.2.5"
| project name, type, resourceGroup, properties
規則運算式
Kusto 查詢語言也支援 正則表達式。 下列查詢會使用正則表達式來比對並列出指定私人 DNS 區域和指定訂用帳戶中的所有 IPv4 位址:
dnsresources
| where subscriptionId == "<your subscription ID>"
| where managedBy == "private.contoso.com"
| where properties matches regex @'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
| extend IP=extract_all(@'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:\/\d{1,2}){0,1})',tostring(properties))
| project name, IP, resourceGroup, properties
| mv-expand IP
| order by name
具有虛擬網路連結的區域
下列查詢會列出具有虛擬網路連結的所有私人 DNS 區域,並顯示自動註冊狀態。 此查詢會使用泛型資源數據表,而不是 dnsresources 數據表,並且只指定 privatednszones 的資源類型。
resources
| where subscriptionId == "<your subscription ID>"
| where ['type'] == "microsoft.network/privatednszones/virtualnetworklinks"
| extend registrationEnabled=(properties.registrationEnabled)
| project name, registrationEnabled, resourceGroup, properties
自動註冊的 DNS 記錄
下列查詢會列出自動註冊的 IPv4 私人 DNS 記錄:
dnsresources
| where subscriptionId == "<your subscription ID>"
| where isnull(properties.virtualNetworkId) == false
| extend linkname=(properties.virtualNetworkLinkName)
| extend ipaddress=properties['records'][0]['ipv4Address']
| project name, ipaddress, type, linkname, properties
下一步
- 了解如何在 DNS 區域中管理記錄集和記錄。