La facture cloud arrive et quelqu'un demande quelle équipe a le plus dépensé. Si la moitié de vos ressources n'a pas de tags, la réponse honnête est « nous ne savons pas ». Le tagging est la base de toute répartition des coûts, et aussi la tâche que tout le monde remet à plus tard. Dans cet article, nous voyons quels tags valent la peine sur AWS, Azure et Google Cloud, et comment AAA Sentinel vous aide à mesurer la couverture, à prioriser ce qui coûte le plus et à l'étiqueter sans quitter la plateforme.
Pourquoi les dépenses non étiquetées posent problème
Une ressource sans tags coûte autant qu'une ressource étiquetée, mais elle n'a pas de propriétaire. Elle n'apparaît dans le rapport d'aucune équipe, personne ne la regarde quand elle augmente et personne n'ose l'arrêter quand elle ne sert plus. Et le problème grandit tout seul : les ressources sont créées dans l'urgence « et on les étiquettera plus tard », la politique de tagging arrive quand des centaines de ressources ne sont pas étiquetées, et l'étiquetage rétroactif est un travail manuel qui n'est jamais prioritaire.
Étiqueter à la création prend quelques secondes ; étiqueter des mois plus tard oblige à retrouver à qui appartient chaque ressource. La stratégie a donc deux volets : empêcher les nouvelles ressources d'arriver sans tags, et nettoyer celles qui existent déjà, en commençant par les plus chères.
Ce que vous y gagnez
Avec une bonne couverture de tags, la conversation sur les dépenses change :
- Chaque équipe voit quelle part des dépenses lui revient et en répond.
- Vous repérez plus tôt les ressources oubliées : ce qui n'a pas de propriétaire est le premier candidat à une revue.
- Les rapports par équipe, projet ou centre de coût n'ont plus un énorme poste « autres ».
- Vous pouvez automatiser plus sereinement : savoir ce qui est en production et ce qui est en développement est la première chose dont a besoin tout arrêt programmé.
Les cinq tags de gouvernance
Inutile d'avoir un schéma de vingt clés. AAA Sentinel travaille avec cinq tags de gouvernance qui couvrent presque tout ce dont une équipe FinOps a besoin :
- Environment : production, staging, development. Sépare ce qu'on ne touche pas de ce qu'on peut arrêter.
- Project : le produit ou l'application. Donne le coût total de chaque produit.
- Owner : la personne ou l'équipe responsable. C'est à elle qu'on s'adresse quand quelque chose augmente.
- CostCenter : le centre de coût comptable, pour réconcilier avec la finance.
- Team : l'équipe qui l'exploite, base de la refacturation interne.
Écrivez-les exactement ainsi, ou entièrement en minuscules (environment, costcenter). Sur AWS et Azure, la plateforme ne reconnaît pas les variantes comme Cost-Center, cost_center ou env : une ressource étiquetée ainsi compte comme non étiquetée. Fixez l'orthographe avant de commencer et n'en changez plus.
AWS, Azure et Google Cloud : ce qui change
L'idée est la même sur les trois clouds, mais pas les détails :
- AWS : les tags sont sensibles à la casse. Les Tag Policies d'AWS Organizations aident à imposer le schéma, et pour voir un tag dans Cost Explorer il faut d'abord l'activer comme tag de répartition des coûts dans Billing.
- Azure : par défaut, les ressources n'héritent pas des tags de leur groupe de ressources. Vous pouvez l'imposer avec Azure Policy (la stratégie qui hérite d'un tag du groupe de ressources) ou activer l'héritage des tags dans Cost Management, qui ne s'applique qu'aux données de coût.
- Google Cloud : pour les coûts, on utilise des labels, pas des tags (les tags Google Cloud servent aux stratégies et au pare-feu). Les labels n'acceptent que des minuscules, des chiffres, des tirets et des underscores : utilisez environment, team ou costcenter.
Étiqueter à la source avec l'IaC
Le moyen le plus fiable pour qu'une ressource naisse étiquetée est de définir les tags dans l'infrastructure as code. Dans Terraform, le bloc default_tags du provider AWS et default_labels du provider Google appliquent les tags à tout ce que crée ce provider. Azure n'a pas d'équivalent au niveau du provider : on utilise en général une map de tags commune fusionnée dans chaque ressource, plus une Azure Policy qui refuse ou complète ce qui arrive sans tags.
provider "aws" {
region = "eu-west-1"
default_tags {
tags = {
Environment = "production"
Project = "boutique"
Owner = "equipe-plateforme"
CostCenter = "cc-ventes"
Team = "plateforme"
}
}
}Cela règle ce qui sera créé à partir d'aujourd'hui. Ce qui existe déjà doit être retrouvé et étiqueté, et c'est là qu'intervient la plateforme.
Comment AAA Sentinel s'y prend
AAA Sentinel aborde le tagging sous quatre angles, tous alimentés par le même scan de vos comptes :
- Trois règles de gouvernance, incluses dans tous les plans, qui créent un constat pour chaque ressource sans les tags minimaux. Vous les voyez dans Résultats actifs et dans Règles d'analyse.
- La page Stratégie de tagging (plan Pro), qui mesure la couverture de chaque compte, estime les dépenses non attribuées et classe les ressources non étiquetées par coût.
- Le bouton « Étiqueter » (plan Business), qui prépare une automatisation avec les valeurs que vous saisissez ; l'agent l'exécute dès que quelqu'un l'approuve.
- Les rapports Par étiquettes (plan Pro) et Chargeback (plan Business), qui montrent comment les dépenses se répartissent.
Les trois règles : ce qui compte exactement
Chaque cloud a sa règle, et elles ne mesurent pas tout à fait la même chose :
AAA Sentinel · règles de gouvernance des tags
- GOVERNANCE_NO_TAGS · AWS · sévérité moyenne
- Instances EC2, volumes EBS, RDS, load balancers, buckets S3, NAT Gateway, VPN Gateway, Transit Gateway et VPC endpoints de type Interface avec moins de deux des cinq tags de gouvernance
- AZURE_GOVERNANCE_NO_TAGS · Azure · sévérité moyenne
- Machines virtuelles, disques, SQL Database, load balancers, comptes de stockage, Functions, Cosmos DB, IP publiques, AKS, Container Apps et NAT Gateway avec moins de deux des cinq
- GCP_GOVERNANCE_NO_LABELS · Google Cloud · sévérité moyenne
- Instances et disques Compute Engine, Cloud SQL, buckets, Cloud Functions et datasets BigQuery avec moins de deux des cinq, écrits en labels (environment ou env, project, owner, cost-center, cost_center ou costcenter, team)
- Avec deux tags de gouvernance, le constat se ferme tout seul au scan suivant. Inutile de le marquer comme résolu.
- Le constat indique les tags présents et ceux qui manquent, et n'estime aucune économie : sa valeur est de pouvoir attribuer le coût, pas de le réduire.
Cas pratique : ACME
ACME, une entreprise fictive, héberge sa boutique en ligne dans un compte AWS. Elle crée des ressources à la main et avec Terraform depuis deux ans, et la finance veut désormais répartir la facture par équipe. Après le premier scan, Stratégie de tagging affiche ceci :
ACME · Couverture par type de ressource
- EC2 · 18 ressources, 12 étiquetées (67 %)
- 520 USD/mois non étiquetés
- RDS · 3 ressources, 1 étiquetée (33 %)
- 410 USD/mois non étiquetés
- EBS · 12 ressources, 4 étiquetées (33 %)
- 180 USD/mois non étiquetés
- S3 · 7 ressources, 5 étiquetées (71 %)
- 40 USD/mois non étiquetés
- Total · 40 ressources, 22 bien étiquetées (55 %)
- 1 150 USD/mois non attribués
Étape 1 : lire Stratégie de tagging
La page se trouve dans le menu, sous Stratégie de tagging, et travaille sur le dernier scan terminé du compte choisi en haut. De haut en bas :
- Quatre indicateurs : Ressources étiquetables, Bien étiquetés (au moins deux des cinq tags), Coût non attribué et les cinq Tags de gouvernance.
- Santé du tagging : un diagnostic selon le pourcentage bien étiqueté. ACME, à 55 %, se situe en couverture modérée.
- Couverture par tag de gouvernance : la part des ressources portant chacun des cinq tags. Elle révèle souvent le tag que personne ne pose ; chez ACME, c'est CostCenter.
- Couverture par type de ressource : le tableau du cas pratique, trié par coût non étiqueté.
- Ressources non étiquetées à coût élevé : les dix plus chères, avec les tags qu'elles ont déjà.
- Recommandations : le tag et le type de ressource les moins couverts, une alerte si les dépenses non attribuées sont élevées et un rappel pour intégrer les tags à votre IaC.
Le coût non attribué est une estimation : la plateforme prend le coût réel de chaque service et lui applique la proportion de ressources non étiquetées de ce type. Le coût de chaque ressource de la liste est celui du service réparti à parts égales. C'est fait pour prioriser, pas pour facturer.
Étape 2 : étiqueter les ressources les plus chères sans quitter la plateforme
Chez ACME, la première de la liste est orders-db, la base RDS des commandes : elle ne porte que Project=boutique, un tag de gouvernance sur cinq. Avec le plan Business, le bouton « Étiqueter » de cette ligne ouvre la fenêtre « Automatiser ce constat » :
- La fenêtre explique ce qui va être fait, l'impact et comment revenir en arrière, et dans Paramètres demande une valeur pour chaque tag de gouvernance manquant. ACME saisit Environment=production, Owner=equipe-paiements, CostCenter=cc-paiements et Team=paiements.
- Cliquer sur « Créer l'automatisation » n'exécute rien pour l'instant : l'action attend une approbation dans Agent IA, et le bouton de la ligne passe à « En attente ».
- Quand une personne habilitée à approuver (propriétaire, administrateur ou approbateur) la valide, l'agent écrit les tags sur la ressource. C'est une action à faible risque, sans délai de grâce.
- L'agent ajoute les clés saisies et ne touche pas aux autres tags de la ressource. Avant d'écrire, il enregistre la valeur précédente des clés qui existaient déjà, pour pouvoir annuler le changement.
- Au scan suivant, orders-db a ses cinq tags de gouvernance et son constat disparaît.
- Les ressources hors du top dix s'étiquettent de la même façon depuis leur constat, dans Résultats actifs.
Pour que l'agent puisse écrire, le compte a besoin de sa permission d'écriture : c'est l'étape optionnelle « Activer l'agent autonome » lors de la connexion. Sur Google Cloud, les valeurs n'acceptent que des minuscules, des chiffres, des tirets et des underscores, et la fenêtre vous prévient si vous saisissez autre chose.
Étape 3 : suivre la progression dans Par étiquettes
Après le scan suivant, Rapports → Par étiquettes affiche la Couverture de balisage de chacune des cinq clés dans le compte choisi, avec les constats par région et par type de ressource et la décomposition des dépenses par service. C'est la vue rapide pour suivre les progrès. ACME se fixe comme objectif qu'aucune clé ne descende sous 80 %, qui est aussi le seuil au-delà duquel la plateforme cesse de recommander ce tag.
Étape 4 : le Chargeback, en sachant comment il est calculé
Avec le plan Business, Rapports → Chargeback regroupe tous vos comptes : dépense totale, Décomposition par compte, services les plus chers et une Distribution par chaque tag de gouvernance, qui sépare les dépenses entre Étiqueté et Non attribué. Mieux vaut savoir ce qu'il y a derrière :
- La répartition se fait par couverture, pas par valeur : si 60 % des ressources d'un compte portent Team, 60 % de ses dépenses apparaissent comme Étiqueté. Elle ne distingue pas encore Team=paiements de Team=boutique.
- Pour répartir par valeur, et couvrir par des règles de tagging virtuel ce qui n'est pas étiqueté, il y a la répartition des coûts sur la facture FOCUS. Nous l'expliquons dans « De la facture cloud au coût par commande : répartition par centre de coût et coût unitaire sur AWS, Azure et Google Cloud ».
- Malgré tout, la part Non attribué est le chiffre à faire baisser, et c'est un bon indicateur mensuel pour le comité FinOps.
Ce qu'il ne fait pas encore
Pour éviter les surprises :
- Il n'empêche pas de créer des ressources sans tags : cela se fait dans le cloud, avec les Tag Policies, Azure Policy ou des contrôles dans votre pipeline IaC.
- Il n'étiquette pas en masse en un clic : chaque ressource est une automatisation avec ses valeurs et son approbation.
- Il ne reconnaît pas les clés écrites autrement : CostCenter ou costcenter oui ; Cost-Center ou cost_center, sur AWS et Azure, non. Sur Google Cloud, où les labels sont en minuscules, cost-center, cost_center et costcenter comptent tous, et env compte comme environment.
- Les montants non attribués sont des estimations à partir du coût de chaque service, pas une répartition ressource par ressource.
Checklist pour démarrer
Avec cela en place, la prochaine fois que quelqu'un demandera à qui appartient une dépense, vous aurez la réponse, et la part sans propriétaire diminuera chaque mois.
- Cinq clés convenues et toujours écrites de la même façon : Environment, Project, Owner, CostCenter et Team.
- default_tags ou default_labels dans votre IaC, et une stratégie cloud qui bloque ce qui arrive sans tags.
- Les comptes connectés et scannés, et les constats de gouvernance revus dans Résultats actifs.
- Stratégie de tagging consultée chaque semaine, en commençant par les ressources les plus chères.
- La permission d'écriture de l'agent activée si vous étiquetez depuis la plateforme (plan Business).
- Un objectif de couverture par clé, par exemple 80 %, et la part Non attribué du Chargeback comme indicateur mensuel.