Une stratégie d’étiquetage survit aux vraies équipes quand elle a quatre propriétés : peu de clés (quatre suffisent pour commencer), une application à la création plutôt que des balayages de nettoyage, l’activation comme étiquettes de répartition des coûts dans la console de facturation (l’étape que presque tout le monde manque), et un rapport permanent de la dépense non étiquetée pour que la dérive soit visible. Les taxonomies élaborées à 15 clés n’échouent pas parce qu’elles sont fausses — elles échouent parce que des humains sous pression d’échéance ne les maintiendront pas.
Ce qui se passe
Les étiquettes font deux emplois sans lien sur AWS, et les confondre tue les stratégies. Les étiquettes opérationnelles pilotent l’automatisation — sélection de sauvegarde, groupes de correctifs, arrêt-démarrage planifié. Les étiquettes de répartition des coûts découpent la facture. Les modes d’échec diffèrent : une étiquette opérationnelle fausse brise quelque chose de visible; une étiquette de coût manquante fait juste grossir en silence la case « non étiqueté » jusqu’à ce que la facture soit inattribuable.
Trois mécaniques comptent et sont régulièrement manquées. Un : les étiquettes sont invisibles pour la facturation tant qu’elles ne sont pas activées — une étiquette peut exister sur chaque ressource du compte, Cost Explorer ne peut toujours pas grouper dessus avant son activation sous Billing and Cost Management > Cost allocation tags, après quoi elle s’applique à l’usage futur (AWS peut remplir rétroactivement jusqu’à douze mois sur demande depuis cette page de console, mais ne concevez pas votre stratégie sur le fait de penser à le demander). Deux : les clés d’étiquettes sont sensibles à la casse en facturation : Team, team et TEAM deviennent trois colonnes distinctes dans chaque rapport, pour toujours. Trois : une partie de la dépense ne peut pas être étiquetée — des composantes de transfert de données, certains frais de soutien et les taxes resteront toujours hors du schéma d’étiquettes, alors une attribution à 100 % par étiquettes seules n’est pas un objectif atteignable; la séparation par compte couvre ce que les étiquettes ne peuvent pas.
Quoi vérifier en premier
- Quelles clés d’étiquettes existent aujourd’hui? L’inventaire ci-dessous révèle habituellement une décennie de bonnes intentions :
env,Env,Environment,environment. - Quelque chose est-il activé pour la répartition des coûts? Si
list-cost-allocation-tagsne retourne rien d’actif, aucun rapport n’a jamais pu grouper par étiquette. - Quel pourcentage de la dépense est non étiqueté? Groupez Cost Explorer par votre clé principale; la case « No tag key » est votre score de départ.
- Qui crée des ressources, et comment? Si tout passe par Terraform ou CloudFormation, l’application est un problème de revue de code. Si les gens cliquent dans la console, il faut des garde-fous.
Comment vérifier
# Inventaire des clés d'étiquettes en usage (révèle le chaos de casse)
aws resourcegroupstaggingapi get-tag-keys
# Ressources sans l'étiquette d'équipe
aws resourcegroupstaggingapi get-resources \
--query 'ResourceTagMappingList[?!(Tags[?Key==`team`])].ResourceARN' \
--output text
# Qu'est-ce qui est activé pour la répartition des coûts?
aws ce list-cost-allocation-tags --status Active
Équivalents console : Resource Groups & Tag Editor > Tag Editor pour la vue par ressource à travers les régions, et Billing and Cost Management > Cost allocation tags pour l’état d’activation.
Le plan d’exécution
-
Choisissez quatre clés et écrivez une page.
team(qui paie),env(prod/staging/dev),service(le nom de la charge),managed-by(terraform/console/etc.). Tout en minuscules, valeurs permises énumérées, un propriétaire pour la norme. Ajoutez des clés plus tard seulement quand un vrai rapport en a besoin — chaque clé est un passif d’entretien. -
Activez-les comme étiquettes de répartition immédiatement.
aws ce update-cost-allocation-tags-status \ --cost-allocation-tags-status TagKey=team,Status=Active TagKey=env,Status=ActiveL’activation est l’allumage de la stratégie; la sauter est la raison la plus courante du « on a des étiquettes mais pas de rapports par étiquette ».
-
Appliquez dans les chemins où les ressources naissent. En Terraform,
default_tagssur le bloc fournisseur couvre la plupart des ressources sans effort par ressource. En CI, une vérification au moment du plan qui rejette les ressources non étiquetées. Pour la création en console, une SCP qui refuseec2:RunInstancessans les clésaws:RequestTagrequises arrête à la porte la plus grosse source de dépense non étiquetée — le patron de garde-fou s’inscrit dans la base décrite dans la base SCP d’Organizations. -
Ajoutez des politiques d’étiquettes pour l’hygiène, en connaissant leurs limites. Les politiques d’étiquettes d’Organizations normalisent la casse des clés et les valeurs permises et rapportent la non-conformité au centre — mais seules, elles auditent plus qu’elles ne bloquent. Traitez-les comme le linter, les conditions SCP comme le mur. Les détails sont dans la documentation AWS Organizations.
-
Intégrez les étiquettes à la base de compte. Les nouveaux comptes devraient hériter de la norme au jour un — le flux de création de comptes dans Control Tower Account Factory est l’endroit naturel pour l’estampiller.
-
Traitez l’arriéré non étiqueté par dépense, pas par nombre. Triez les ressources non étiquetées par coût mensuel et étiquetez les vingt premières; elles couvrent typiquement le gros de l’argent. Courir après chaque ressource à 0,40 $ est la façon dont les projets d’étiquetage meurent.
-
Rapportez le pourcentage non étiqueté chaque mois. Un chiffre, dans la même revue que la facture. Quand il arrête de baisser, l’application a un trou — trouvez quel chemin de création fuit.
Quand c’est la mauvaise approche
Si chaque équipe a déjà son propre compte AWS, l’attribution par compte fait le gros du travail et les étiquettes sont un raffinement, pas une fondation — ne lancez pas une croisade d’étiquetage pour un rapport que vous produisez déjà par compte lié. Et dans une boutique de deux personnes, une norme à une clé (env) est peut-être toute la stratégie justifiée; ajustez la cérémonie à l’organisation.
Erreurs courantes
- Concevoir la taxonomie en atelier et ne jamais l’appliquer. Quatre clés appliquées battent quinze clés aspirationnelles sur toutes les mesures qui comptent.
- Oublier l’activation en facturation. Des mois de ressources bien étiquetées, zéro donnée rapportable.
- La dérive de casse.
Teametteamdivisent chaque rapport; choisissez les minuscules et laissez la politique d’étiquettes signaler les violations. - Étiqueter rétroactivement avant d’appliquer prospectivement. Un nettoyage sans porte se remplit en un trimestre — la porte d’abord, le rattrapage ensuite.
Prévention
- Gardez la norme sur une page, versionnée, avec un propriétaire nommé pour les demandes de changement.
- Alertez quand la dépense mensuelle non étiquetée franchit un seuil, pour que la dérive avertisse quelqu’un au lieu de s’accumuler.
- Relancez l’inventaire des clés chaque trimestre pour attraper les nouvelles variantes avant qu’elles se répandent.
- Auditez la couverture
default_tagsà chaque nouveau module racine Terraform ou nouveau compte. - Revoyez les valeurs permises (les noms d’équipes changent, les produits se renomment) deux fois par année — les valeurs périmées causent des contournements, et les contournements causent la dérive.
Une stratégie d’étiquetage est l’infrastructure de toutes les conversations de coûts qui suivront — rapports de dépense, refacturation interne, audits reposent dessus, et elle ne tient que si elle est assez petite pour être appliquée. Si personne dans votre équipe ne possède vraiment l’environnement AWS de bout en bout, c’est la racine de la plupart de ces problèmes — Stack Harbor opère des comptes AWS au quotidien sous Opérations AWS, et vous pouvez réserver une revue AWS.