Notions de base sur la facturation et l'optimisation des coûts
GUIDE DE MISE EN ROUTE
Introduction
Lorsque vous utilisez le cloud pour héberger vos applications et systèmes, il est important que vous compreniez comment fonctionne le modèle de facturation et comment optimiser vos coûts. Le cloud vous permet de passer de dépenses fixes (comme les centres de données et les serveurs physiques) à des dépenses variables, et de ne payer que les ressources que vous consommez. Il existe plusieurs dimensions de facturation différentes, selon le type de ressource que vous utilisez. Celles-ci peuvent aller de la durée d'exécution d'une ressource, à la quantité de données stockées, transférées ou traitées ou au nombre d'appels d'API effectués.
-
Comment puis-je consulter mes coûts ?
La première étape de la compréhension de votre facturation est de pouvoir déterminer les ressources dont vous disposez et le coût de leur exploitation. Le tableau de bord de facturation AWS de la console de gestion AWS présente un aperçu général de vos coûts mensuels actuels, ainsi qu'une prévision basée sur les ressources actuellement en cours d'exécution. Si vous n'êtes pas assez familiarisé avec la console, nous vous recommandons de lire le didacticiel Mise en route avec la console de gestion AWS. Les informations relatives à la facturation sont considérées comme sensibles et, à ce titre, seul l'utilisateur racine d'un compte AWS a initialement accès à cette section de la console. Si vous êtes incapable de consulter le tableau de bord de facturation, vous devrez déléguer l'accès à votre utilisateur AWS IAM. Voici un exemple de tableau de bord de facturation, qui montre les services actuellement en cours d'utilisation et leur coût :
Bien que le tableau de bord de facturation vous présente une vue d'ensemble et une ventilation détaillée des coûts, vous pourriez vouloir examiner les coûts plus en détail. Vous pouvez le faire à l'aide de l'Explorateur de coûts AWS. Il vous permet de voir les services qui ont été utilisés et le montant contribué par chacun à vos dépenses mensuelles. Les différentes valeurs sont également représentées dans un graphique, que vous pouvez utiliser pour filtrer un certain nombre de dimensions différentes, telles que la région ou le service. Voici un exemple de tableau de bord de facturation :
-
Puis-je recevoir une alerte lorsque mes prévisions de dépenses dépassent un certain montant ?
Oui ! C'est l'une des premières choses à configurer lorsque vous créez un nouveau compte AWS. Suivez les instructions du guide de l'utilisateur Amazon CloudWatch pour configurer une alerte basée sur le total des frais estimés. Vous pouvez définir des alarmes supplémentaires en fonction d'un certain nombre de métriques ou de dimensions, selon vos besoins.
-
Quelles ressources sont gratuites ?
L' offre gratuite AWS offre aux clients la possibilité d'explorer et d'essayer gratuitement les services AWS avec des limites spécifiées pour chaque service. L'offre gratuite comprend trois types d'offres : une offre gratuite de 12 mois, une offre gratuite permanente et des essais de courte durée. Les services associés à une offre gratuite de 12 mois permettent aux clients d'utiliser gratuitement le service dans les limites spécifiées pendant un an à compter de la date de création du compte. Les services associés à une offre gratuite permanente permettent aux clients d'utiliser le produit gratuitement dans les limites spécifiées, tant qu'ils sont clients AWS. Les services associés à une période d'essai de courte durée sont gratuits pour une période de temps spécifiée, ou jusqu'à une limite fixée en fonction du service sélectionné. Pour connaître les ressources de l'offre gratuite que vous utilisez actuellement et la quantité que vous utilisez de chacune d'elles, ouvrez le tableau bord de l'offre gratuite dans la section Facturation de votre compte AWS. Voici un exemple de ce que vous pourrez voir :Si vous n'avez pas encore créé de compte, ou si c'est votre première utilisation d'AWS, nous vous recommandons de vous familiariser avec la console de gestion AWS et de lire la section Configuration de votre environnement AWS.
-
Puis-je payer un montant mensuel fixe et prévisible ?
Les services d'AWS sont généralement facturés à un taux de consommation calculé en fonction de différentes dimensions, notamment la durée d'exécution de la ressource, la quantité de données traitées ou transférées et le nombre de requêtes. Certains services ont un offre gratuite et vos coûts mensuels dépendent de la combinaison de services que vous utilisez.
Si vous recherchez une solution facturée à coût fixe et prévisible, Amazon Lightsail est un service qui propose des instances de serveur privé virtuel (VPS), des conteneurs, du stockage, des bases de données, etc., faciles à utiliser et à un prix mensuel avantageux. À titre d'exemple, suivez ce didacticiel sur le déploiement d'un site WordPress sur Amazon Lightsail.
-
Comment puis-je réduire ma facture mensuelle ?
Vous pouvez réduire votre facture mensuelle de plusieurs manières. Vous pouvez notamment optimiser les quantités ou tailles d'instances ou de bases de données que vous utilisez, migrer des bases de données sous licence vers des bases de données open source, augmenter et réduire l'échelle automatiquement en fonction de la demande, ou modifier vos services pour utiliser AWS Lambda ou d'autres services sans serveur qui réduisent l'échelle à zéro lorsqu'ils ne sont pas utilisés. Une autre option consiste à désactiver les environnements et les ressources qui ne sont pas utilisés 24 h/24 et 7 j/7. Par exemple, une semaine compte un total de 168 heures. Si les développeurs n'utilisent l'environnement de développement que pendant les heures de bureau (de 8 h à 18 h [10 heures]), sept jours par semaine, sa désactivation vous permettrait d'économiser 98 heures par semaine (~ 58,33 %). Pour mettre en œuvre cette solution, vous pouvez consulter Instance Scheduler sur AWS afin de désactiver automatiquement les instances et les bases de données selon un calendrier.Les sections ci-dessous présentent des scénarios spécifiques pour l'utilisation des instances AWS Spot, avec un autoscaling qui augmente ou réduit en fonction de la charge, ce qui permettrait d'optimiser les coûts de réseau, de calcul et de base de données.
-
Que sont les instances Spot ?
Lorsque vous lancez une instance EC2, elle est appelée instance à la demande, avec des coûts associés par seconde d'exécution. Vous pouvez également la transformer en instance EC2 Spot, ce qui vous permet de tirer parti de la capacité EC2 inutilisée dans le cloud AWS. Les instances Spot sont disponibles avec une réduction allant jusqu'à 90 % par rapport aux tarifs à la demande. Le problème est que, comme elle repose sur une capacité EC2 inutilisée, elle peut être résiliée à un moment donné en cas de pic d'instances à la demande, avec un avertissement de 2 minutes avant que cela ne se produise. Cela vous permet d'achever toute demande en cours sur l'instance, de la fermer correctement ou de la suspendre jusqu'à ce que de la capacité Spot soit à nouveau disponible. Vous pouvez également utiliser une combinaison de différents types d'instances Spot afin de réduire le risque de ne pas disposer d'une capacité suffisante pour vos requêtes. Consultez la section suivante pour en savoir plus.
-
Mettre les ressources automatiquement à l'échelle en fonction de la demande
L'augmentation et la réduction des ressources en fonction de la charge de travail actuelle vous permettent de disposer d'une capacité assez suffisante pour traiter les demandes entrantes. Pour les instances Amazon EC2, cela peut être réalisé par l'utilisation de l'autoscaling et la configuration des règles de mise à l'échelle en fonction des métriques, notamment la charge du processeur, les entrées/sorties du réseau, le nombre de requêtes, etc. Pour les charges de travail présentant des pics prévisibles, comme un système utilisé par un établissement scolaire où la plupart des personnes se connectent et commencent à l'utiliser à 7 h, vous pouvez configurer l'autoscaling avec une mise à l'échelle prédictive pour réaliser la mise à l'échelle selon un calendrier, entre 6 h 50 et 18 h 10, par exemple.
Comme indiqué dans la section précédente, les instances Spot constituent un autre moyen de réduire les coûts des instances EC2. Grâce à l'autoscaling, vous pouvez créer des flottes mixtes d'instances composées d'une association d'instances à la demande et d'instances Spot, avec des options permettant de choisir les instances Spot à utiliser. Par exemple, vous pouvez la configurer pour utiliser des instances Spot pour les instances de type m5.large et m5.xlarge, avec une pondération indiquant la capacité fournie par chacune d'entre elles. Dans cette instance, le type m5.xlarge a deux fois plus de capacité de calcul que le m5.large, donc une valeur de 2 lui est attribuée, et le m5.large a une valeur de 1, ce qui permettra à l'autoscaling de décider quel type choisir lors de la mise à l'échelle. La dimension de l'instance Spot à choisir peut être configurée en fonction du prix le plus bas, où l'on choisira l'instance ayant le coût unitaire le plus bas, tel que défini avec les pondérations, ou optimisée en termes de capacité, où l'on choisira le type d'instance ayant la capacité Spot la plus récente, réduisant ainsi le risque d'interruption de votre charge de travail.
Si vous utilisez des fonctions Lambda pour vos applications, il existe un outil open source AWS Lambda Power Tuning, hébergé sur GitHub, qui permet de tester le code sur différentes configurations Lambda afin de rechercher la meilleure combinaison coûts-performances pour vous.
-
Optimisation des coûts de calcul
Pour optimiser les coûts, un bon point de départ consiste à analyser la taille de vos instances EC2 ou de vos fonctions Lambda en fonction de la quantité de traitement qu'elles effectuent. Les différents types d'instances EC2 sont optimisés pour différentes charges de travail, telles que les processeurs à haute fréquence, la capacité de mémoire élevée, le stockage local rapide sur SSD NVME, les GPU attachés pour le machine learning, et le débit réseau élevé. Par exemple, si vous constatez que votre charge de travail est gourmande en ressources processeur, il peut être moins coûteux d'utiliser la famille d'instances C5 plutôt que les instances à usage général M5. Par contre, si vous ne constatez que des pics périodiques d'utilisation du processeur, la famille d'instances T à capacité extensible pourrait être mieux adaptée à votre charge de travail. Pour commencer à optimiser votre calcul, vous pouvez utiliser l'optimiseur de calcul AWS pour analyser les charges de travail en cours afin de formuler des recommandations.
-
Optimisation des coûts de transfert de données
Le transfert de données entre les régions AWS, les zones de disponibilité (AZ) ou entre AWS et Internet est associé à un coût. Vous pouvez réduire ce coût avec une conception d'infrastructure qui achemine le trafic en suivant des itinéraires optimaux. La première étape consiste à examiner les points de terminaison de VPC pour déterminer si vous faites des appels à des services AWS, tels qu'Amazon S3 ou Amazon ECR. En créant un point de terminaison de VPC au sein de votre VPC, vos appels vers les services AWS pris en charge sont acheminés via celui-ci et restent dans le réseau AWS au lieu d'être appelés vers l'extérieur du VPC vers Internet, puis de revenir de nouveau vers le réseau AWS. Cela vous permettra d'éviter les frais de sortie du réseau.
L'étape suivante consiste à optimiser les appels entre vos infrastructures. Lorsque vous déployez sur plusieurs zones de disponibilité à des fins de résilience, vous pouvez utiliser l'affinité de la zone de disponibilité pour s'assurer que les appels sont acheminés autant que possible à l'intérieur de chaque zone de disponibilité. Si votre application utilise une base de données prise en charge par Amazon RDS, vous pouvez créer des réplicas en lecture afin que tous les appels en lecture puissent être effectués à l'aide de la réplica en lecture au sein de la même zone de disponibilité.
-
Optimisation des coûts des bases de données
Pour commencer à optimiser les coûts de base de données, vous pouvez déployer des réplicas en lecture supplémentaires pour décharger les requêtes de la base de données principale qui lit uniquement des données. Cela permettra de libérer de la capacité sur le nœud principal qui gère toutes les modifications de données (mises à jour, insertions et suppressions). Cela permet d'optimiser l'instance de la base de données jusqu'au moment où il faut commencer à l'augmenter ou à la réduire en fonction des fluctuations de la charge. Vous pouvez modifier la taille de l'instance d'une base de données Amazon RDS, mais cela nécessite une déconnexion de la base de données pendant la modification du type d'instance. Si votre application doit être en fonctionnement continu, il serait utile d'utiliser Amazon Aurora, est un service de base de données relationnelle qui associe la vitesse et la disponibilité des bases de données commerciales haut de gamme à la simplicité et la rentabilité des bases de données open source. Aurora est entièrement compatible avec MySQL et PostgreSQL, ce qui permet aux applications et outils existants de s'exécuter sans modifications. Amazon Aurora sans serveur est une configuration à la demande pouvant être mise à l'échelle pour Aurora, dans laquelle la base de données démarre, s'arrête, augmente et réduit la capacité automatiquement en fonction des besoins de votre application.
-
Comment optimiser une charge de travail fixe
Lorsque vous avez optimisé votre charge de travail autant que possible et que vous devez prendre en charge une charge minimale fixe, il sera utile d'envisager de souscrire à un Savings Plan. Un Savings Plan est un modèle de réduction flexible qui vous permet de bénéficier des mêmes remises que les instances réservées, en échange d'un engagement d'utiliser une quantité spécifique (mesurée en dollars par heure) de puissance de calcul sur une période d'un ou trois ans. Les Savings Plans sont disponibles en deux versions :
Les Compute Savings Plans vous offrent la plus grande flexibilité qui soit et vous permettent de réduire vos coûts jusqu'à 66 % (tout comme les IR convertibles). Les plans s'appliquent automatiquement à toutes les instances EC2, indépendamment de la région, de la famille d'instances, du système d'exploitation ou de la location, y compris celles qui font partie d'Amazon EMR, d'Amazon ECS ou d'un cluster Amazon EKS. Par exemple, vous pouvez passer d'une instance C4 à une instance C5, déplacer une charge de travail de Dublin à Londres ou migrer d'EC2 vers AWS Fargate, tout en bénéficiant des tarifs de Savings Plans en cours de route, sans rien faire.
Les EC2 Instance Savings Plans s'appliquent à une famille d'instances spécifique au sein d'une région et offrent la réduction la plus importante (jusqu'à 72 %, comme les instances réservées standard). Tout comme pour les instances réservées standard, votre Savings Plan couvre l'utilisation de tailles différentes du même type d'instance (comme une instance c5.4xlarge ou c5.large) dans une région. Vous pouvez même passer de Windows à Linux tout en continuant à en bénéficier, sans avoir à modifier votre Savings Plan.
-
Outils et services utiles à l'optimisation des coûts
Outils et services utiles à l'optimisation des coûts
- Optimisez les coûts de stockage Amazon S3 à l'aide d'Intelligent Tiering
- Amazon S3 Storage Lens
- AWS Cost Anomaly Detection