共用方式為


設定 Azure 監視器的私人連結

本文提供使用 Azure 入口網站 建立和設定 Azure 監視器 Private Link 範圍 (AMPLS) 的逐步詳細數據。 本文中也包含使用 CLI、PowerShell 和 ARM 範本使用 AMPLS 的替代方法。

設定 Azure Private Link 的實例需要下列步驟。 下列各節會詳細說明這些步驟。

  • 建立 Azure 監視器 Private Link 範圍 (AMPLS)。
  • 將資源連線到 AMPLS。
  • 將 AMPLS 連線至私人端點。
  • 設定對 AMPLS 資源的存取。

本文會檢閱如何透過 Azure 入口網站完成設定。 其中提供 Azure Resource Manager 範本(ARM 範本) 範例來自動化程序。

  1. 從 Azure 入口網站 的 [監視] 功能表中,選取 [私人鏈接範圍],然後選取 [建立]。

    顯示建立和 Azure 監視器 Private Link 範圍選項的螢幕快照。

  2. 選取訂用帳戶和資源群組,並提供 AMPLS 有意義的名稱,例如 AppServerProdTelem

  3. 選取 [檢閱 + 建立]。

    此螢幕擷取畫面顯示建立 Azure 監視器私人連結範圍。

  4. 讓驗證通過並選取 [建立]

將資源連線到 AMPLS

  1. 從 AMPLS 的功能表中,選取 [Azure 監視器資源],然後選取 [新增]。

  2. 選取元件,然後選取 [ 套用 ] 將其新增至您的範圍。 只有 Azure 監視器資源,包括 Log Analytics 工作區、Application Insights 元件和數據收集端點 (DCE) 可供使用。

    此螢幕擷取畫面顯示選取範圍。

注意

刪除 Azure 監視器資源會要求您先將這些資源與其連線至的任何 AMPLS 物件中斷連線。 無法刪除連線至 AMPLS 的資源。

將 AMPLS 連線至私人端點

一旦資源連線到您的 AMPLS,您就可以建立私人端點來連線您的網路。

  1. 從 AMPLS 的功能表中,選取 [私人端點連線],然後選取 [私人端點]。 您也可以選取連線並選取 [核准],以核准這裡從私人連結中心啟動的連線。

    此螢幕擷取畫面顯示私人端點連線。

  2. [基本] 索引標籤

    1. 選取 [訂用帳戶] 和 [資源群組],然後輸入端點的 [名稱] 和 [網络介面名稱]。
    2. 選取應建立私人端點的區域。 該區域必須與所連線虛擬網路的區域相同。

    此螢幕擷取畫面顯示建立私人端點的基本索引標籤。

  3. 資源索引標籤

    1. 選取包含 Azure 監視器 Private Link 範圍資源的訂用帳戶。
    2. 在 [資源類型] 中選取 [Microsoft.insights/privateLinkScopes]
    3. 從 [ 資源 ] 下拉式清單中,選取您建立的私人鏈接範圍。

    此螢幕擷取畫面顯示 Azure 入口網站中的 [建立私人端點] 頁面,其中已選取 [資源] 索引標籤。

  4. 虛擬網絡 索引標籤

    1. 選取您想要連線到 Azure 監視器資源的虛擬網路子網
    2. 針對 私人端點的網路原則,如果您想要將網路安全組或路由表套用至包含私人端點的子網,請選取 [編輯 ]。 如需詳細資訊,請參閱管理私人端點的網路原則。
    3. 在 [私人 IP 設定] 中,預設會選取 [動態配置 IP 位址]。 如果您想要指派靜態 IP 位址,請選取 [靜態配置 IP 位址],然後輸入名稱和私人 IP。
    4. 選擇性地選取或建立 應用程式安全組。 您可以使用應用程式安全性群組來將虛擬機器分組,並根據這些群組定義網路安全性原則。

    此螢幕擷取畫面顯示 Azure 入口網站中的 [建立私人端點] 頁面,其中已選取 [虛擬網路] 索引標籤。

  5. DNS 索引 標籤

    1. 針對 [與私人 DNS 區域整合] 選取 [],這會自動建立新的私人 DNS 區域。 實際的 DNS 區域可能與下列螢幕擷取畫面中顯示的不同。

    注意

    如果您選取 [否],並偏好手動管理 DNS 記錄,請先完成設定您的私人連結。 請納入此私人端點和 AMPLS 設定,然後根據 Azure 私人端點 DNS 設定中的 指示來設定 DNS。 在準備您的私人連結設定時,請務必不要建立空白記錄。 您所建立的 DNS 記錄可以覆寫現有的設定,並影響您與 Azure 監視器的連線能力。

    不論您選取 [] 或 [否],而且您正在使用自己的自定義 DNS 伺服器,都必須為 Azure 私人端點 DNS 設定中所提及的公用 DNS 區域轉寄站設定條件式轉寄站。 條件式轉寄站必須將 DNS 查詢轉送至 Azure DNS

    此螢幕擷取畫面顯示 Azure 入口網站中的 [建立私人端點] 頁面,其中已選取 [DNS] 索引標籤。

  6. [檢閱 + 建立] 索引標籤

    1. 驗證通過之後,請選取 [ 建立]。

設定 AMPLS 資源的存取權

從 AMPLS 的功能表中,選取 [ 網路隔離 ] 來控制哪些網路可以透過私人連結連線到資源,以及其他網路是否可以連線到該網路。

此螢幕擷取畫面顯示網路隔離。

線上的 AMPLS

此畫面可讓您檢閱及設定資源與 AMPLS 的連線。 線上到 AMPLS 可讓來自連線虛擬網路的流量連線到資源。 其效果與從連線 Azure 監視器資源中所述的範圍進行連線相同。

若要新增連線,請選取 [新增],然後選取 AMPLS。 您的資源可以連線到五個 AMPLS 物件,如 AMPLS 限制中所述

虛擬網路存取組態

這些設定可控制從未連線到所列範圍的公用網路存取。 這包括對記錄、計量和即時計量數據流的存取。 它也包含以此數據為基礎的體驗,例如活頁簿、儀錶板、查詢 API 型用戶端體驗,以及 Azure 入口網站 中的深入解析。 在 Azure 入口網站外執行的體驗,以及查詢 Log Analytics 資料的體驗,也必須在私人連結的虛擬網路內執行。

  • 如果您將 [接受未透過私人連結範圍連線的公用網路的擷取] 設定為 [否],則連線範圍外的用戶端 (例如機器或 SDK) 無法上傳資料或傳送記錄至資源。
  • 如果您將 [接受未透過私人連結範圍連線的公用網路查詢] 設定為 [否],則連線範圍外的用戶端 (例如機器或 SDK) 無法查詢資源中的資料。

使用 CLI 使用 AMPLS

使用開放式存取模式建立 AMPLS

下列 CLI 命令會建立名為 "my-scope" 的新 AMPLS 資源,並將查詢和擷取存取模式設定為 Open

az resource create -g "my-resource-group" --name "my-scope" -l global --api-version "2021-07-01-preview" --resource-type Microsoft.Insights/privateLinkScopes --properties "{\"accessModeSettings\":{\"queryAccessMode\":\"Open\", \"ingestionAccessMode\":\"Open\"}}"

設定資源存取旗標

若要管理工作區或元件存取旗標,請在 az monitor log-analytics 工作區az monitor app-insights 元件上使用旗標 [--ingestion-access {Disabled, Enabled}][--query-access {Disabled, Enabled}]

使用 PowerShell 使用 AMPLS

建立 AMPLS

下列 PowerShell 指令碼會建立名為 "my-scope" 的新 AMPLS 資源,並將查詢存取模式設定為 Open,但擷取存取模式會設定為 PrivateOnly。 此設定表示其只允許擷取 AMPLS 中的資源。

# scope details
$scopeSubscriptionId = "ab1800bd-ceac-48cd-...-..."
$scopeResourceGroup = "my-resource-group"
$scopeName = "my-scope"
$scopeProperties = @{
    accessModeSettings = @{
        queryAccessMode     = "Open"; 
        ingestionAccessMode = "PrivateOnly"
    } 
}

# login
Connect-AzAccount

# select subscription
Select-AzSubscription -SubscriptionId $scopeSubscriptionId

# create private link scope resource
$scope = New-AzResource -Location "Global" -Properties $scopeProperties -ResourceName $scopeName -ResourceType "Microsoft.Insights/privateLinkScopes" -ResourceGroupName $scopeResourceGroup -ApiVersion "2021-07-01-preview" -Force

設定 AMPLS 存取模式

使用下列 PowerShell 程式代碼,在 AMPLS 建立之後,在您的 AMPLS 上設定存取模式旗標。

# get private link scope resource
$scope = Get-AzResource -ResourceType Microsoft.Insights/privateLinkScopes -ResourceGroupName $scopeResourceGroup -ResourceName $scopeName -ApiVersion "2021-07-01-preview"

# set access mode settings
$scope.Properties.AccessModeSettings.QueryAccessMode = "Open";
$scope.Properties.AccessModeSettings.IngestionAccessMode = "Open";
$scope | Set-AzResource -Force

ARM 範本

建立 AMPLS

下列 ARM 範本會執行下列動作:

  • 名為 "my-scope" 的 AMPLS,並將查詢和擷取存取模式設定為 Open
  • 名為 "my-workspace" 的 Log Analytics 工作區。
  • 將範圍資源新增至名為"my-workspace-connection""my-scope" AMPLS。
{
    "$schema": https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#,
    "contentVersion": "1.0.0.0",
    "parameters": {
        "private_link_scope_name": {
            "defaultValue": "my-scope",
            "type": "String"
        },
        "workspace_name": {
            "defaultValue": "my-workspace",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "microsoft.insights/privatelinkscopes",
            "apiVersion": "2021-07-01-preview",
            "name": "[parameters('private_link_scope_name')]",
            "location": "global",
            "properties": {
                "accessModeSettings":{
                    "queryAccessMode":"Open",
                    "ingestionAccessMode":"Open"
                }
            }
        },
        {
            "type": "microsoft.operationalinsights/workspaces",
            "apiVersion": "2020-10-01",
            "name": "[parameters('workspace_name')]",
            "location": "westeurope",
            "properties": {
                "sku": {
                    "name": "pergb2018"
                },
                "publicNetworkAccessForIngestion": "Enabled",
                "publicNetworkAccessForQuery": "Enabled"
            }
        },
        {
            "type": "microsoft.insights/privatelinkscopes/scopedresources",
            "apiVersion": "2019-10-17-preview",
            "name": "[concat(parameters('private_link_scope_name'), '/', concat(parameters('workspace_name'), '-connection'))]",
            "dependsOn": [
                "[resourceId('microsoft.insights/privatelinkscopes', parameters('private_link_scope_name'))]",
                "[resourceId('microsoft.operationalinsights/workspaces', parameters('workspace_name'))]"
            ],
            "properties": {
                "linkedResourceId": "[resourceId('microsoft.operationalinsights/workspaces', parameters('workspace_name'))]"
            }
        }
    ]
}

檢閱及驗證 AMPLS 組態

請遵循本節中的步驟來檢閱及驗證您的私人連結設定。

檢閱端點的 DNS 設定

本文中建立的私人端點應該已設定下列五個 DNS 區域:

  • privatelink.monitor.azure.com
  • privatelink.oms.opinsights.azure.com
  • privatelink.ods.opinsights.azure.com
  • privatelink.agentsvc.azure-automation.net
  • privatelink.blob.core.windows.net

其中每個區域都會從虛擬網路的 IP 集區將特定的 Azure 監視器端點對應至私人 IP。 下圖中顯示的IP位址只是範例。 您的設定應該改為顯示來自您自己網路的私人 IP。

privatelink-monitor-azure-com

此區域涵蓋 Azure 監視器所使用的全域端點,這表示可全域/地區提供要求的端點,而不是提供資源特定要求的端點。 此區域應有對應下列專案的端點:

  • in.ai:Application Insights 擷取端點 (全域和區域項目)。
  • api:Application Insights 和 Log Analytics API 端點。
  • live:Application Insights 即時計量端點。
  • profiler:適用於 .NET 端點的 Application Insights Profiler。
  • snapshot:Application Insights 快照集端點。
  • diagservices-query:適用於 .NET 和快照集調試程式的 Application Insights Profiler(用於存取分析工具/調試程式時產生的 Azure 入口網站)。

此區域也涵蓋下列 DCE 的資源特定端點:

  • <unique-dce-identifier>.<regionname>.handler.control:私人設定端點,屬於 DCE 資源的一部分。

  • <unique-dce-identifier>.<regionname>.ingest:私人擷取端點,屬於 DCE 資源的一部分。

    此螢幕擷取畫面顯示私人 DNS 區域 monitor-azure-com。

Log Analytics 端點

Log Analytics 使用下列四個 DNS 區域:

  • privatelink-oms-opinsights-azure-com:涵蓋與 OMS 端點的工作區特定對應。 您應該會看到一個項目,表示每個連結至 AMPLS (此私人端點連線) 的工作區。
  • privatelink-ods-opinsights-azure-com:涵蓋工作區特定的 ODS 端點對應,這是 Log Analytics 的擷取端點。 您應該會看到一個項目,表示每個連結至 AMPLS (此私人端點連線) 的工作區。
  • privatelink-agentsvc-azure-automation-net*:涵蓋與代理程式服務自動化端點的工作區特定對應。 您應該會看到一個項目,表示每個連結至 AMPLS (此私人端點連線) 的工作區。
  • privatelink-blob-core-windows-net:設定與全域代理程式解決方案套件記憶體帳戶的連線。 透過該連線,代理程式可以下載新的或更新的解決方案套件 (也稱為管理組件)。 不論使用多少個工作區,只需一個項目,即可處理所有 Log Analytics 代理程式。 此項目只會新增至在 2021 年 4 月 19 日或之後建立的私人連結設定 (或從 2021 年 6 月開始,在 Azure 主權雲端上建立的私人連結設定)。

下列螢幕擷取畫面顯示針對 AMPLS 對應的端點,在美國東部有兩個工作區,而在西歐有一個工作區。 請注意,美國東部工作區會共用 IP 位址。 西歐工作區端點會對應至不同的 IP 位址。 雖然 Blob 端點未出現在此映像中,但已設定。

此螢幕擷取畫面顯示私人連結壓縮端點。

驗證透過 AMPLS 的通訊

  • 若要驗證您的要求現在已透過私人端點傳送,請使用您的瀏覽器或網路追蹤工具來檢閱這些要求。 例如,嘗試查詢工作區或應用程式時,請確定要求會傳送至對應至 API 端點的私人 IP。 在此範例中為 172.17.0.9

    注意

    某些瀏覽器可能會使用其他 DNS 設定。 如需詳細資訊,請參閱瀏覽器 DNS 設定。 確定您的 DNS 設定適用。

  • 若要確定您的工作區或元件未從公用網路接收要求 (未透過 AMPLS 連線),請將資源的公用擷取和查詢旗標設定為 No,如設定對您資源的存取中所述。

  • 從受保護網路上的用戶端中,使用 nslookup 以查閱 DNS 區域中所列的任何端點。 DNS 伺服器應該將其解析為對應的私人 IP,而不是預設使用的公用 IP。

在本機測試

若要在本地測試私人連結而不影響到網路上的其他用戶端,請務必「不要」在建立私人端點時更新您的 DNS。 反之,請編輯機器上的主機檔案,以便將要求傳送至私人連結端點:

  • 設定私人連結,但當您連線到私人端點時,選擇不要自動與 DNS 整合。
  • 在機器的主機檔案上設定相關端點。

其他設定

網路子網路大小

最小支援的 IPv4 子網是 /27,使用 CIDR 子網定義。 雖然 Azure 虛擬網路可以小到 /29,但 Azure 會保留五個 IP 位址。 即使您連線到單一工作區,Azure 監視器私人連結設定仍需要至少 11 個 IP 位址。 檢閱您端點的 DNS 設定,取得 Azure 監視器私人連結端點的清單。

Azure 入口網站

若要使用 Application Insights、Log Analytics 和 DCE 的 Azure 監視器入口網站體驗,允許在專用網路上存取 Azure 入口網站 和 Azure 監視器延伸模組。 在您的網路安全性群組新增 AzureActiveDirectoryAzureResourceManagerAzureFrontDoor.FirstPartyAzureFrontdoor.Frontend服務標籤

程式存取

若要在私人網路上使用 REST API、Azure CLI 或具有 Azure 監視器的 PowerShell,請在防火牆新增服務標籤 AzureActiveDirectoryAzureResourceManager

瀏覽器 DNS 設定

如果您要透過私人連結連線到 Azure 監視器資源,這些資源的流量必須通過網路上設定的私人端點。 若要啟用私人端點,請更新 DNS 設定,如連線至私人端點中所述。 有些瀏覽器會使用自己的 DNS 設定,而不是您設定的 DNS 設定。 瀏覽器會嘗試連線到 Azure 監視器公用端點,並完全略過私人連結。 請確認您的瀏覽器設定不會覆寫或快取舊的 DNS 設定。

查詢限制:externaldata 運算子

  • 外部數據運算符不支援透過私人鏈接,因為它會從記憶體帳戶讀取數據,但不保證會私下存取記憶體。
  • Azure Data Explorer Proxy (ADX Proxy) 允許記錄查詢對 Azure Data Explorer 進行查詢。 私人連結不支援 ADX Proxy,因為其不保證可私下存取目標資源。

下一步

若要建立和管理私人連結範圍,請使用 REST APIAzure CLI (az monitor private-link-scope)