Surveiller et contrôler les coûts

Last reviewed 2023-09-08 UTC

Ce document présenté dans le framework d'architecture Google Cloud décrit les bonnes pratiques, les outils et les techniques permettant de surveiller et de contrôler le coût de vos ressources dans Google Cloud.

Les conseils de cette section sont destinés aux utilisateurs qui provisionnent ou gèrent des ressources dans le cloud.

Domaines essentiels de la gestion des coûts

Le coût de vos ressources dans Google Cloud dépend de la quantité de ressources que vous utilisez et du tarif auquel vous êtes facturé pour les ressources.

Pour gérer le coût des ressources cloud, nous vous recommandons de vous concentrer sur les domaines suivants :

  • Visibilité des coûts
  • Optimisation des ressources
  • Optimisation des tarifs

Visibilité des coûts

Effectuez le suivi de vos dépenses et de la facturation de vos ressources et services, afin de pouvoir analyser l'impact des coûts sur les résultats commerciaux. Nous vous recommandons d'appliquer le modèle d'exploitation FinOps, qui suggère les actions suivantes afin de rendre les informations sur les coûts visibles dans votre organisation :

  • Attribuer : affectez un propriétaire à chaque élément de coût.
  • Rapport : rendez les données de coût disponibles, consommables et exploitables.
  • Prévoir : estimez et suivez les dépenses futures.

Optimisation des ressources

Alignez le nombre et la taille de vos ressources cloud sur les besoins de votre charge de travail. Dans la mesure du possible, envisagez d'utiliser des services gérés ou de restructurer vos applications. En règle générale, les équipes d'ingénieurs individuelles ont plus de contexte que l'équipe centrale FinOps (opérations financières) concernant les opportunités et les techniques d'optimisation du déploiement des ressources. Nous recommandons à l'équipe FinOps de collaborer avec les équipes d'ingénieurs individuelles pour identifier les opportunités d'optimisation des ressources pouvant être appliquées à l'ensemble de l'organisation.

Optimisation des tarifs

L'équipe FinOps prend régulièrement des décisions d'optimisation des tarifs de manière centralisée. Nous recommandons aux équipes individuelles d'ingénierie de travailler avec l'équipe FinOps centrale pour bénéficier de remises importantes sur les réservations, l'utilisation sur engagement, les VM Spot, la tarification forfaitaire, ainsi que de remises liées au volume et au contrat.

Recommandations en matière de conception

Cette section suggère des approches à utiliser pour surveiller et contrôler les coûts.

Facturation consolidée et gestion des ressources

Pour gérer efficacement la facturation et les ressources dans Google Cloud, nous vous recommandons d'utiliser un seul compte de facturation pour votre organisation et d'utiliser des mécanismes de rejet de débit internes pour allouer les coûts. Utilisez plusieurs comptes de facturation pour des conglomérats peu structurés et des organisations avec des entités qui ne s'affectent pas entre elles. Par exemple, les revendeurs peuvent avoir besoin de comptes distincts pour chaque client. L'utilisation de comptes de facturation distincts peut également vous aider à respecter les réglementations fiscales spécifiques à chaque pays.

Une autre bonne pratique recommandée consiste à déplacer tous les projets que vous gérez dans votre organisation. Nous vous recommandons d'utiliser Resource Manager pour créer une hiérarchie des ressources qui vous aide à atteindre les objectifs suivants :

  • Établir une hiérarchie de propriété des ressources en fonction de la relation de chaque ressource avec son parent immédiat.
  • Contrôler la manière dont les règles d'accès et les tags ou étiquettes d'allocation de coûts sont associés aux ressources de votre organisation et comment celles-ci en héritent.

En outre, nous vous recommandons d'allouer le coût des services partagés proportionnellement à la consommation. Examinez et ajustez régulièrement les paramètres de répartition des coûts en fonction de l'évolution de vos objectifs commerciaux et de vos priorités.

Suivre et allouer les coûts à l'aide de tags ou d'étiquettes

Les tags et les étiquettes sont deux méthodes différentes que vous pouvez utiliser pour annoter vos ressources Google Cloud. Les tags offrent plus de fonctionnalités que les étiquettes. Par exemple, vous pouvez mettre en œuvre un contrôle précis sur les ressources en créant des stratégies IAM (Identity and Access Management) qui revêtent un caractère conditionnel, selon qu'un tag est associé ou non à une ressource compatible. En outre, les tags associés à une ressource sont hérités par toutes les ressources enfants de la hiérarchie. Pour en savoir plus sur les différences entre les tags et les étiquettes, consultez la section Présentation des tags.

Si vous créez un framework pour l'allocation et le suivi des coûts, nous vous recommandons d'utiliser des tags.

Pour classer les données de coût avec le niveau de précision requis, établissez un schéma de taggage ou d'étiquetage adapté au mécanisme de rejet de débit de votre organisation, et qui vous aide à allouer les coûts de manière appropriée. Vous pouvez définir des tags au niveau de l'organisation ou du projet. Vous pouvez attribuer des étiquettes au niveau du projet et définir un ensemble d'étiquettes pouvant être appliquées par défaut à tous les projets.

Définissez un processus permettant de détecter et de corriger les anomalies de taggage et d'étiquetage, ainsi que les projets sans étiquette. Par exemple, à partir de l'inventaire des éléments cloud, vous pouvez télécharger un inventaire (fichier .csv) de toutes les ressources d'un projet et analyser cet inventaire afin d'identifier les ressources auxquelles aucun tag ni étiquette n'est attribué.

Pour suivre le coût des ressources et des services partagés (par exemple, des datastores communs, des clusters mutualisés et des abonnements d'assistance), envisagez d'utiliser une étiquette ou un tag spécial pour identifier les projets contenant des ressources partagées.

Configurer le contrôle des accès à la facturation

Pour contrôler l'accès à Cloud Billing, nous vous recommandons d'attribuer le rôle "Administrateur de compte de facturation" uniquement aux utilisateurs qui gèrent les coordonnées pour la facturation. Par exemple, les employés des services financiers, comptables et responsables des opérations peuvent avoir besoin de ce rôle.

Pour éviter tout point de défaillance unique pour l'assistance à la facturation, attribuez le rôle "Administrateur de compte de facturation" à plusieurs utilisateurs ou à un groupe. Seuls les utilisateurs disposant du rôle "Administrateur de compte de facturation" peuvent contacter l'assistance. Pour obtenir des conseils détaillés, consultez les sections Exemples de contrôle des accès Cloud Billing et Rôles importants.

Effectuez les configurations suivantes pour gérer l'accès à la facturation :

  • Pour associer un compte de facturation à un projet, les membres doivent disposer du rôle "Utilisateur de compte de facturation" sur le compte de facturation et du rôle "Gestionnaire de la facturation du projet" sur le projet.
  • Pour autoriser des équipes à associer manuellement des comptes de facturation à des projets, vous pouvez attribuer le rôle "Gestionnaire de la facturation du projet" au niveau de l'organisation et le rôle "Utilisateur de compte de facturation" au niveau du compte de facturation. Vous pouvez automatiser l'association des comptes de facturation lors de la création des projets en attribuant les rôles "Gestionnaire de la facturation du projet" et "Utilisateur du compte de facturation" à un compte de service. Nous vous recommandons de limiter le rôle "Créateur de compte de facturation" ou de supprimer toutes les attributions de ce rôle.
  • Pour éviter les pannes causées par des modifications involontaires de l'état de facturation d'un projet, vous pouvez verrouiller l'association entre le projet et son compte de facturation. Pour plus d'informations, consultez la section Sécuriser l'association entre un projet et son compte de facturation.

Configurer les rapports de facturation

Configurez des rapports de facturation afin de fournir des données pour les métriques clés que vous devez suivre. Nous vous recommandons d'effectuer le suivi des métriques suivantes :

  • Évolution des coûts
  • Plus grosses dépenses (par projet et par produit)
  • Zones de dépenses irrégulières
  • Voici les insights clés à l'échelle de l'organisation :
    • Détection d'anomalies
    • Tendances dans le temps
    • Tendances au sein d'un modèle défini (mois par mois, par exemple)
    • Comparaison des coûts et analyse comparative des charges de travail internes et externes
    • Suivi d'un cas d'utilisation commercial et réalisation de valeur (par exemple, coûts liés au cloud comparés aux coûts de ressources sur site semblables)
    • Validation que les factures Google Cloud sont exactes et telles qu'attendues

Personnalisez et analysez les rapports de coûts en exportant vos données de facturation vers BigQuery, et visualisez les données de coûts à l'aide de Looker Studio. Évaluez les tendances des coûts réels et le montant que vous pourriez dépenser à l'aide de l'outil de prévision.

Optimiser l'utilisation et les coûts des ressources

Cette section recommande des bonnes pratiques pour vous aider à optimiser l'utilisation et les coûts de vos ressources sur les services Google Cloud.

Pour éviter les dépenses excessives, envisagez de configurer par défaut des budgets et des alertes avec des seuils élevés pour tous vos projets. Pour vous aider à respecter les budgets, nous vous recommandons d'effectuer les actions suivantes :

  • Configurez des budgets et des alertes pour les projets dans lesquels des limites d'utilisation absolues sont nécessaires (par exemple, des projets d'entraînement ou des projets bac à sable).

  • Définissez les budgets en fonction des budgets financiers que vous souhaitez surveiller. Par exemple, si un service dispose d'un budget cloud global, définissez le champ d'application du budget Google Cloud pour inclure les projets spécifiques que vous devez suivre.

  • Pour garantir la maintenance des budgets, déléguez la responsabilité de la configuration des budgets et des alertes aux équipes qui possèdent les charges de travail.

Pour optimiser les coûts, nous vous recommandons également de procéder comme suit :

  • Limitez l'utilisation des API lorsque leur impact est minime, voire nul. Le plafonnement peut s'avérer utile pour les projets de bac à sable ou d'entraînement, et pour les projets avec des budgets fixes (par exemple, des analyses ad hoc dans BigQuery). Le plafonnement ne supprime pas toutes les ressources et données des projets associés.
  • Les quotas vous permettent de définir des limites strictes qui limitent le déploiement des ressources. Les quotas vous aident à contrôler les coûts et à éviter toute utilisation malveillante ou abusive des ressources. Les quotas sont appliqués au niveau du projet, par type de ressource et par emplacement.
  • Affichez et mettez en œuvre les recommandations d'optimisation des coûts du centre de recommandations.
  • Souscrivez des remises sur engagement d'utilisation pour réaliser des économies sur les ressources destinées aux charges de travail ayant des besoins en ressources prévisibles.

Outils et techniques

Le provisionnement à la demande et les caractéristiques de tarification à l'utilisation du cloud vous aident à optimiser vos dépenses informatiques. Cette section décrit les outils fournis par Google Cloud et les techniques que vous pouvez utiliser pour suivre et contrôler le coût de vos ressources dans le cloud. Avant d'utiliser ces outils et techniques, consultez les concepts de base de Cloud Billing.

Rapports de facturation

Google Cloud fournit des rapports de facturation dans la console Google Cloud pour vous aider à afficher vos dépenses actuelles et prévues. Les rapports de facturation vous permettent d'afficher les données de coût sur une seule page, de découvrir et d'analyser les tendances, de prévoir les coûts de fin de période et de prendre des mesures correctives si nécessaire.

Les rapports de facturation fournissent les données suivantes :

  • Coûts et tendances des coûts pour une période donnée, organisés comme suit :
    • Par compte de facturation
    • Par projet
    • Par produit (par exemple, Compute Engine)
    • Par SKU (par exemple, adresses IP statiques)
  • Coûts potentiels si des remises ou des avoirs promotionnels ont été exclus
  • Dépenses prévues

Exportation de données vers BigQuery

Vous pouvez exporter des rapports de facturation vers BigQuery, et analyser les coûts à l'aide de vues détaillées et historiques des données, y compris des données classées à l'aide d'étiquettes ou de tags. Vous pouvez effectuer des analyses plus avancées à l'aide de BigQuery ML. Nous vous recommandons d'activer l'exportation des rapports de facturation vers BigQuery lorsque vous créez le compte de facturation Cloud. Votre ensemble de données BigQuery contient des données de facturation à partir de la date de configuration de l'exportation Cloud Billing. L'ensemble de données n'inclut pas les données de la période antérieure à l'activation de l'exportation.

Pour visualiser les données de coût, vous pouvez créer des tableaux de bord personnalisés qui s'intègrent à BigQuery (exemples de modèles : Looker, Looker Studio).

Vous pouvez utiliser des tags et des étiquettes comme critères de filtrage des données de facturation exportées. Le nombre d'étiquettes incluses dans l'exportation de la facturation est limité. Jusqu'à 1 000 mappages de libellés en une période d'une heure sont conservés. Les étiquettes n'apparaissent pas dans la facture au format PDF ou CSV. Pensez à annoter les ressources à l'aide de tags ou d'étiquettes indiquant l'unité commerciale, l'unité de rejet de débit interne ainsi que les autres métadonnées pertinentes.

Contrôle des accès à la facturation

Vous pouvez contrôler l'accès à Cloud Billing pour des ressources spécifiques en définissant des stratégies Identity and Access Management (IAM) pour les ressources. Pour accorder ou limiter l'accès à Cloud Billing, vous pouvez définir une stratégie IAM au niveau de l'organisation, au niveau du compte de facturation ou au niveau du projet.

Le contrôle des accès pour la facturation et la gestion des ressources suit le principe de séparation des tâches. Chaque utilisateur ne dispose que des autorisations nécessaires pour son rôle métier. Les rôles "Administrateur de l'organisation" et "Administrateur de la facturation" ne disposent pas des mêmes autorisations.

Vous pouvez définir des autorisations concernant la facturation au niveau du compte de facturation et de l'organisation. Les rôles courants incluent "Administrateur de compte de facturation", "Utilisateur de compte de facturation" et "Lecteur de compte de facturation".

Nous vous recommandons d'utiliser la facturation avec paiement sur facture mensuelle ou de configurer un mode de paiement secondaire. Gérez les paramètres de contact et de notification pour la facturation et le paiement.

Budgets, alertes et quotas

Les budgets vous permettent de suivre les coûts réels de Google Cloud par rapport aux dépenses planifiées. Lorsque vous créez un budget, vous pouvez configurer des règles d'alerte pour déclencher des notifications par e-mail lorsque les dépenses réelles ou prévisionnelles dépassent un certain seuil. Vous pouvez également utiliser des budgets pour automatiser les réponses au contrôle des coûts.

Les budgets peuvent déclencher des alertes afin de vous tenir informé de l'utilisation des ressources et de l'évolution des coûts, et vous invitent à prendre des mesures d'optimisation des coûts. Toutefois, les budgets n'empêchent pas l'utilisation ni la facturation de vos services lorsque le coût réel atteint ou dépasse le budget ou le seuil. Pour contrôler automatiquement les coûts, vous pouvez utiliser les notifications de budget afin de désactiver de manière automatisée Cloud Billing pour un projet. Vous pouvez également limiter l'utilisation des API pour arrêter les coûts après un seuil d'utilisation défini.

Vous pouvez configurer des alertes pour les comptes de facturation et les projets. Configurez au moins un budget par compte.

Pour éviter de provisionner des ressources au-delà d'un niveau prédéterminé ou pour limiter le volume d'opérations spécifiques, vous pouvez définir des quotas au niveau de la ressource ou de l'API. Vous trouverez ci-dessous des exemples d'utilisation de quotas :

  • Contrôler le nombre d'appels d'API par seconde
  • Limiter le nombre de VM créées
  • Limiter la quantité de données interrogées par jour dans BigQuery

Les propriétaires de projet peuvent réduire le montant de quota pouvant être imputé sur une limite de quota, en utilisant l'API Service Usage pour appliquer des remplacements client à certaines limites de quota spécifiques. Pour en savoir plus, consultez la section Créer un remplacement de quota client.

Améliorer l'efficacité des charges de travail

Nous recommandons les stratégies suivantes pour vous aider à rendre vos charges de travail dans Google Cloud économiques :

  • Optimisez l'utilisation des ressources en améliorant l'efficacité des produits.
  • Réduisez le tarif auquel vous êtes facturé pour les ressources.
  • Contrôlez et limitez l'utilisation des ressources et leurs dépenses.

Lorsque vous sélectionnez des techniques de réduction des coûts et des fonctionnalités Google Cloud, tenez compte des efforts requis et des économies attendues, comme indiqué dans le graphique suivant :

Stratégies d'optimisation des coûts : cartographie des économies

Voici un récapitulatif des techniques présentées dans le graphique précédent :

  • Les techniques suivantes peuvent vous permettre de réaliser des économies importantes sans effort :
    • Remises sur engagement d'utilisation
    • Autoscaling
    • Emplacements BigQuery
  • Les techniques suivantes peuvent vous permettre de faire des économies importantes au prix d'efforts modérés à élevés :
    • VM Spot
    • Modifier l'architecture en tant qu'applications sans serveur ou conteneurisées
    • Changer de plate-forme pour utiliser des services gérés
  • Les techniques suivantes peuvent vous permettre de réaliser des économies modérées au prix d'efforts modérés :
    • Machines personnalisées
    • Gestion du cycle de vie Cloud Storage
    • Dimensionnement
    • Récupérer des ressources inactives

Les techniques expliquées dans les sections suivantes peuvent vous aider à améliorer l'efficacité de vos charges de travail.

Refactorisation ou modification de l'architecture

Vous pouvez réaliser des économies considérables en refactorisant ou en restructurant l'architecture de votre charge de travail de manière à utiliser les produits Google Cloud. Par exemple, l'adoption de services sans serveur (tels que Cloud Storage, Cloud Run, BigQuery et Cloud Functions) compatibles avec le scaling à zéro instance contribue à améliorer l'efficacité. Pour évaluer et comparer le coût de ces produits, vous pouvez utiliser le simulateur de coût.

Dimensionnement

Cette technique vous permet de vous assurer que l'échelle de votre infrastructure correspond à l'utilisation prévue. Cette stratégie est principalement pertinente pour les solutions IaaS (Infrastructure as a Service), dans lesquelles l'infrastructure sous-jacente vous est facturée. Par exemple, vous avez déployé 50 VM, mais les VM ne sont pas entièrement utilisées et vous déterminez que les charges de travail peuvent s'exécuter efficacement sur un nombre de VM inférieur ou sur des VM plus petites. Dans ce cas, vous pouvez supprimer ou redimensionner certaines VM. Google Cloud propose des recommandations de redimensionnement pour vous aider à détecter les opportunités permettant de réaliser des économies sans affecter les performances en provisionnant des VM plus petites. Le redimensionnement nécessite moins d'efforts pendant la phase de conception qu'après le déploiement des ressources en production.

Autoscaling

Si les produits que vous utilisez sont compatibles avec l'autoscaling dynamique, envisagez de concevoir les charges de travail de manière à exploiter l'autoscaling pour obtenir des avantages en termes de coûts et de performances. Par exemple, pour les charges de travail nécessitant beaucoup de ressources de calcul, vous pouvez utiliser des groupes d'instances gérés dans Compute Engine ou conteneuriser les applications et les déployer sur un cluster Google Kubernetes Engine.

Recommandations Active Assist

Active Assist utilise les données, l'intelligence et le machine learning pour réduire la complexité du cloud et les tâches administratives. Active Assist facilite l'optimisation de la sécurité, des performances et des coûts de votre topologie cloud. Il fournit des recommandations intelligentes pour optimiser vos coûts et l'utilisation de vos budgets. Vous pouvez appliquer ces recommandations pour faire des économies immédiates et gagner en efficacité.

Vous trouverez ci-dessous des exemples de recommandations fournies par Active Assist :

  • Redimensionnement de ressources Compute Engine : redimensionnez vos instances de VM pour optimiser les coûts et les performances en fonction de l'utilisation. Identifiez et supprimez ou sauvegardez les VM inactives et les disques persistants afin d'optimiser le coût de votre infrastructure.
  • Remise sur engagement d'utilisation : Google Cloud analyse votre historique d'utilisation, trouve la quantité d'engagement optimale pour vos charges de travail et fournit des recommandations faciles à comprendre et à exploiter pour réduire les coûts. Pour en savoir plus, consultez la section Outil de recommandation de remises sur engagement d'utilisation.
  • Projets dormants : découvrez les projets dormants dans votre organisation, et supprimez ou récupérez-les. Pour en savoir plus, consultez la section Outil de recommandation de projets dormants.

Pour connaître la liste complète, consultez la section Outils de recommandation.

Étape suivante