L'e-mail d'AWS arrive avec la facture et elle est 40 % plus élevée que le mois dernier. Ou l'alerte du budget se déclenche le 18. Pas besoin de comprendre toute la facture pour régler ça : c'est presque toujours une seule chose qui est apparue ou qui a grossi, et Cost Explorer la pointe en quelques minutes si vous savez sur quels boutons cliquer.
La méthode est toujours la même : d'abord quel service a augmenté, puis dans quelle région, puis quel type d'utilisation à l'intérieur de ce service, et enfin depuis quel jour. Avec ces quatre réponses, vous savez quel objet chercher dans la console et quoi en faire.
Les chiffres de prix sont approximatifs et en dollars.
Avant de commencer : ce que signifie chaque chose
- Cost Explorer
- L'écran d'AWS qui montre la dépense en graphiques et permet de la filtrer et de la grouper par service, région, type d'utilisation, balise ou ressource. Il met un jour à se mettre à jour.
- Factures (Bills)
- La facture officielle du mois, ligne par ligne, avec quantités et montants. C'est ce qui est prélevé sur la carte.
- Service
- Chaque produit d'AWS : EC2 (machines), RDS (bases de données), S3 (fichiers), Lambda (fonctions)... La facture est détaillée par service.
- Type d'utilisation
- Le poste concret à l'intérieur d'un service : heures de machine, Go de disque, Go d'instantané, Go transférés... Son nom commence par un code de région.
- EC2-Other
- Le fourre-tout d'EC2 dans Cost Explorer : disques, instantanés, IP, NAT Gateway et transfert entre zones. Presque toujours, la cause de la mauvaise surprise est ici.
- Granularité
- Si le graphique est tracé par mois, par jour ou par heure. Par jour, c'est celle qui montre quand quelque chose a commencé.
- Prévision
- Ce qu'AWS calcule que vous dépenserez en fin de mois si vous continuez au rythme actuel.
- NAT Gateway
- Une pièce réseau qui permet aux machines sans adresse publique de sortir sur Internet. Facturée à l'heure et au Go même si personne ne l'utilise.
- Lambda
- Des fonctions qui s'exécutent sans serveur, facturées à chaque exécution et au temps qu'elle dure. Très bon marché à l'unité, cher en boucle.
Pas à pas
Ouvrez Cost Explorer et comparez avec le mois dernier
Menu de votre compte (en haut à droite), Facturation et gestion des coûts, Cost Explorer. Si c'est la première fois, cliquez sur Activer et revenez demain : il met jusqu'à 24 heures à avoir des données.
Dans le panneau de droite, période 3 derniers mois, granularité mensuelle, et dans Grouper par choisissez Service. Vous verrez trois barres empilées par couleurs. Comparez celle de ce mois avec la précédente : la couleur qui a grossi est le service coupable. Si le mois n'est pas terminé, regardez aussi la ligne de prévision, qui extrapole au rythme actuel.
Limitez-vous aux derniers jours pour voir quand ça a commencé
Passez la période à 14 derniers jours et la granularité à quotidienne, toujours groupé par service. Vous verrez maintenant une marche : le jour où la dépense quotidienne a monté. Ce jour est l'indice le plus précieux : quelqu'un a créé quelque chose, un processus a changé ou quelque chose a redémarré. Demandez à l'équipe ce qui s'est passé ce jour-là avant de continuer à chercher.
Si au lieu d'une marche vous voyez une pente qui monte petit à petit, c'est de l'accumulation : instantanés, journaux, versions de fichiers.
Filtrez sur ce service et groupez par type d'utilisation
Dans le panneau de filtres, Service, cochez seulement celui qui a augmenté et appliquez. Passez Grouper par à Type d'utilisation (Usage type). Les noms sont techniques mais se comprennent :
BoxUsagece sont des heures de machine,EBS:VolumeUsagedes disques,EBS:SnapshotUsagedes instantanés,DataTransfer-Outde la sortie de données,PublicIPv4:InUseAddressetIdleAddressdes adresses IP,NatGateway-Hoursla passerelle NAT. Le préfixe de chaque nom (EU,EUW3,USE1) indique la région.Groupez par région
Revenez à Grouper par et choisissez Région. S'il y a de la dépense dans une région où vous n'avez rien (Virginie, Ohio, Francfort alors que tout est en Irlande ou à Paris), c'est localisé : quelqu'un a fait un test là-bas ou un assistant a créé quelque chose. Changez la région dans la console EC2 et regardez instances, volumes, instantanés et IP. Lightsail a une console à part par région ; vérifiez-la aussi.
Groupez par balise ou par ressource
Si vous avez des balises de répartition des coûts activées (
Proyecto,Propietario), groupez par cette Balise : elle vous dit à qui appartient la dépense nouvelle. Sinon, avec la granularité quotidienne et en filtrant sur EC2, vous pouvez grouper par Ressource sur les 14 derniers jours pour voir l'identifiant exact de la machine ou du disque. Copiez l'identifiant et cherchez-le dans la console EC2.Vérifiez la facture officielle et les crédits
Dans Factures (Bills), choisissez le mois et dépliez le service. Vous y trouvez chaque ligne avec la quantité (heures, Go) et le montant, avec la région dans le nom. Regardez aussi les crédits et l'offre gratuite : une hausse qui coïncide avec l'anniversaire du compte est souvent la fin de la première année gratuite. Là, il n'y a rien à réparer ; le prix réel se voit enfin.
Les causes typiques, de la plus à la moins fréquente
Machine créée et oubliée. Une EC2 pour un test, allumée depuis des semaines. Dans Cost Explorer : EC2, type d'utilisation BoxUsage, marche le jour de sa création. Une t3.medium coûte environ 30-35 dollars par mois ; une m5.xlarge, environ 150. Même chose dans Lightsail, à la différence que là-bas la machine arrêtée continue de facturer le forfait complet.
Instantanés accumulés. Pente douce dans EC2 (SnapshotUsage), RDS ou Lightsail. Chaque Go coûte environ 0,05 dollar par mois ; le problème, c'est que ce sont des centaines de Go dans des dizaines de copies que personne ne supprime. Ils viennent souvent d'une politique de copies automatiques sans limite de rétention.
IP non assignée. AWS facture toutes les adresses IPv4 publiques, environ 3,60 dollars par mois chacune. Une IP élastique d'une machine que vous avez supprimée, ou cinq, apparaissent comme IdleAddress. Petit, mais ça se voit sur les comptes à faible dépense.
Transfert de données sortant. DataTransfer-Out-Bytes, environ 0,09 dollar par Go. Un site qui sert soudain de la vidéo, une sauvegarde qui est maintenant téléchargée chaque jour hors d'AWS, un bucket S3 public que quelqu'un a lié depuis un site à fort trafic. Aussi le trafic entre régions ou entre zones de disponibilité, qui est facturé même à l'intérieur d'AWS.
RDS arrêté qui redémarre tout seul. Une base de données RDS peut être arrêtée pour économiser, mais AWS la redémarre automatiquement au bout de 7 jours. Qui l'a arrêtée un lundi la retrouve allumée et facturée le lundi suivant. Dans Cost Explorer : RDS, avec des marches hebdomadaires si quelqu'un la rarrête.
Lambda en boucle. Une fonction qui se déclenche elle-même (écrit dans un bucket qui à son tour déclenche la fonction, ou réessaie sans limite) peut s'exécuter des millions de fois. Lambda est très bon marché à l'exécution, mais des millions restent des millions. Dans Cost Explorer, Lambda monte et, avec lui, CloudWatch à cause des journaux. Pour le voir : dans la console AWS, entrez dans Lambda, ouvrez la fonction et regardez l'onglet Surveillance, graphique des invocations. Dans Simplio, pas besoin de chercher : la carte de chaque fonction affiche les exécutions du mois et leur coût approximatif.
NAT Gateway. L'assistant VPC la crée par défaut dans certains parcours. Elle coûte environ 30-35 dollars par mois rien que d'exister, plus environ 0,05 dollar par Go qui la traverse. Elle apparaît comme NatGateway-Hours et NatGateway-Bytes dans « EC2-Other ». Si vos machines ont une IP publique, vous n'en avez pas besoin.
Autres, moins fréquents : un plan de support souscrit par erreur, des journaux CloudWatch sans expiration, des versions anciennes dans un bucket S3 avec versionnement, des répartiteurs de charge sans rien derrière.
Comment couper la dépense dès aujourd'hui
- Machine oubliée : si vous n'en avez pas besoin, faites un instantané (au cas où) et résiliez-la. Si vous en avez besoin par moments, arrêtez-la ; dans EC2 vous ne paierez que le disque. Si c'est du Lightsail, instantané et suppression : l'arrêter n'économise rien.
- Instantanés : triez par date et supprimez les anciens. Conservez les deux ou trois derniers de chaque machine de production. Vérifiez les politiques de copies automatiques (Data Lifecycle Manager, AWS Backup, instantanés automatiques de Lightsail) et mettez-leur une limite de rétention.
- IP orphelines : dans EC2, Adresses IP élastiques, celles qui n'ont pas d'instance associée : Libérer. Dans Lightsail, menu Mise en réseau, celles qui ne sont pas associées : supprimer.
- Transfert : identifiez l'origine (la machine ou le bucket avec le plus de sortie dans ses métriques) et décidez : cache, CloudFront, compresser, déplacer la sauvegarde vers S3 dans la même région, ou fermer un bucket public.
- RDS qui redémarre : si vous ne l'utilisez vraiment pas, faites un instantané de la base de données et supprimez-la ; la restaurer prend dix minutes. Si vous l'utilisez de temps en temps, programmez l'arrêt hebdomadaire avec EventBridge Scheduler ou acceptez le coût.
- Lambda en boucle : baissez la simultanéité réservée de la fonction à 0 pour l'arrêter sur-le-champ, corrigez le déclencheur et remontez-la.
- NAT Gateway : dans VPC, Passerelles NAT, supprimez-la s'il n'y a pas de machines privées qui l'utilisent. Avant, vérifiez qu'aucune machine sans IP publique n'en a besoin pour sortir sur Internet.
Pour que ça ne se reproduise pas
Trois choses, dans cet ordre d'effort :
- Un budget dans Budgets avec alerte à 80 % de la dépense réelle et à 100 % de la prévision. Deux minutes. Il transforme une surprise en fin de mois en un avertissement à la mi-mois.
- Des balises
ProyectoetPropietarioactivées comme balises de coût. La prochaine fois, l'étape 5 de ce guide vous donnera le nom directement. - Un point mensuel de cinq minutes : Cost Explorer par service et par région, IP orphelines, disques sans machine, instantanés de plus de six mois.
Ce qui peut mal tourner
Cost Explorer n'affiche pas les deux derniers jours
C'est normal : les données arrivent avec jusqu'à 24 heures de retard et le jour en cours est incomplet. Pour voir l'effet de quelque chose que vous venez de supprimer, attendez un jour. Pour une vraie urgence (une boucle Lambda, une très grosse machine), n'attendez pas Cost Explorer : regardez directement la console du service.
La dépense est dans « EC2-Other » et je ne sais pas ce que c'est
« EC2-Other » regroupe tout ce qui n'est pas des heures de machine : disques EBS, instantanés, adresses IP, NAT Gateway, transfert entre zones. Filtrez sur ce service et groupez par Type d'utilisation ; le nom du type d'utilisation dit exactement duquel il s'agit.
J'ai supprimé l'objet mais la facture ne bouge pas
Ce qui a déjà été consommé ce mois-ci ne disparaît pas : la facture reflète la dépense cumulée jusqu'à aujourd'hui. Ce qui doit baisser, c'est la dépense quotidienne à partir de demain. Regardez Cost Explorer en granularité quotidienne au bout de deux jours et vérifiez que la marche est redescendue. Sinon, il reste un morceau (l'IP, le disque, l'instantané) de l'objet supprimé.
Je n'ai pas la permission de voir Facturation
Par défaut, seuls le compte racine et les utilisateurs avec des permissions de facturation entrent dans Cost Explorer. L'administrateur doit activer l'accès IAM aux informations de facturation dans les paramètres du compte et donner à l'utilisateur une politique comme Billing ou AWSBillingReadOnlyAccess.
Dans Simplio
Dans Simplio, l'écran Coûts affiche, pour chaque compte AWS connecté, ce qui a été facturé ce mois-ci jusqu'à aujourd'hui, la prévision de fin de mois et le mois précédent, en dollars et en euros, avec le coût approximatif de chaque objet : machines, bases de données, disques, instantanés, IP. Les cartes de chaque machine permettent de l'arrêter, de la supprimer ou d'en faire un instantané sur-le-champ, et le budget mensuel prévient par e-mail quand la dépense dévie.
Avec le journal d'activité, vous voyez qui a créé quoi et quand, et avec le budget par utilisateur chaque personne a son plafond avant que le problème n'arrive sur la facture.
La même chose, dans AWS et dans Simplio
| Dans la console AWS | Dans Simplio | |
|---|---|---|
| Voir ce qui a augmenté | Cost Explorer, cinq groupements et un jour de retard | Écran Coûts : ce mois, prévision et coût approximatif de chaque objet |
| Savoir qui l'a créé | Seulement s'il y avait des balises de coût activées avant | Journal d'activité : qui, quoi et quand |
| Couper la dépense | Chercher l'objet dans la console de chaque service et région | Arrêter, supprimer ou faire un instantané depuis la carte de l'objet |
| Éviter que ça se répète | Budget dans Budgets et balises obligatoires | Budget mensuel avec alerte par e-mail et budget par utilisateur |