針對受控 Prometheus 和 Azure 監視器工作區使用私人端點
使用受控 Prometheus 和 Azure 監視器工作區的私人端點,以允許虛擬網路 (VNet) 上的用戶端透過 Private Link 安全地查詢資料。 私人端點會在 Azure 監視器工作區資源的 VNet 位址空間內使用個別的 IP 位址。 VNet 上的用戶端與工作區資源之間的網路流量,會周遊 VNet 和 Microsoft 骨幹網路上的私人連結,以消除在公用網際網路上公開的風險。
注意
如果您使用 Azure 受控 Grafana 來查詢資料,請設定受控私人端點,以確保從受控 Grafana 到 Azure 監視器工作區的查詢是使用 Microsoft 骨幹網路 (而不是透過網際網路)。
將私人端點用於工作區,可讓您:
- 藉由設定公用存取網路設定來封鎖工作區公用查詢端點上的所有連線,以保護工作區。
- 提高 VNet 的安全性,方法是讓您可以封鎖 VNet 中的資料外流。
- 搭配使用 VPN 或 ExpressRoutes 與私人對等互連,安全地從連線至 VNet 的內部部署網路連線到工作區。
概念概觀
私人端點是您虛擬網路 (VNet) 中的 Azure 資源適用的特殊網路介面。 當您為工作區建立私人端點時,該端點會在 VNet 上的用戶端與工作區之間提供安全的連線。 私人端點獲指派的 IP 位址來自您 VNet 的 IP 位址範圍。 私人端點與工作區之間的連線會使用安全的私人連結。
VNet 中的應用程式可以順暢地透過私人端點連線到工作區,方法為使用相同的連接字串,以及這些字串將另外使用的授權機制。
私人端點可以在使用服務端點的子網路中建立。 子網路中的用戶端可以使用私人端點連線至工作區,同時使用服務端點存取其他服務。
在 VNet 中為工作區建立私人端點時,將會傳送同意要求給工作區帳戶擁有者進行核准。 如果要求建立私人端點的使用者也是工作區的擁有者,則系統會自動核准此同意要求。
Azure 監視器工作區擁有者可以透過 Azure 入口網站中工作區 [網路] 頁面上的 [私人存取] 索引標籤,來管理同意要求和私人端點。
提示
如果您想要僅透過私人端點限制對工作區的存取,請在 Azure 入口網站中工作區 [網路] 頁面上 [公用存取] 索引標籤,選取 [停用公用存取並使用私人存取]。
建立私人端點
若要使用 Azure 入口網站、PowerShell 或 Azure CLI 來建立私人端點,請參閱以下文章。 這些文章說明作為目標服務的 Azure Web 應用程式,但為 Azure 監視器工作區建立私人連結的步驟是相同的。
當您建立私人端點時,請從基本索引標籤的下拉式清單中選取下列選項:
- 資源類型:選取
Microsoft.Monitor/accounts
。 指定要連接的 Azure 監視器工作區。 - 目標子資源:選取
prometheusMetrics
。
使用下列文章建立私人端點:
連線到私人端點
使用私人端點的 VNet 用戶端在連線至公用端點時,應將相同的查詢端點用於 Azure 監視器工作區。 我們依賴 DNS 解析,透過私人連結自動將來自 VNet 的連線路由至工作區。
依預設,我們會建立一個附加至 VNet 的私人 DNS 區域,並對私人端點進行必要的更新。 不過,如果您使用的是自己的 DNS 伺服器,則可能需要對 DNS 組態進行額外的變更。 下列 DNS 變更一節描述私人端點所需的更新。
私人端點的 DNS 變更
注意
如需如何為私人端點進行 DNS 設定的詳細資訊,請參閱 Azure 私人端點 DNS 設定。
建立私人端點後,工作區的 DNS CNAME 資源記錄會更新為首碼為 privatelink
之子網域中的別名。 根據預設,我們也會建立對應至 privatelink
子網域的私人 DNS 區域,以及私人端點的 DNS A 資源記錄。
從使用私人端點的 VNet 外部解析查詢的端點 URL 時,其會解析為工作區的公用端點。 從裝載私人端點的 VNet 解析時,查詢端點 URL 會解析為私人端點的 IP 位址。
針對下列範例,我們使用的是位於美國東部區域的 k8s02-workspace
。 資源名稱不保證是唯一的,我們需要在名稱後面新增幾個字元,使 URL 路徑是唯一的;例如,k8s02-workspace-<key>
。 此唯一查詢端點會顯示在 Azure 監視器工作區 [概觀] 頁面上。
從裝載私人端點的 VNet 外部解析後,Azure 監視器工作區的 DNS 資源記錄是:
名稱 | 類型 | 值 |
---|---|---|
k8s02-workspace-<key>.<region>.prometheus.monitor.azure.com |
CNAME | k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.com |
k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.com |
CNAME | <AMW 區域服務公用端點> |
<AMW 區域服務公用端點> | A | <AMW 區域服務公用 IP 位址> |
如前所述,您可以使用工作區 [網路] 頁面上的 [公用存取] 索引標籤,來拒絕或控制透過公用端點對 VNet 外部的用戶端進行的存取。
由裝載私人端點的 VNet 中的用戶端解析時,「k8s02-workspace」的 DNS 資源記錄為:
名稱 | 類型 | 值 |
---|---|---|
k8s02-workspace-<key>.<region>.prometheus.monitor.azure.com |
CNAME | k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.com |
k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.com |
A | <私人端點 IP 位址> |
此方法可讓您將相同的查詢端點用於裝載私人端點的 VNet 中的用戶端,以及該 VNet 外部的用戶端,以存取工作區。
如果您在網路上使用自訂 DNS 伺服器,用戶端必須能夠將工作區查詢端點的 FQDN 解析為私人端點 IP 位址。 您應設定 DNS 伺服器,以將私人連結子網域委派給 VNet 的私人 DNS 區域,或為具有私人端點 IP 位址的 k8s02-workspace
設定 A 記錄。
提示
使用自訂或內部部署 DNS 伺服器時,您應設定 DNS 伺服器,以將 privatelink
子網域中的工作區查詢端點解析為私人端點 IP 位址。 若要這麼做,您可以將 privatelink
子網域委派給 VNet 的私人 DNS 區域,或在 DNS 伺服器上設定 DNS 區域,然後新增 DNS A 記錄。
Azure 監視器工作區私人端點的建議 DNS 區域名稱為:
資源 | 目標子資源 | 區域名稱 |
---|---|---|
Azure 監視器工作區 | prometheusMetrics | privatelink.<region>.prometheus.monitor.azure.com |
如需有關設定您自己的 DNS 伺服器以支援私人端點的詳細資訊,請參閱下列文章:
定價
如需價格詳細資料,請參閱 Azure Private Link 價格。
已知問題
請記住下列與 Azure 監視器工作區私人端點有關的已知問題。
具有私人端點的 VNet 中,用戶端的工作區查詢存取條件約束
具有現有私人端點的 VNet 中,用戶端在存取其他具有私人端點的 Azure 監視器工作區時,會面臨條件限制。 例如,假設 VNet N1 擁有工作區 A1 適用的私人端點。 如果工作區 A2 在 VNet N2 中有私人端點,則 VNet N1 中的用戶端也必須使用私人端點來查詢帳戶 A2 中的工作區資料。 如果工作區 A2 未設定任何私人端點,則 VNet N1 中的用戶端可以從該工作區查詢資料,而不需要私人端點。
此條件約束是工作區 A2 建立私人端點時所做的 DNS 變更所產生的。