Gérer les coûts avec l’automatisation

Vous pouvez utiliser l’automatisation Cost Management pour créer un ensemble personnalisé de solutions pour récupérer et gérer les données de coût. Cet article présente des scénarios courants pour l’automatisation de Cost Management et les options disponibles en fonction de votre situation. Si vous souhaitez développer à l’aide d’API, des exemples de requêtes d’API communes sont présentés pour accélérer votre processus de développement.

Automatiser l’extraction de données de coût pour l’analyse hors connexion

Vous pouvez avoir besoin de télécharger vos données de coût Azure pour les fusionner avec d’autres jeux de données. Vous pouvez également vouloir intégrer les données de coût à vos propres systèmes. Différentes options sont disponibles en fonction de la quantité de données impliquées. Vous devez systématiquement disposer des autorisations Cost Management au niveau de l’étendue appropriée pour utiliser les API et les outils. Pour plus d’informations, consultez Affecter une autorisation d’accès aux données.

Suggestions pour la gestion des jeux de données volumineux

Si votre organisation dispose d’une présence Azure importante sur de nombreuses ressources ou abonnements, vous disposez d’une grande quantité de données de détails d’utilisation. Excel ne peut souvent pas charger de tels fichiers volumineux. Dans ce cas, nous vous recommandons d’utiliser les options suivantes :

Power BI

Power BI permet d’ingérer et de gérer de grandes quantités de données. Si vous êtes client d’un Contrat Entreprise, vous pouvez utiliser l’application de modèle Power BI pour analyser les coûts associés à votre compte de facturation. Le rapport contient les principales vues utilisées par les clients. Pour plus d’informations, consultez Analyser les coûts Azure avec l’application de modèle Power BI.

Connecteur de données Power BI

Si vous souhaitez analyser vos données quotidiennement, nous vous recommandons d’utiliser le connecteur de données Power BI pour obtenir des données en vue d’une analyse détaillée. Tous les rapports que vous créez sont mis à jour par le connecteur à mesure que des coûts supplémentaires s’accumulent.

Exportations Cost Management

Vous n’avez peut-être pas besoin d’analyser les données quotidiennement. Dans ce cas, envisagez d’utiliser la fonctionnalité Exportations de Cost Management pour planifier des exportations de données vers un compte de stockage Azure. Vous pouvez ensuite charger les données dans Power BI en fonction des besoins, ou les analyser dans Excel si le fichier est suffisamment petit. Les exportations sont disponibles dans le portail Azure ou vous pouvez configurer des exportations avec l’API Exportations.

API Détails d’utilisation

Envisagez d’utiliser l’API Détails d’utilisation si vous avez un petit jeu de données sur les coûts. Voici les meilleures pratiques recommandées :

  • Si vous souhaitez obtenir les données de coût les plus récentes, nous vous recommandons d’interroger au plus une fois par jour. Les rapports sont actualisés toutes les quatre heures. Si vous appelez plus fréquemment, vous recevrez des données identiques.
  • Une fois que vous avez téléchargé vos données de coût pour les factures historiques, les frais ne changent pas, sauf si vous êtes explicitement notifié. Nous vous recommandons de mettre en cache vos données de coût dans un magasin utilisable dans une requête afin d’éviter les appels répétés de données identiques.
  • Segmentez vos appels en petites plages de dates pour obtenir des fichiers plus gérables que vous pouvez télécharger. Par exemple, nous vous recommandons une segmentation par jour ou par semaine si vous avez des fichiers d’utilisation Azure volumineux de mois en mois.
  • Si vous avez des étendues avec une grande quantité de données d’utilisation (par exemple, un compte de facturation), envisagez d’effectuer plusieurs appels d’étendues enfants afin d’obtenir des fichiers plus gérables que vous pouvez télécharger.
  • Si la taille de votre jeu de données est supérieure à 2 Go de mois en mois, envisagez d’utiliser des exportations en guise de solution plus évolutive.

Automatiser la récupération avec l’API Détails d’utilisation

L’API Détails d’utilisation offre un moyen simple d’accéder à des données de coût brutes et non agrégées qui correspondent à votre facture Azure. L’API est utile lorsque votre organisation a besoin d’une solution d’extraction de données par programme. Envisagez d’utiliser l’API si vous souhaitez analyser des jeux de données de coût plus petits. Toutefois, vous devez utiliser d’autres solutions identifiées précédemment si vous avez des jeux de données plus volumineux. Les données de l’API Détails d’utilisation sont fournies par compteur et par jour. Elles sont utilisées lors du calcul de votre facture mensuelle. La version en disponibilité générale de l’API est 2019-10-01. Utilisez 2019-04-01-preview pour accéder à la préversion de la réservation et aux achats sur la Place de marché Azure avec les API.

Si vous souhaitez obtenir régulièrement de grandes quantités de données exportées, consultez Récupérer de grands jeux de données de coûts de façon récurrente avec des exportations.

Suggestions concernant l’API Détails d’utilisation

Planification des demandes

Nous vous recommandons d’envoyer une seule demande par jour à l’API Détails d’utilisation. Pour plus d’informations sur la fréquence à laquelle les données de coût sont actualisées et sur la façon dont l’arrondi est géré, consultez Présentation des données de gestion des coûts.

Cibler des étendues de niveau supérieur sans filtrage

Utilisez l’API pour récupérer toutes les données dont vous avez besoin à l’étendue ayant le niveau le plus élevé disponible. Attendez que toutes les données nécessaires soient ingérées avant de procéder à un filtrage, un regroupement ou une analyse agrégée. L’API est spécifiquement optimisée pour fournir de grandes quantités de données de coût brutes et non agrégées. Pour en savoir plus sur les étendues disponibles dans Cost Management, consultez Comprendre et utiliser des étendues. Une fois que vous avez téléchargé les données nécessaires pour une étendue, utilisez Excel pour analyser les données plus en détail avec les filtres et les tableaux croisés dynamiques.

Remarques concernant les prix

Si vous souhaitez rapprocher l’utilisation et les frais avec votre feuille de prix ou facture, consultez le comportement des prix dans les détails des coûts.

Une ressource unique peut avoir plusieurs enregistrements pour une seule journée.

Les fournisseurs de ressources Azure envoient les données d’utilisation et les frais dans le système de facturation et renseignent le champ Additional Info des enregistrements d’utilisation. Parfois, les fournisseurs de ressources peuvent envoyer les données d’utilisation pour un jour donné et marquer les enregistrements avec différents centres de données dans le champ Additional Info des enregistrements d’utilisation. Cela peut entraîner la présence de plusieurs enregistrements pour un compteur/une ressource dans votre fichier d’utilisation pour un même jour. Dans ce cas, vous n’êtes pas surfacturé. Les enregistrements multiples représentent le coût total du compteur pour la ressource ce jour.

Exemples de demandes envoyées à l’API Détails d’utilisation

Les exemples de demande suivants sont utilisés par les clients Microsoft pour résoudre les scénarios courants que vous pouvez rencontrer.

Obtenir les détails d’utilisation d’une étendue pendant une plage de dates spécifique

Les données retournées par la requête correspondent à la date à laquelle l’utilisation a été reçue par le système de facturation. Elles peuvent inclure des coûts issus de plusieurs factures. L’appel à utiliser varie en fonction de votre type d’abonnement.

Pour les clients hérités disposant d’un Accord Entreprise (EA) ou d’un abonnement avec paiement à l’utilisation, utilisez l’appel suivant :

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?$filter=properties%2FusageStart%20ge%20'2020-02-01'%20and%20properties%2FusageEnd%20le%20'2020-02-29'&$top=1000&api-version=2019-10-01

Pour les clients modernes disposant d’un Contrat client Microsoft, utilisez l’appel suivant :

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?startDate=2020-08-01&endDate=2020-08-05&$top=1000&api-version=2019-10-01

Notes

Le paramètre $filter n’est pas pris en charge par les contrats client Microsoft.

Recevoir des détails sur les coûts amortis

Si vous avez besoin de coûts réels pour afficher les achats au fur et à mesure qu’ils sont cumulés, remplacez la métrique par ActualCost dans la requête suivante. Pour utiliser les coûts amortis et réels, vous devez utiliser la version 2019-04-01-preview. La version actuelle de l’API fonctionne de la même façon que la version 2019-10-01, à l’exception du nouvel attribut type/metric et des noms de propriété modifiés. Si vous avez un Contrat client Microsoft, vos filtres sont startDate et endDate dans l’exemple suivant.

GET https://management.azure.com/{scope}/providers/Microsoft.Consumption/usageDetails?metric=AmortizedCost&$filter=properties/usageStart+ge+'2019-04-01'+AND+properties/usageEnd+le+'2019-04-30'&api-version=2019-04-01-preview

Automatiser les alertes et les actions à l’aide de budgets

Deux composants essentiels interviennent dans l’optimisation de la valeur de votre investissement dans le cloud. L’un d’eux est la création d’un budget automatique. L’autre consiste à configurer l’orchestration basée sur les coûts, en réponse aux alertes budgétaires. Il existe différentes façons d’automatiser la création d’un budget. Diverses réponses d’alerte se produisent lorsque les seuils d’alerte configurés sont dépassés.

Les sections suivantes traitent des options disponibles et fournissent des exemples de requêtes d’API pour vous aider à vous familiariser avec l’automatisation de budget.

Évaluation des coûts par rapport à votre seuil budgétaire

Vos coûts sont évalués par rapport à votre seuil budgétaire une fois par jour. Lorsque vous créez un budget ou à la date de réinitialisation de votre budget, les coûts comparés au seuil sont zéro/nuls, car l’évaluation n’a peut-être pas été effectuée.

Quand Azure détecte que vos coûts dépassent le seuil, une notification est déclenchée dans l’heure suivant la détection.

Afficher votre coût actuel

Pour afficher vos coûts actuels, vous devez effectuer un appel GET au moyen de l’API de requête.

Un appel GET à l’API Budgets ne retourne pas les coûts actuels affichés dans l’analyse des coûts. Au lieu de cela, l’appel retourne votre dernier coût évalué.

Automatiser la création d’un budget

Vous pouvez automatiser la création d’un budget au moyen de l’API Budgets. Vous pouvez également créer un budget avec un modèle de budget. Les modèles constituent un moyen simple de standardiser les déploiements Azure tout en veillant à ce que le contrôle des coûts soit correctement configuré et appliqué.

Paramètres régionaux pris en charge pour les e-mails d’alerte de budget

Avec Budgets, vous êtes alerté lorsque les coûts franchissent un seuil défini. Vous pouvez définir jusqu’à cinq destinataires par budget. Les destinataires reçoivent des alertes par e-mail dans les 24 heures suivant le dépassement du seuil budgétaire. Toutefois, votre destinataire peut avoir besoin de recevoir un e-mail dans une autre langue. Vous pouvez utiliser les codes de culture de langue suivants avec l’API Budgets. Définissez le code de culture avec le paramètre locale similaire à l’exemple suivant.

{
  "eTag": "\"1d681a8fc67f77a\"",
  "properties": {
    "timePeriod": {
      "startDate": "2020-07-24T00:00:00Z",
      "endDate": "2022-07-23T00:00:00Z"
    },
    "timeGrain": "BillingMonth",
    "amount": 1,
    "currentSpend": {
      "amount": 0,
      "unit": "USD"
    },
    "category": "Cost",
    "notifications": {
      "actual_GreaterThan_10_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 20,
        "locale": "en-us",
        "contactEmails": [
          "user@contoso.com"
        ],
        "contactRoles": [],
        "contactGroups": [],
        "thresholdType": "Actual"
      }
    }
  }
}

Langues prises en charge par un code de culture :

Code de culture Langage
fr-FR Anglais (États-Unis)
ja-jp Japonais (Japon)
zh-cn Chinois (simplifié, Chine)
de-de Allemand (Allemagne)
es-es Espagnol (Espagne, International)
fr-fr Français (France)
it-it Italien (Italie)
ko-kr Coréen (Corée)
pt-br Portugais (Brésil)
ru-ru Russe (Russie)
zh-tw Chinois (traditionnel, Taïwan)
cs-cz Tchèque (République tchèque)
pl-pl Polonais (Pologne)
tr-tr Turc (Turquie)
da-dk Danois (Danemark)
en-gb Anglais (Royaume-Uni)
hu-hu Hongrois (Hongrie)
nb-no Norvégien Bokmal (Norvège)
nl-nl Néerlandais (Pays-Bas)
pt-pt Portugais (Portugal)
sv-se Suédois (Suède)

Configurations courantes de l’API Budgets

Il existe de nombreuses manières de configurer un budget dans votre environnement Azure. Examinez d’abord votre scénario, puis identifiez les options de configuration qui l’activent. Passez en revue les options suivantes :

  • Fragment de temps  : représente la période récurrente utilisée par votre budget pour comptabiliser et évaluer les coûts. Les options les plus courantes sont Mensuel, Trimestriel et Annuel.
  • Durée : représente la durée de validité de votre budget. Le budget supervise activement et vous alerte uniquement tant qu’il est en cours de validité.
  • Notifications
    • E-mails de contact : les adresses e-mail reçoivent des alertes lorsqu’un budget comptabilise des coûts et dépasse les seuils définis.
    • Rôles de contact : tous les utilisateurs qui détiennent un rôle Azure correspondant sur l’étendue donnée reçoivent des alertes par e-mail avec cette option. Par exemple, les propriétaires d’abonnements peuvent recevoir une alerte pour un budget créé dans l’étendue de l’abonnement.
    • Groupes de contacts : le budget appelle les groupes d’actions configurés lorsqu’un seuil d’alerte est dépassé.
  • Filtres de dimension de coût : le filtrage que vous pouvez effectuer dans l’analyse des coûts ou l’API de requête peut également être effectué sur votre budget. Utilisez ce filtre pour réduire la plage des coûts que vous supervisez avec le budget.

Après avoir identifié les options de création de budget qui répondent à vos besoins, créez le budget à l’aide de l’API. L’exemple ci-dessous vous aide à vous familiariser avec une configuration de budget courante.

Créer un budget filtré sur plusieurs ressources et étiquettes

URL de requête : PUT https://management.azure.com/subscriptions/{SubscriptionId} /providers/Microsoft.Consumption/budgets/{BudgetName}/?api-version=2019-10-01

{
  "eTag": "\"1d34d016a593709\"",
  "properties": {
    "category": "Cost",
    "amount": 100.65,
    "timeGrain": "Monthly",
    "timePeriod": {
      "startDate": "2017-10-01T00:00:00Z",
      "endDate": "2018-10-31T00:00:00Z"
    },
    "filter": {
      "and": [
        {
          "dimensions": {
            "name": "ResourceId",
            "operator": "In",
            "values": [
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}",
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{meterName}"
            ]
          }
        },
        {
          "tags": {
            "name": "category",
            "operator": "In",
            "values": [
              "Dev",
              "Prod"
            ]
          }
        },
        {
          "tags": {
            "name": "department",
            "operator": "In",
            "values": [
              "engineering",
              "sales"
            ]
          }
        }
      ]
    },
    "notifications": {
      "Actual_GreaterThan_80_Percent": {
        "enabled": true,
        "operator": "GreaterThan",
        "threshold": 80,
        "contactEmails": [
          "user1@contoso.com",
          "user2@contoso.com"
        ],
        "contactRoles": [
          "Contributor",
          "Reader"
        ],
        "contactGroups": [
          "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}
        ],
        "thresholdType": "Actual"
      }
    }
  }
}

Configurer une orchestration basée sur les coûts pour les alertes budgétaires

Vous pouvez configurer des budgets pour démarrer des actions automatisées à l’aide des groupes d’actions Azure. Pour en savoir plus sur l’automatisation des actions à l’aide de budgets, consultez Automatisation avec les budgets.

Latence des données et limites du taux de transfert

Nous vous recommandons d’appeler les API au maximum une fois par jour. Les données Cost Management sont actualisées toutes les quatre heures au fur et à mesure que de nouvelles données d’utilisation sont reçues de la part des fournisseurs de ressources Azure. Des appels plus fréquents ne produisent pas de données supplémentaires. Au lieu de cela, la charge augmente.

Unités de traitement des requêtes de l’API de requête

En plus des processus de limitation de débit existants, l’API de requête limite le traitement en fonction du coût des appels d’API. Le coût d’un appel d’API est exprimé en unités de traitement de requête (QPU). QPU est une unité de performances, comme les unités de requête Cosmos DB. Elles extraient les ressources système telles que le processeur et la mémoire.

Calcul des QPU

Une QPU est déduite pour un mois de données interrogées à partir des quotas alloués. Cette logique peut changer sans préavis.

Facteurs de QPU

Le facteur suivant affecte le nombre de QPU consommées par une demande d’API.

  • Plage de dates : à mesure que la plage de dates dans la demande augmente, le nombre de QPU consommées augmente.

D’autres facteurs de QPU peuvent être ajoutés sans préavis.

Quotas de QPU

Les quotas suivants sont configurés par locataire. Les demandes sont limitées quand l’un des quotas suivants est épuisé.

  • 12 QPU par tranche de 10 secondes
  • 60 QPU par minute
  • 600 QPU par heure

Les quotas peuvent être modifiés en fonction des besoins et d’autres quotas peuvent être ajoutés.

En-têtes de réponse

Vous pouvez examiner les en-têtes de réponse pour suivre le nombre de QPU consommées par une demande d’API et le nombre de QPU restantes.

x-ms-ratelimit-microsoft.costmanagement-qpu-retry-after

Indique le délai d’interruption en secondes. Quand une requête est limitée avec le code 429, marquez une pause pendant la durée spécifiée dans cet en-tête avant de retenter la requête.

x-ms-ratelimit-microsoft.costmanagement-qpu-consumed

QPU consommées par un appel d’API.

x-ms-ratelimit-microsoft.costmanagement-qpu-remaining

Liste des quotas restants.

Étapes suivantes