Amazon EC2, S3, RDS et IAM sont certes souvent cités comme les services essentiels d’AWS. Mais il y a un service qui peut facilement les détrôner en termes d’importance : le service de facturation !
Eh oui, c’est un service à part entière.
Dans un environnement de pay as you go, l’art de maîtriser ses coûts cloud peut être un avantage compétitif. Si vous divisez vos coûts Amazon EC2 par deux, vous pourrez offrir les meilleurs rabais à vos clients, ce qui attirera plus de clients, fera grimper votre revenu, et ainsi de suite.
Découvrons ensemble ce service omniprésent appelé Billing, ou tableau de facturation.
Prenez en main les principes de facturation
Pour vous rendre sur le service de billing, cliquez sur le nom de votre compte puis choisissez “Tableau de bord de facturation” :
Vous arrivez sur la console principale du service de facturation. Au centre vous retrouvez le récapitulatif de vos coûts actuels et prévisionnels, le nombre de services actifs, etc.
Vu que nous nous sommes limités à l’offre gratuite dans ce cours, vous devriez voir ici $0.00.
Dans le menu à gauche, il y a trois menus principaux à connaître :
Factures (1) : vous retrouverez le détail de vos factures par service, région et type d’usage. AWS est capable de vous fournir l’information au gigaoctet près !
Paiements (2) : vous retrouverez vos factures une fois le paiement effectué.
Cost Explorer (3) : un sous-service offrant une véritable gestion des dépenses sur AWS, de la visualisation de graphiques de coûts jusqu’au suivi des savings plans. Si vous constatez une dépense anormale, c’est par là qu’il faut commencer.
Cost Explorer est l’outil principal d’investigation des centres de coûts, donc nous allons nous focaliser dessus dans la prochaine section.
Découvrez Cost Explorer
Dans le menu “Tableau de facturation” cliquez sur “Cost Explorer” puis “Lancer Cost Explorer” :
On atterrit sur une nouvelle console avec des dizaines de menus. Ne vous en faites pas, comme toujours dans AWS vous n’avez pas besoin de connaître tout de suite tous les écrans, cela viendra plus tard.
Cliquez sur “Cost Explorer” dans le menu à gauche. Vous devriez voir un graphique similaire.
Comme vous le voyez, sur ce compte AWS les instances EC2 coûtent presque $18 par mois. On peut jouer avec les filtres pour classer les dépenses par type d’utilisation, plutôt :
Là on voit que ce sont des instances de type t3a.micro en région eu-west-3 (Paris) et EU (historiquement eu-west-1, c’est-à-dire Irlande) qui nous coûtent le plus cher. On a aussi un instantané EBS (snapshot) qui coûte $2 par mois. Est-ce vraiment nécessaire ? C’est toujours cela d’économisé. :)
Vous savez explorer et surveiller vos coûts, c’est déjà très bien, mais ce n’est pas suffisant. Pour cette dernière section du cours, je vous propose de voir ensemble les astuces pour réduire le plus possible vos coûts AWS.
Les astuces pour réduire ses coûts
Dans la plupart des environnements AWS, Amazon EC2 est forcément le plus grand centre de coûts. C’est logique, un CPU est l’unité fondamentale de n’importe quelle tâche informatique. Comment donc réduire ses coûts sans revoir son architecture logicielle ?
Savings plans
Les savings plans sont le moyen le plus facile d’économiser jusqu’à 60 % de vos coûts EC2, si vous êtes prêt à vous engager sur plusieurs années. Prenons le cas classique d’un développeur qui a peut-être 3 serveurs Linux sur AWS.
Effectuez une simulation de type EC2 Instance Savings Plans, pour un engagement d’une durée d’1 an et sans frais initiaux.
Comme vous le voyez, on gagne de fait une remise de 37 %. Sans avance, ni quoi que ce soit. Il suffit juste de s’engager à laisser ces serveurs allumés toute l’année, ce qui n’est pas si choquant pour un site web.
Je vous entends déjà demander où signer… Vous verrez, c’est simple.
Rendez-vous dans Cost Explorer puis “Savings Plans”.
Cliquez sur “Acheter un savings plans”.
Renseignez la région et la famille d’instance, exactement comme dans la simulation.
Mettez le prix d’engagement multiplié par le nombre d’instances, soit 0.0144 x 3 = 0.0432.
Vous continuerez de bénéficier des savings plans, même si votre instance change de taille. Vous pourrez toujours accumuler plusieurs savings plans pour couvrir toute consommation qui dépasse votre engagement
Instances réservées RDS
Il n’y a pas qu’Amazon EC2 qui permette de réaliser des économies via un engagement longue durée. AmazonRDS propose une option similaire appelée “Instances réservées”.
Rendez-vous dans la console RDS cette fois-ci, choisissez “Instances réservées”, puis cliquez sur “Acheter une instance réservée”.
Le principe est le même : vous décrivez l’instance que vous souhaitez utiliser, son type, la durée d’engagement, et vous obtenez un prix qui peut être jusqu’à 60 ou 70 % inférieur à la tarification normale (à la demande).
Cette configuration nous donne un tarif horaire de $0.026, soit 40 % de réduction.
Vu que nous n’avons pas opté pour un paiement initial, nous n’aurons rien à payer. Il suffit de confirmer l’engagement pour appliquer la remise immédiatement à notre instance RDS actuelle. C’est aussi simple que cela !
S3 intelligent tiers
Bien que le prix du stockage sur Amazon S3 soit relativement raisonnable ($0.024/Go), une utilisation extensive du service pour y stocker des sauvegardes de bases de données et d’autres fichiers volumineux peut vous faire franchir le cap des $50 par mois.
Stocker un objet en tant que S3 Glacier Flexible Retrieval revient jusqu’à 5 fois moins cher que le stocker en tant qu’objet Standard. C’est une belle économie, mais le revers de la médaille est que l’accès au fichier peut prendre jusqu’à quelques heures ! L’autre difficulté est qu’il faut continuellement revoir les classes de stockage des objets pour optimiser ses coûts.
Heureusement, pour automatiser ce type d’optimisation, AWS a défini une nouvelle classe de stockage dynamique appelée S3 Intelligent-Tiering, ou hiérarchie intelligente. Pour faire simple, AWS va inspecter l’usage de vos fichiers sur les 30 derniers jours, et progressivement déplacer ceux qui sont rarement utilisés, dans des classes de stockage de moins en moins chères.
La progression est la suivante :
les fichiers récemment utilisés demeurent facturés à $0.024/Go ;
les fichiers non utilisés en 30 jours obtiennent le niveau d’accès “peu fréquent” et sont facturés $0,0131/Go, soit 46 % d’économie ! Le temps d’accès demeure inchangé ;
les fichiers non utilisés en 90 jours obtiennent le niveau d’accès “Archive Instant”. Ils sont facturés $0,005/Go, soit 80 % d’économie ! De même, le temps d’accès demeure inchangé.
Vous pouvez choisir la classe de stockage Hiérarchie intelligente lors du dépôt d’un fichier dans le bucket. Vous pouvez aussi l’imposer à tous les fichiers en configurant une règle de cycle de vie.
Allez dans le menu “Gestion” de votre Bucket S3.
Cliquez sur “Créer une règle de cycle de vie”.
Ajoutez une règle pour faire transiter les fichiers vers la classe de stockage Hiérarchie intelligente au bout de quelques jours, par exemple :
Nous avons fait le tour des principales astuces pour optimiser votre facture sur AWS. Au fur et à mesure de votre exploration des services AWS, sachez qu’il y a toujours des possibilités de configurer vos ressources de manière à minimiser vos coûts. Dans un environnement de “pay as you go”, cette compétence est primordiale ! N’hésitez donc pas à la cultiver !
En résumé
Cost Explorer est l'outil de choix sur AWS pour suivre précisément ses coûts, les visualiser par service, etc.
Les savings plans sur Amazon EC2 permettent d'économiser jusqu'à 60 % selon les configurations choisies, tout en gardant un maximum de flexibilité quant à la famille de l'instance choisie.
Les instances réservées sur RDS offrent jusqu'à 70 % de réduction, mais vous imposent de vous engager sur un type d'instance en particulier, pour une durée d'1 à 3 ans.
La hiérarchie intelligente sur S3 permet de réduire vos coûts de stockage en déplaçant automatiquement les objets non utilisés vers des classes de stockage moins chères.
Bravo, nous avons complété le dernier chapitre du cours ! Et si on faisait un dernier petit quiz pour asseoir nos compétences fraîchement acquises ?