共用方式為


為適用於 .NET 的 Application Insights Profiler 和快照偵錯工具設定自備儲存體 (BYOS)

當您使用Application Insights Profiler for .NETSnapshot Debugger時,您的應用程式所產生的成品預設會透過公用網際網路上傳至 Azure 儲存帳戶。 針對這些項目和儲存帳戶,Microsoft 負責此費用的控管與支付:

  • 處理和分析。
  • 待用加密和存留期管理原則。

同時,當您「自備儲存體」(BYOS) 時,成品會上傳至僅由您控制及支付以下費用的儲存體帳戶:

  • 待用加密原則和存留期管理原則。
  • 網路存取:

附註

如果您要啟用 Azure Private Link 或客戶自控金鑰,則需要 BYOS。

在本指南中,您將了解如何:

  • 授予診斷服務對您的儲存帳戶的存取權。
  • 連結儲存體帳戶和 Application Insights 資源。
  • 了解如何存取您的儲存帳戶。

必要條件

  • 確認已在與您 Application Insights 資源相同的位置建立儲存體帳戶。
  • 如果您已啟用 Private Link,請允許從虛擬網路連線至信任Microsoft服務。

授予診斷服務存取您儲存帳戶的權限

BYOS 儲存體帳戶會連結到 Application Insights 資源。 首先,透過儲存體帳戶中的 [存取控制 (IAM)] 頁面,將 Storage Blob Data Contributor 角色授與名為 Diagnostic Services Trusted Storage Access 的 Microsoft Entra 應用程式。

  1. 選取 [存取控制 (IAM)]

  2. 選取 [新增]> [新增角色指派],開啟 [新增角色指派] 頁面。

  3. 指派下列角色。

    設定
    角色 儲存體 Blob 資料參與者
    存取權指派對象 使用者、群組或服務主體
    成員 診斷服務信任的儲存體存取

    顯示 Azure 入口網站中角色指派頁面的螢幕快照。

    指派之後,您可以在 [角色指派] 區段底下看到該角色。 顯示角色指派之後 IAM 畫面的螢幕快照。

附註

如果您也使用 Private Link,則需要一個額外的設定,以允許從虛擬網路連線到信任的 Microsoft 服務。 如需詳細資訊,請參閱 記憶體網路安全性檔

您有三個選項可用來設定 BYOS 進行程式碼層級診斷,例如 .NET Profiler 和快照調試程式:

  • Azure PowerShell Cmdlet
  • Azure CLI
  • Azure Resource Manager 範本

開始之前, 請先安裝 Azure PowerShell 4.2.0 或更新版本

  1. 在 PowerShell 終端機中,安裝 Application Insights PowerShell 擴充功能。

    Install-Module -Name Az.ApplicationInsights -Force
    
  2. 使用 Azure 帳戶訂閱帳戶登入。

    Connect-AzAccount -Subscription "{subscription_id}"
    

    如需如何登入的詳細資訊,請參閱 Connect-AzAccount 檔

  3. 移除先前連結至 Application Insights 資源的任何儲存體帳戶。

    模式:

    Get-AzApplicationInsights -ResourceGroupName "{resource_group_name}" -Name "{application_insights_name}" | Remove-AzApplicationInsightsLinkedStorageAccount
    

    範例:

    Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
    
  4. 連接儲存體帳戶與 Application Insights 資源。

    模式:

    $storageAccount = Get-AzStorageAccount -ResourceGroupName "{resource_group_name}" -Name "{storage_account_name}"
    New-AzApplicationInsightsLinkedStorageAccount -Name "{application_insights_name}" -LinkedStorageAccountResourceId $storageAccount.Id
    

    範例:

    $storageAccount = Get-AzStorageAccount -ResourceGroupName "byos-test" -Name "byosteststoragewestus2"
    New-AzApplicationInsightsLinkedStorageAccount -Name "byos-test-westus2-ai" -LinkedStorageAccountResourceId $storageAccount.Id
    

疑難排解

如需針對 BYOS 進行疑難排解的協助,請參閱下列項目的專用疑難排解文件:

常見問題集

本節解答了設定 BYOS 以使用 .NET Profiler 和快照除錯器的常見問題。

如果我啟用 .NET Profiler/Snapshot Debugger 和 BYOS,我的數據是否會遷移至我的記憶體帳戶?

否,資料不會移轉。

BYOS 是否能與靜態加密和客戶管理的金鑰相容?

是。 準確來說,BYOS 是啟用 .NET Profiler/Snapshot Debugger 並使用客戶管理員密鑰的必要條件。

BYOS 是否可在與網際網路隔離的環境中運作?

是。 BYOS 可在隔離的網路情況中使用。

是,可以的。

如果我已啟用 BYOS,是否可使用診斷服務儲存體帳戶來儲存所收集的資料?

是,您可以進行此動作,但目前不支援從 BYOS 進行資料移轉。

是。

如何存取我的儲存體帳戶?

  1. 在虛擬機器或 Azure App Service 中執行的代理程式,會將成品 (設定檔、快照集和符號) 上傳至帳戶中的 Blob 容器。

    此流程包含連絡 .NET Profiler 或快照偵錯工具,以在儲存體帳戶中取得新 Blob 的共用存取簽章權杖。

  2. .NET Profiler 或 快照偵錯器:

    • 分析傳入的 Blob。
    • 將分析結果和記錄檔寫回 Blob 儲存體。

    視可用的計算容量而定,系統可能會在上傳作業完成後隨時進行此流程。

  3. 當您檢視 Profiler 追蹤或快照偵錯工具分析時,服務會從 Blob 儲存體擷取分析結果。

下一步