Configurer BYOS pour Application Insights Profiler pour .NET et le Débogueur de capture instantanée

Lorsque vous utilisez Application Insights Profiler pour .NET ou le Débogueur de capture instantanée, les artefacts générés par votre application sont chargés par défaut dans des comptes de stockage Azure via l’Internet public. Pour ces artefacts et comptes de stockage, Microsoft maîtrise et couvre le coût pour :

  • Le traitement et l’analyse.
  • Les stratégies de chiffrement au repos et de gestion de la durée de vie.

Entre-temps, lorsque vous activez BYOS (apportez votre propre stockage), les artefacts sont chargés dans un compte de stockage que vous seul contrôlez et pour lequel vous payez :

  • Stratégie de chiffrement au repos et stratégie de gestion de la durée de vie.
  • Accès au réseau.

Remarque

BYOS est requis si vous activez Azure Private Link ou des clés gérées par le client.

Dans ce guide, vous apprendrez comment :

  • Accorder l’accès aux Services de diagnostic à votre compte de stockage.
  • Reliez votre compte de stockage à votre ressource Application Insights.
  • Découvrez comment accéder à votre compte de stockage.

Prérequis

  • Confirmez que vous avez créé votre compte de stockage au même emplacement que votre ressource Application Insights.
  • Si Private Link est activé, autorisez la connexion à notre service Microsoft approuvé à partir de votre réseau virtuel.

Accorder l’accès aux Services de diagnostic à votre compte de stockage

Un compte de stockage BYOS est lié à une ressource Application Insights. Commencez par accorder le rôle Storage Blob Data Contributor à l’application Microsoft Entra, appelée Diagnostic Services Trusted Storage Access, via la page Access Control (IAM) de votre compte de stockage.

  1. Sélectionnez Contrôle d’accès (IAM).

  2. Sélectionnez Ajouter>Ajouter une attribution de rôle pour ouvrir la page Ajouter une attribution de rôle.

  3. Attribuez le rôle suivant.

    Paramètre Valeur
    Role Contributeur aux données Blob du stockage
    Attribuer l’accès à Utilisateur, groupe ou principal de service
    Membres Accès de stockage approuvé des services de diagnostic

    Capture d’écran montrant la page des attributions de rôles dans le Portail Azure.

    Une fois attribué, vous pouvez voir le rôle sous la section Attributions de rôles. Capture d’écran montrant l’écran IAM après des attributions de rôles.

Notes

Si vous utilisez également Private Link, une configuration supplémentaire est nécessaire pour permettre la connexion à notre service Microsoft approuvé à partir de votre réseau virtuel. Si vous souhaitez obtenir plus d’informations, consultez la Documentation sur la sécurité réseau du stockage.

Vous disposez de trois options pour configurer BYOS pour les diagnostics au niveau du code, comme le Profiler .NET et le Débogueur de capture instantanée :

  • Applets de commande Azure PowerShell
  • L’interface de ligne de commande Azure
  • Modèles Microsoft Azure Resource Manager

Avant de commencer, installez Azure PowerShell 4.2.0 ou une version ultérieure.

  1. Installez l’extension Application Insights PowerShell.

    Install-Module -Name Az.ApplicationInsights -Force
    
  2. Connectez-vous à votre compte Azure.

    Connect-AzAccount -Subscription "{subscription_id}"
    

    Si vous souhaitez obtenir plus d’informations sur la façon de vous connecter, consultez la documentation Connect-AzAccount.

  3. Supprimez le précédent compte de stockage lié à votre ressource Application Insights.

    Modèle :

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

    Exemple :

    Get-AzApplicationInsights -ResourceGroupName "byos-test" -Name "byos-test-westus2-ai" | Remove-AzApplicationInsightsLinkedStorageAccount
    
  4. Connectez votre Compte de stockage à votre ressource Application Insights.

    Modèle :

    $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
    

    Exemple :

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

Résolution des problèmes

Résolvez des problèmes courants dans la configuration de BYOS.

Scénario : le schéma de modèle « {schema_uri} » n’est pas pris en charge

Vous avec reçu une erreur similaire à l’exemple suivant :

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.'.

Solutions

  • Assurez-vous que la propriété $schema du modèle est valide. Il doit suivre ce modèle :

    https://schema.management.azure.com/schemas/{schema_version}/deploymentTemplate.json#
    
  • Assurez-vous que la schema_version du modèle est comprise dans les valeurs valides : 2014-04-01-preview, 2015-01-01, 2018-05-01, 2019-04-01, 2019-08-01.

Scénario : aucun fournisseur de ressources inscrit pour l’emplacement « {location} » n’a été trouvé

Vous avec reçu une erreur similaire à l’exemple suivant :

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'."
  }
}'

Solutions

  • Assurez-vous que la apiVersion de la ressource microsoft.insights/components est 2015-05-01.
  • Assurez-vous que la apiVersion de la ressource linkedStorageAccount est 2020-03-01-preview.

Scénario : l’emplacement du compte de stockage doit correspondre à l’emplacement du composant Application Insights

Vous avec reçu une erreur similaire à l’exemple suivant :

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"
      ]
    }
  }
}'

Solution

Veillez à ce que l’emplacement de la ressource Application Insights soit le même que celui du compte de stockage.

Forum aux questions

Cette section fournit des réponses aux questions courantes sur la configuration de BYOS pour Profiler .NET et le Débogueur de capture instantanée.

Si j’ai activé le Profiler .NET/Débogueur de capture instantanée et BYOS, mes données sont-elles migrées vers mon compte de stockage ?

Non, elles ne le seront pas.

Le modèle BYOS utilise-t-il un chiffrement au repos et des clés gérées par le client ?

Oui. Pour être plus précis, BYOS est une exigence pour activer le Profiler .NET/Débogueur de capture instantanée avec des clés gérées par le client.

BYOS fonctionne-t-il dans un environnement isolé d’Internet ?

Oui. BYOS est une exigence pour des scénarios de réseau isolé.

Oui, c’est possible.

Si j’ai activé la stratégie BYOS, puis-je revenir en arrière en utilisant des comptes de stockage des Services de diagnostic pour stocker mes données collectées ?

Oui, vous le pouvez, mais nous ne prenons pas en charge la migration des données à partir de votre BYOS pour l’instant.

Oui.

Comment accéder à mon compte de stockage ?

  1. Les agents s’exécutant sur vos machines virtuelles ou Azure App Service chargent des artefacts (profils, instantanés et symboles) dans des conteneurs d’objets blob de votre compte.

    Ce processus implique de contacter le service Profiler .NET ou Débogueur de capture instantanée pour obtenir un jeton de signature d’accès partagé à un nouvel objet blob dans votre compte de stockage.

  2. Le Profiler .NET ou Débogueur de capture instantanée :

    • Analyse le blob entrant.
    • Réécrit les résultats et les fichiers journaux de l’analyse dans le stockage Blob.

    En fonction de la capacité de calcul disponible, ce processus peut se produire à tout moment après le chargement.

  3. Lorsque vous affichez des traces du Profiler ou une analyse du Débogueur de capture instantanée, le service récupère les résultats de l’analyse dans le stockage d’objets blob.

Étapes suivantes