Konfigurieren von BYOS für Application Insights Profiler for .NET und Momentaufnahmedebugger

Wenn Sie Application Insights Profiler for .NET oder Momentaufnahmedebugger verwenden, werden von Ihrer Anwendung generierte Artefakte standardmäßig über das öffentliche Internet in Azure Storage-Konten hochgeladen. Für diese Artefakte und Speicherkonten kontrolliert und übernimmt Microsoft die Kosten für Folgendes:

  • Verarbeitung und Analyse
  • Richtlinien zur Verschlüsselung von ruhenden Daten und zur Verwaltung der Lebensdauer

Wenn Ihre BYOS-Artefakte (Bring Your Own Storage) in ein Speicherkonto hochgeladen werden, das nur Sie steuern und bei dem nur Sie die Kosten abdecken:

  • Richtlinie zur Verschlüsselung von ruhenden Daten und Richtlinie zur Verwaltung der Lebensdauer
  • Netzwerkzugriff.

Hinweis

BYOS ist erforderlich, wenn Sie Azure Private Link oder kundenseitig verwaltete Schlüssel aktivieren.

In diesem Artikel lernen Sie Folgendes:

  • Gewähren Sie Diagnosediensten den Zugriff auf Ihr Speicherkonto.
  • Verknüpfen Sie das Speicherkonto mit der Application Insights-Ressource.
  • Erfahren Sie, wie auf Ihr Speicherkonto zugegriffen wird.

Voraussetzungen

  • Stellen Sie sicher, dass Sie Ihr Speicherkonto an demselben Ort erstellt haben wie Ihre Application Insights-Ressource.
  • Wenn Sie Private Link aktiviert haben, gestatten Sie die Verbindung mit unserem vertrauenswürdigen Microsoft-Dienst von Ihrem virtuellen Netzwerk aus.

Gewähren des Zugriffs auf Ihr Speicherkonto für Diagnosedienste

Ein BYOS-Speicherkonto wird mit einer Application Insights Ressource verknüpft. Erteilen Sie zunächst die Rolle Storage Blob Data Contributor der Microsoft Entra-Anwendung mit dem Namen Diagnostic Services Trusted Storage Access über die Seite Zugriffssteuerung (IAM) in Ihrem Speicherkonto.

  1. Wählen Sie Zugriffssteuerung (IAM) aus.

  2. Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus, um die Seite Rollenzuweisung hinzufügen zu öffnen.

  3. Weisen Sie die folgende Rolle zu.

    Einstellung Wert
    Role Mitwirkender an Storage-Blobdaten
    Zugriff zuweisen zu Benutzer, Gruppe oder Dienstprinzipal
    Member Diagnostic Services Trusted Storage Access (Diagnosedienste für vertrauenswürdigen Speicherzugriff)

    Screenshot: Seite „Rollenzuweisung“ im Azure-Portal.

    Nach der Zuweisung wird die Rolle im Abschnitt Rollenzuweisungen angezeigt. Screenshot, der den IAM-Bildschirm nach der Rollenzuweisung anzeigt.

Hinweis

Wenn Sie auch Private Link verwenden, ist ein weiterer Konfigurationsschritt erforderlich, um eine Verbindung mit unserem vertrauenswürdigen Microsoft-Dienst über Ihr virtuelles Netzwerk zuzulassen. Weitere Informationen finden Sie in der Dokumentation zur Sicherheit des Speichernetzwerks.

Sie haben drei Optionen zum Konfigurieren von BYOS für Diagnose auf Codeebene wie Profiler for .NET und Momentaufnahmedebugger:

  • Azure PowerShell-Cmdlets
  • Die Azure CLI
  • Azure-Ressourcen-Manager-Vorlagen

Bevor Sie beginnen, installieren Sie Azure PowerShell 4.2.0 oder höher.

  1. Installieren Sie die PowerShell-Erweiterung Application Insights.

    Install-Module -Name Az.ApplicationInsights -Force
    
  2. Melden Sie sich mit Ihrem Azure-Kontoabonnement an.

    Connect-AzAccount -Subscription "{subscription_id}"
    

    Weitere Informationen zur Anmeldung finden Sie in der Dokumentation zu Connect-AzAccount.

  3. Entfernen Sie alle vorherigen Speicherkonten, die mit Ihrer Application Insights-Ressource verknüpft sind.

    Muster:

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

    Beispiel:

    Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
    
  4. Verbinden Sie Ihr Speicherkonto mit Ihrer Application Insights-Ressource.

    Muster:

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

    Beispiel:

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

Problembehandlung

Behandeln Sie allgemeine Probleme bei der Konfiguration von BYOS.

Szenario: Das Vorlagenschema '{schema_uri}' wird nicht unterstützt

Sie haben einen Fehler ähnlich wie im folgenden Beispiel erhalten:

New-AzResourceGroupDeployment : 11:53:49 AM - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'Template schema
'https://schema.management.azure.com/schemas/2020-01-01/deploymentTemplate.json#' is not supported. Supported versions are
'2014-04-01-preview,2015-01-01,2018-05-01,2019-04-01,2019-08-01'. Please see https://aka.ms/arm-template for usage details.'.

Lösungen

  • Stellen Sie sicher, dass die Eigenschaft $schema der Vorlage gültig ist. Er muss diesem Muster entsprechen:

    https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
    
  • Vergewissern Sie sich, dass sich die schema_version der Vorlage innerhalb der gültigen Werte befindet: 2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01.

Szenario: Für den Ort '{location}' wurde kein registrierter Ressourcenanbieter gefunden

Sie haben einen Fehler ähnlich wie im folgenden Beispiel erhalten:

New-AzResourceGroupDeployment : 6:18:03 PM - Resource microsoft.insights/components 'byos-test-westus2-ai' failed with message '{
  "error": {
    "code": "NoRegisteredProviderFound",
    "message": "No registered resource provider found for location 'westus2' and API version '2020-03-01-preview' for type 'components'. The supported api-versions are '2014-04-01,
2014-08-01, 2014-12-01-preview, 2015-05-01, 2018-05-01-preview'. The supported locations are ', eastus, southcentralus, northeurope, westeurope, southeastasia, westus2, uksouth,
canadacentral, centralindia, japaneast, australiaeast, koreacentral, francecentral, centralus, eastus2, eastasia, westus, southafricanorth, northcentralus, brazilsouth, switzerlandnorth,
australiasoutheast'."
  }
}'

Lösungen

  • Vergewissern Sie sich, dass die apiVersion der Ressource microsoft.insights/components den Wert 2015-05-01 aufweist.
  • Vergewissern Sie sich, dass die apiVersion der Ressource linkedStorageAccount den Wert 2020-03-01-preview aufweist.

Szenario: Speicherort des Speicherkontos muss mit dem Application Insights-Komponentenspeicherort übereinstimmen

Sie haben einen Fehler ähnlich wie im folgenden Beispiel erhalten:

New-AzResourceGroupDeployment : 1:01:12 PM - Resource microsoft.insights/components/linkedStorageAccounts 'byos-test-centralus-ai/serviceprofiler' failed with message '{
  "error": {
    "code": "BadRequest",
    "message": "Storage account location should match AI component location",
    "innererror": {
      "trace": [
        "System.ArgumentException"
      ]
    }
  }
}'

Lösung

Stellen Sie sicher, dass der Ort der Application Insights-Ressource mit dem des Speicherkontos identisch ist.

Häufig gestellte Fragen

Dieser Abschnitt enthält Antworten auf häufig gestellte Fragen zum Konfigurieren von BYOS für .NET Profiler und Momentaufnahmedebugger.

Wenn ich den .NET Profiler/Momentaufnahmedebugger und BYOS aktiviert habe, werden meine Daten dann in mein Speicherkonto migriert?

Nein, das ist nicht der Fall.

Funktioniert BYOS zusammen mit der Verschlüsselung ruhender Daten und einem kundenseitig verwalteten Schlüssel?

Ja. Um genau zu sein, ist BYOS erforderlich, um den .NET Profiler/Momentaufnahmedebugger mit kundenseitig verwalteten Schlüsseln zu aktivieren.

Funktioniert BYOS in einer Umgebung, die vom Internet isoliert ist?

Ja. BYOS ist für Szenarien mit isoliertem Netzwerk erforderlich.

Ja, das ist möglich.

Kann ich zum Speichern meiner gesammelten Daten wieder die Speicherkonten der Diagnosedienste verwenden, auch wenn ich BYOS aktiviert habe?

Ja, das können Sie, aber wir unterstützen derzeit keine Datenmigration von Ihrem BYOS.

Ja.

Wie erfolgt der Zugriff auf mein Speicherkonto?

  1. Agents, die auf Ihren virtuellen Computern oder in Azure App Service ausgeführt werden, laden Artefakte (Profile, Momentaufnahmen und Symbole) in BLOB-Container in Ihrem Konto hoch.

    Dabei wird vom .NET Profiler oder Momentaufnahmedebugger ein Shared Access Signature(SAS)-Token für ein neues BLOB in Ihrem Speicherkonto abgerufen.

  2. Der .NET Profiler oder Momentaufnahmedebugger:

    • Analysiert das eingehe Blob.
    • Die Analyseergebnisse und Protokolldateien in einen Blobspeicher zurückschreiben.

    In Abhängigkeit von der verfügbaren Compute-Kapazität kann dieser Vorgang jederzeit nach dem Hochladen erfolgen.

  3. Wenn Sie die Profiler-Ablaufverfolgungen oder Momentaufnahme-Debugger-Analysen aufrufen, ruft der Dienst die Analyseergebnisse aus dem BLOB-Speicher ab.

Nächste Schritte