Table des matières de l'article :
L'optimisation des coûts AWS, en tant que sujet, est très vaste et il existe de nombreuses ressources sur le Web. Cependant, la plupart d'entre eux sont théoriques. Combien d'argent pouvez-vous vraiment économiser en suivant les conseils donnés ? Dans cet article, nous adopterons une approche différente de l'optimisation des coûts AWS. Nous fournirons une approche pratique pour économiser de l'argent, ainsi que des exemples concrets de la façon de réduire les coûts du cloud pour votre entreprise.
AWS Cost Optimization est un processus continu d'identification et d'élimination des ressources gaspillées. Dans cet article, vous apprendrez à optimiser les coûts du cloud dans les domaines suivants : Planification et prévisions. Optimisation de l'allocation des ressources. Meilleures pratiques d'optimisation des coûts du cloud. Étapes pour optimiser les coûts AWS. Liste de contrôle d'optimisation des coûts AWS.
Cet article détaillera comment Back4App a réduit sa facture AWS de 55.492 20.074 $/mois à 500.000 XNUMX $/mois et réalisé des économies annuelles de plus de XNUMX XNUMX $. Nous fournirons des directives pratiques basées sur notre expérience de la gestion des coûts AWS et partagerons quelques conseils qui ont bien fonctionné pour nous.
AWS continue d'innover et de dominer le marché du cloud. Il a tellement grandi qu'il est devenu un élément clé de la stratégie d'Amazon. Je suis un utilisateur enthousiaste d'AWS, mais mes préoccupations concernant sa complexité et son coût m'ont amené à explorer des moyens d'optimiser l'utilisation du cloud. Bien qu'il offre une gamme de services de plus en plus sophistiqués pour de nombreux types d'exigences de développement, ce n'est pas toujours l'option la plus simple, la plus rapide ou la plus abordable. Idéalement, vous devez concevoir votre architecture pour optimiser les coûts dès que vous passez au cloud. Ce guide vous aidera à accélérer votre optimisation des coûts AWS grâce aux véritables leçons tirées de notre parcours d'économies de coûts dans le cloud.
Voici un résumé de ce que vous trouverez en lisant cet article :
- Demandez des crédits AWS et recevez jusqu'à 100.000 XNUMX $ ;
- Déplacez le transfert de données vers Cloud Front et économisez jusqu'à 75 % ;
- Utilisez une IP privée (pas une IP élastique) et arrêtez de payer pour le transfert de données entre AZ ;
- Réduisez les coûts de transfert de données avec la mise en œuvre de l'API GraphQL ;
- Économisez jusqu'à 90 % avec l'utilisation d'instances Spot ;
- Économisez jusqu'à 75 % en achetant des instances réservées sur AWS Marketplace ;
- Achetez des nœuds Elastic Cache réservés et économisez jusqu'à 77 % ;
- Sauvegardez vos données dans S3 et non dans EBS et économisez 75 % ;
- Mettre en œuvre l'autoscaling pour les ressources inactives ;
- Partez dans la région de la Virginie du Nord et évadez-vous de Sao Paulo ;
- Passez aux familles de nouvelle génération et économisez jusqu'à 20 % ;
- Placez un point de terminaison S3 dans votre VPC et activez Enhanced Network sur EC2.
- Éliminez les équilibreurs de charge inactifs.
- Utilisez le nouveau AWS Savings Plan et économisez jusqu'à 72 %.
Voici à quoi ressemblait notre facture AWS en janvier 2019. Un coût total du cloud de 55.492 XNUMX $.
Voici à quoi ressemblait notre facture AWS en mai 2019. Le coût total était de 20.074 XNUMX $.
Voici 10 façons de réduire les coûts AWS
1. Crédits AWS
En partant du début ! Avant de faire toute autre activité, vérifiez si votre entreprise est éligible aux crédits AWS ! C'est ainsi que vous pouvez obtenir des crédits AWS.
Demander des crédits AWS
C'était notre cas ! C'était en 2016 et nous avons développé l'activité assez rapidement. Notre facture AWS commençait à augmenter et nous n'avions aucune idée ni le temps d'optimiser les coûts AWS. L'entreprise n'avait toujours pas de fonds et nous aurions gagné des crédits AWS ou serions morts. Nous avons préparé une analyse de rentabilisation pour notre responsable de compte qui montre à quel point nous étions en croissance et les avantages d'AWS en conservant notre compte. Nous leur avons montré que nous n'avions pas de fonds et que nous devions passer à Google Cloud (ils nous ont offert 100.000 100.000 $ de crédits pour migrer depuis AWS) à moins que nous n'obtenions les crédits. La réponse a pris environ une semaine, et AWS nous a fourni 12 750.000 $ de crédits à utiliser pendant XNUMX mois. C'était aussi une bonne affaire pour AWS ! Comme les crédits ont expiré, nous avons dépensé plus de XNUMX XNUMX $ avec eux.
Crédits pour les tests POC et la mise en œuvre
Si vous testez un nouveau service ou type d'instance AWS, demandez des crédits à votre responsable de compte AWS. Le nombre de crédits varie en fonction des dépenses mensuelles et de l'effort total pour mettre en œuvre le POC. Ces crédits ne durent généralement que trois mois et vous devez vous assurer d'accélérer le POC. Dans notre cas, nous avons pu obtenir 3.000 3 $ de crédits pour le tester avec la famille d'instances iXNUMX.
Crédits pour les startups
Si vous démarrez votre propre entreprise ou avez une startup, c'est un excellent moyen d'aller de l'avant. Le montant des crédits varie de 1.000 100.000 $ à XNUMX XNUMX $ selon la manière dont vous soumettez votre candidature à AWS. Il existe plusieurs façons d'obtenir ces crédits.
Accélérateurs
L'un des principaux avantages d'un accélérateur de démarrage est les avantages qu'il offre. Les crédits des fournisseurs de services cloud font partie des avantages. Le montant que vous pouvez obtenir ici varie en fonction de l'accélérateur pour lequel vous êtes approuvé. Les meilleurs comme YC, Alchemist, Wayra et 500 Startups vous offriront 100.000 100.000 $ en crédits AWS. Dans notre cas, nous avons été acceptés par Alchemist Accelerator et avons eu droit à 100.000 200.000 $ de crédits. Malheureusement, nous n'avons pas pu utiliser les crédits car nous avions précédemment utilisé d'autres crédits. AWS ne vous permet pas d'ajouter des crédits. Par exemple, si vous êtes accepté sur deux programmes d'accélération et obtenez 100.000 XNUMX $ en crédits sur chacun, vous ne pourrez pas utiliser XNUMX XNUMX $, seulement XNUMX XNUMX $.
Fonds VC et groupes providentiels
Certains groupes VC / Angel fourniront des crédits cloud dans le cadre du package d'avantages. Dans notre cas, nous avons pu obtenir 10.000 XNUMX $ de crédits promotionnels valables deux ans auprès d'un de nos investisseurs. Malheureusement, nous n'avons pas pu utiliser les crédits. Les entreprises ne sont pas éligibles aux crédits promotionnels AWS si elles ont déjà reçu un montant de crédit similaire ou supérieur.
Tous les principaux acteurs du cloud fournissent des crédits de démarrage
Tous les grands acteurs du cloud offriront des crédits aux startups. Sur AWS/Google, le montant du crédit passera à 100.000 360.000 $, et sur Azure, vous pourriez obtenir XNUMX XNUMX $ à utiliser pendant trois ans.
2. Implémentez une routine de réduction des coûts AWS
La partie facile est terminée et maintenant allons-y pour le travail acharné ! Il n'y a pas de pilule magique et pour réduire les coûts AWS, vous devrez travailler dur et avoir une routine de suivi des coûts régulière ! La réduction des coûts du cloud doit faire partie de votre routine quotidienne ! Imaginez combien vous pouvez économiser après 365 jours ! Le temps que vous investissez dépend de la taille de votre organisation et de vos dépenses AWS. J'investis environ 30 minutes par jour pour surveiller le compte et prioriser les actions de réduction des coûts. En plus de celle des ingénieurs Back4App, ils passent au moins 1h/jour à mettre en place des initiatives de réduction des coûts.
La première action que nous avons mise en place a été de créer une simple feuille de calcul Excel (à télécharger ci-dessous) et de prioriser les initiatives de réduction des coûts.
Les principales variables que nous avons utilisées pour déterminer les économies étaient :
- Potentiel d'économie de coûts : gains maximaux par action d'économie de coûts
- Complexité : la difficulté de mettre en œuvre le travail et les efforts requis
- Propriétaire : qui effectuera l'action
3. EC2 - Cloud de calcul élastique
Voici quelques conseils pour optimiser vos dépenses EC2.
Arrêter les instances inutilisées
La première chose à faire pour réduire les dépenses EC2 est de fermer les instances inutilisées. Il n'y a pas de science-fusée ici, et la plupart du travail est assez simple. Tout ce que vous avez à faire est de répertorier toutes vos instances, de télécharger un exemple Excel gratuit et de classer chacune d'entre elles. Dans notre cas, nous avons classé nos instances en 3 grandes catégories :
- Instances qui doivent rester actives
- Instances pouvant être arrêtées
- Instances pouvant être résiliées
Résiliez les instances inutilisées dans la mesure du possible ! Si vous l'interrompez, vous continuerez à faire fonctionner les coûts EBS !
Réduire les ressources importantes
Cette action est un peu complexe et est essentielle pour évaluer correctement la taille de l'instance. Assurez-vous d'évaluer au moins une semaine de données pour augmenter la probabilité de dimensionner correctement l'instance. La façon dont nous l'avons vérifié consistait à classer les instances en 3 catégories principales (téléchargez Excel ci-dessous)
- Taille correcte
- Réduire la taille de l'instance
- Augmenter la taille de l'instance
Réduire progressivement la taille de l'instance
Réduisez la taille de l'instance étape par étape. Par exemple, ne réduisez pas la taille de t2.xlarge à t2.medium. Commencez par le réduire de t2.2xlarge à t2.xlarge. Surveillez pendant une semaine, vérifiez la quantité de ressources utilisées et mettez à nouveau en œuvre le cycle de réduction. En faisant cela, vous diminuerez la probabilité d'avoir des temps d'arrêt ou de faire des erreurs.
Utiliser des instances réservées
La réservation d'une instance peut vous faire économiser jusqu'à 70 %. Veuillez noter que lorsque vous réservez une instance, vous paierez l'utilisation 24h/24 et 7j/7 pour toute la période réservée. Vous paierez, que les ressources soient utilisées ou non.
Il existe deux types d'instances réservées qui proposent des cours :
- Standard - Vous pouvez vendre sur AWS Marketplace, vous ne pouvez pas convertir vers un autre type d'instance, c'est moins cher que les instances convertibles.
- Convertible : ne peut pas vendre sur AWS Marketplace, peut être converti en un autre type d'instance, qui est plus cher que les instances standard.
Les instances convertibles sont très compliquées ! Chaque fois que vous convertissez une instance, vous pouvez uniquement mettre à jour l'utilisation. Par exemple, considérons la situation suivante.
- Vous avez acquis une instance réservée convertible t3.medium.
- Vous avez décidé de convertir l'instance t3.medium en une instance m5.large.
Ce n'est plus possible !
Il n'est pas possible de rétrograder une instance convertible, uniquement pour augmenter le montant dépensé avec elle. Assurez-vous donc de commencer avec de petites instances convertibles et de les faire évoluer au fil du temps. Ne commencez pas avec une grande instance car vous ne pouvez pas la rétrograder ou la vendre sur AWS Marketplace. Si vous faites une erreur avec les RI convertibles, vous vous engagez à un paiement mensuel pendant 12 ou 36 mois. Chez Back4App, la façon dont nous gérons les instances convertibles consiste toujours à acquérir t2.nano et à le mettre à jour si nécessaire.
Je préfère les instances réservées standard aux instances réservées modifiables. Les raisons sont :
- Ils sont moins chers
- Ils ont des liquidités - vous pouvez vendre sur AWS Marketplace à tout moment
- Vous pouvez l'acheter sur AWS Marketplace à prix réduit
AWS a publié ce nouveau modèle de tarification flexible le 6 novembre 2019, et cela semble être un moyen beaucoup plus simple d'économiser sur la puissance de calcul.
Les plans d'économies sont un modèle de tarification flexible qui offre des prix bas sur l'utilisation d'EC2 et de Fargate, en échange d'une promesse d'une quantité constante d'utilisation (mesurée en $/heure) sur un cycle d'un ou trois ans. Lorsque vous souscrivez à des plans d'épargne, le prix du plan d'épargne réduit vous sera attribué pour votre utilisation jusqu'à votre engagement. Par exemple, si vous vous engagez à utiliser 100 USD d'EC2 par heure, vous obtiendrez des prix de plan d'économies sur cette utilisation jusqu'à 100 USD et AWS facturera toute utilisation dépassant l'engagement aux tarifs à la demande.
Voici comment le processus fonctionne :
- Accédez à la console de gestion de la facturation
- Sur le côté gauche, recherchez Plan d'épargne et cliquez dessus.
- La page suivante s'ouvrira :
En haut à droite, cliquez sur Acheter un plan d'épargne. Vous devez maintenant choisir entre Compute et EC2 Savings Plan.
Pour cet achat, je choisirai Compute car il offre plus de flexibilité. L'étape suivante consiste à choisir la durée de l'engagement : Deux options : (I) 1 an (II) 3 ans Pour cet achat, je choisirai un engagement de 3 ans pour bénéficier des meilleurs taux d'épargne. Maintenant, vous devez choisir l'engagement horaire. Je choisirai un engagement de 0,01$/heure pendant 3 ans. Il encourra un coût initial de 262,80 $.
Cliquez sur Ajouter au panier. Une nouvelle page s'ouvrira avec les informations d'achat.
Cliquez sur Soumettre la commande.
Considérez que vous avez un compte exécutant une instance Linux m5.large dans la région de Virginie du Nord. Le compte aura les frais de traitement suivants sur demande :
- Coût horaire : 0,096 $
- Coût journalier : 2,304 XNUMX $
- Coût annuel : 840,96 $
Combien de plans d'épargne devriez-vous acheter ?
Devriez-vous acheter 840,96 $? La réponse est non! C'est le plein tarif sur demande ! De cette façon, vous dépasserez l'achat et un pourcentage de votre plan d'épargne ne sera pas utilisé. Le fonctionnement du plan d'économies est différent des instances réservées et veuillez être prudent lors de son achat.
Faisons le calcul ici. Selon la page de tarification AWS Savings Plan, le Savings Plan pour l'instance Linux m5.large bénéficiera d'une remise de 31 % sur le tarif à la demande.
- Plan d'épargne = Prix à la demande x (Taux d'actualisation 1)
- Plan d'épargne = 840,96 $ * (1–31%)
- Plan d'épargne = 580,26 $
Garde en tête que Vous ne pouvez pas vendre Savings Plan sur AWS Marketplace . Dès que vous l'achetez, l'engagement est pour toute la période et vous n'avez pas la possibilité d'annuler l'achat . Si vous souhaitez disposer de la flexibilité nécessaire pour vendre des instances sur AWS Marketplace, achetez des instances réservées standard. Lisez le paragraphe suivant pour plus d'informations sur la façon d'acheter et de vendre sur AWS Marketplace.
Utiliser AWS Marketplace pour les instances réservées
Les instances réservées sont excellentes, mais les instances réservées achetées sur AWS Marketplace sont encore meilleures !
AWS Marketplace peut être beaucoup moins cher
AWS Marketplace ressemble à une bourse ! Parfois, vous pouvez acheter des instances réservées standard à des prix beaucoup moins chers que d'acheter directement auprès d'AWS. La raison est simple; les entreprises ont parfois des étuis inutiles qui ne sont plus utilisés et continuent de les payer. Baisser le prix catalogue est un excellent moyen d'accélérer le processus de vente.
Je vais maintenant donner un exemple réel qui s'est produit avec Back4App. Je cherchais quatre instances réservées r4.large. J'ai pu trouver des instances sur AWS Marketplace avec des tarifs réels avec une remise de 75 % par rapport à la tarification à la demande. AWS vendait le même type d'instance réservée avec une remise de 62 %.
AWS Marketplace propose des conditions d'achat flexibles
L'autre avantage d'AWS Marketplace est que vous pouvez acheter des instances avec des conditions de durée flexibles. AWS ne fournit que 12 mois/36 mois d'options pour acquérir des instances réservées. L'AWS Marketplace est beaucoup plus flexible ! Par exemple, vous pouvez acheter des instances réservées d'une durée de 15 mois pour le même prix de 36 mois. Certaines entreprises acquièrent des réservations à long terme (36 mois) et, avant l'expiration de la réservation, vendent des instances sur AWS Marketplace. Le nouvel acheteur n'utilisera l'instance que pour le reste du terme. Par exemple:
- Durée totale de réservation : 36 mois
- Byer d'origine : utilisez l'instance pendant 21 mois
- Deuxième acheteur : achetez sur la place de marché et utilisez-le pendant 15 mois supplémentaires.
- Étape 1 : Accédez au tableau de bord des instances réservées
- Étape 2 : Cliquez sur Acheter des instances réservées
- Étape 3 : Dans la classe d'offre, sélectionnez Standard
- Étape 4 : En haut à droite de la fenêtre contextuelle, sélectionnez "Afficher uniquement les offres avec une capacité de réserve".
- Étape 5 : Cliquez sur Rechercher
- Étape 6 : Achetez une instance dans la zone de disponibilité 1b
- Étape 7 : Attendez que l'instance soit active
- Étape 8 : sélectionnez l'instance capturée
- Étape 9 : Cliquez sur le bouton Actions
- Étape 10 : Cliquez sur Modifier les instances réservées
- Étape 11 - Portée : Modifier AZ ou sélectionner Région
- Étape 12 : Cliquez sur Continuer
- Étape 13 : Cliquez sur Soumettre les modifications
AWS Marketplace pour les entreprises non américaines
Voici un guide précieux pour les utilisateurs qui n'ont pas d'entité légale aux États-Unis. Vous ne pourrez PAS vendre d'instances réservées standard sur la place de marché, sauf si vous disposez d'une entité juridique aux États-Unis. Si vous exploitez votre entreprise en dehors des États-Unis, vous ne pourrez acheter des instances que sur le Marketplace, mais vous ne pourrez pas les vendre.
Utiliser des instances ponctuelles
J'adore les instances Spot ! Vous pouvez économiser jusqu'à 90 % en l'utilisant et cela ne nécessite pas d'engagement à long terme ! Le seul inconvénient des instances ponctuelles est qu'AWS peut résilier ces instances avec peu ou pas de préavis (maximum 2 minutes). Par conséquent, ce type d'instance ne doit être utilisé que pour les charges de travail flexibles ou tolérantes aux pannes.
Utiliser SpotInst pour exécuter des instances ponctuelles
Un moyen infaillible d'exécuter des instances Spot et de minimiser le risque de temps d'arrêt consiste à utiliser la plate-forme SpotInst. Ce service se connectera à votre compte AWS et gérera l'allocation des instances Spot. Dans le cas où AWS met fin à une instance, ce service remplacera l'instance par une instance à la demande et empêchera les temps d'arrêt. La tarification est également assez intelligente et ils facturent 20% des économies nettes (entre le prix sur demande et le prix au comptant).
Un excellent cas d'utilisation pour les instances Spot consiste à exécuter des serveurs de base de données secondaires et également des applications de mise à l'échelle automatique. Utilisez SpotInst pour gérer l'attribution des spots et, très probablement, vous ne rencontrerez jamais de temps d'arrêt associé à l'utilisation de cette classe d'offres.
Scaling automatique (ressources inactives, démarrage/arrêt automatique des instances EC2)
AWS Auto Scaling surveille vos applications et ajuste automatiquement la capacité pour maintenir des performances stables et prévisibles au coût le plus bas possible. Vous pouvez configurer la mise à l'échelle automatique pour automatiser le démarrage et l'arrêt des instances EC2. Les groupes d'autoscaling tiennent compte de l'utilisation des ressources telles que le processeur, les demandes d'API ou les heures de début/fin.
Pour minimiser les coûts, vous devez utiliser Autoscaling + Instances Spot + Instances réservées. Voyons cette situation réelle à laquelle nous avons été confrontés ici sur Back4App. Les charges de travail sur nos serveurs d'applications varient tout au long de la journée. Le nombre de demandes que nous recevons n'est pas fixe et connaît des pics d'utilisation à des moments précis de la journée. Nous gérons cela en allouant des instances réservées pour l'utilisation de base (niveau minimum) et en évoluant avec des instances ponctuelles. L'image ci-dessous est utile pour comprendre la configuration que nous utilisons.
Voici combien vous pouvez économiser :
- Instances réservées : dans Back4App, nous avons une combinaison d'instances réservées standard de 12 mois / 36 mois. Nos économies moyennes sont de 50% par rapport aux coûts sur demande.
- Autoscaling : nous démarrons/arrêtons les instances en fonction du nombre total de demandes d'API reçues par chaque instance. Nous avons trois périodes d'utilisation de pointe tout au long de la journée, et les économies par rapport au maintien des ressources inactives en cours d'exécution 24h/24 et 75j/XNUMX avec une charge de travail maximale sont d'environ XNUMX %.
- Instances Spot - Nous avons une combinaison de deux types de famille fonctionnant sur Spotinst pour maximiser la disponibilité. Nos économies nettes sont de 55% par rapport aux prix sur demande. Il s'agit de nos économies nettes et tient compte du montant total que nous devons payer à SpotInst. L'exécution d'instances ponctuelles directement sur AWS nous permettrait d'économiser environ 70 %, mais augmenterait le risque de disponibilité. Nous aimons jouer la sécurité et avons décidé d'allouer une partie des économies à SpotInst.
Optimiser la mise à l'échelle avec la mise à l'échelle verticale / horizontale (Cloudformation)
Sélectionnez la bonne région AWS pour minimiser les coûts
Le coût varie selon la région! Choisissez le mauvais et vous finirez par payer beaucoup plus.
- 4 instances t3.medium
- 30 Go EBS alloués pour chaque instance
- 1 To de transfert total de données
- 221,65 $ / mois en Virginie du Nord
- 449,05 $ / mois à São Paulo
La centralisation des opérations dans une seule région offre des avantages supplémentaires.
- Il sera beaucoup plus simple de gérer l'allocation des Instances Réservées
- Vous n'aurez pas à subir de transfert de données régional.
Mettre à niveau les ressources de la génération précédente
AWS lance de temps à autre de nouveaux types d'instance. Les instances de nouvelle génération sont plus abordables et ont plus de puissance de traitement.
Instance d'ancienne génération
c4.grand
CPU 2
3,75 Go de mémoire
0,100 $ / heure
Instance de nouvelle génération
c5.grand
CPU 2
4 Go de mémoire
0,085 $ / heure
L'instance de nouvelle génération coûte 15 % de moins et dispose de 6 % de puissance de traitement en plus !
Activer la mise en réseau avancée
Activez une mise en réseau améliorée pour de meilleures performances d'instance !
Sélectionnez la bonne famille d'instances
AWS fournit plusieurs familles d'instances optimisées pour s'adapter à plusieurs cas d'utilisation.
- Usage général
- Stockage optimisé
- Optimisation du calcul
- Mémoire optimisée
- Calcul accéléré
Vous pouvez comparer les avantages et les inconvénients de chaque famille d'instances à l'aide de cet outil de comparaison de prix EC2.
Éliminer l'équilibreur de charge élastique inactif
Les frais de l'équilibreur de charge sont fonction des requêtes traitées et des heures d'exécution. Donc, si vous avez des équilibreurs de charge inactifs, assurez-vous de les supprimer. Sinon, vous paierez toujours 0,025 $ de l'heure (Classic LB en Virginie du Nord). Veuillez consulter les détails des prix ici.
4. EBS - Magasin de blocs élastiques
EBS fournit des volumes de stockage de blocs persistants à utiliser avec les instances EC2 dans le cloud AWS. Chaque volume Amazon EBS est répliqué dans sa zone de disponibilité pour vous protéger contre les pannes de composants, offrant une disponibilité et une durabilité élevées. Le coût par Go stocké dépend du type de volume où les données seront stockées. Les volumes les plus couramment utilisés sont les SSD à usage général et magnétiques.
SSD à usage général
0,10 $ / Go par mois
Magnétique
0,05 $ / Go par mois
Type EBS : SSD x magnétique
Commencez à mapper vos instances EC2 e télécharger ce dépliant di travail pour vous aider. Pour chaque instance, déterminez si le volume est magnétique ou SSD.
- Choisissez Magnétique sur SSD dans la mesure du possible.
- Remplacez les volumes SSD dans la mesure du possible.
La deuxième action pour économiser sur les coûts EBS consiste à déterminer la taille de chaque volume attaché. Il est courant d'avoir de gros volumes et une capacité inutilisée. Téléchargez cette feuille de travail pour en savoir plus.
Instances finales : Stop conservera les coûts EBS
L'arrêt d'une instance ne vous empêchera pas d'avoir des frais EBS ! Votre volume continuera d'être stocké et la facture arrivera ! Si vous n'avez plus besoin de l'instance et des données, résiliez l'instance ! Cette action arrêtera les coûts EC2 et EBS.
AWS vous permettra progressivement d'augmenter la taille de l'EBS, mais ne vous permettra pas de la réduire. Ainsi, en général, il est préférable d'avoir des volumes plus petits plutôt que des volumes importants et d'utiliser les volumes EBS uniquement lorsque cela est nécessaire.
Simulons à quel point cela peut coûter cher. Supposons que vous exécutez 10 instances t3.small et que chaque instance dispose de 50 Go de stockage SSD EBS. Le prix mensuel sera le suivant :
- Coût mensuel EC2 = 10 x 15,23 $ = 152,30 $
- Taille EBS totale : 10 x 50 Go = 500 Go
- Coût/Go : 0,10 $ par mois
- Coût mensuel EBS : 50,00 $
- Coût total : 182,30 $
Pensez au stockage éphémère
Évaluez également les avantages / inconvénients du stockage éphémère. Professionnellement, vous n'aurez pas à faire face aux coûts cachés d'EBS, vous aurez une latence plus faible et vous pourrez obtenir des remises sur les instances réservées. En revanche, vous n'utilisez peut-être pas tout le stockage interne disponible (et vous payez toujours pour cela), et la mise en œuvre d'instances ponctuelles sera plus compliquée.
Supprimer les volumes non attachés
Une autre action qui vous fera économiser de l'argent consiste simplement à supprimer les volumes non attachés et inutilisés.
Utilisez S3 pour sauvegarder vos données
EBS coûte au moins deux fois plus cher que S3 ! En général, vous devez de préférence sauvegarder vos données sur S3 et non sur EBS. Assurez-vous que vos sauvegardes s'exécutent également de manière incrémentielle et sont supprimées périodiquement.
5. Elastic Cache - Nœuds réservés
Ce que très peu de gens savent, c'est que vous pouvez acheter des instances réservées pour Elastic Cache. Les économies sont plutôt bonnes et détaillées ci-dessous :
- Réservation pour 1 an - 65% de réduction
- Réservation 3 ans - 77% de réduction
- Accédez à Elastic Cache (et non aux instances réservées EC2)
- Aller aux nœuds réservés
- Cliquez sur le bouton bleu Acheter un nœud réservé en haut à droite
- Sélectionnez Redis ou Memcached
- Sélectionnez le type de nœud
- Sélectionnez la période (1 ou 3 ans)
- Type d'offre (léger, moyen, lourd)
- Cliquez sur Suivant
Il n'y a pas d'AWS Marketplace pour Elastic Caching
Veuillez noter qu'il n'y a pas de place de marché pour les nœuds réservés ! Avant d'acheter, assurez-vous d'utiliser le nœud pendant au moins un an.
6. Données de transfert
Cette variable de coût peut devenir incontrôlable assez rapidement ! Il est très complexe à gérer et difficile de savoir d'où proviennent les données. De plus, il existe différents types de transfert de données. Par exemple, transfert de données sortant, transfert entre régions, transfert entre AZ, transfert S3, etc.
Je décrirai en détail comment Back4App a réduit les coûts de transfert de données et aussi comment les surveiller.
Comment réduire les coûts de transfert de données AWS ?
Voici quelques démarches pratiques qui vous permettront de réduire vos frais de déménagement.
Connectez vos terminaux S3 à Cloudflare ou à d'autres services CDN.
Cette action simple peut réduire vos coûts de transfert de données S3 de 5 fois en fonction de la quantité de cache dont vous disposez.
Adresses IP élastiques : choisissez une adresse IP privée dans la mesure du possible
C'en est une bonne! Le calculateur de tarification AWS indique que le transfert de données est gratuit pour les instances EC2, mais il dispose également d'une zone de saisie pour « IP publique / transfert de données IP élastique ». Si vous choisissez de communiquer en utilisant votre adresse IP publique ou Elastic ou Elastic Load Balancer sur le réseau Amazon EC2, vous paierez des tarifs de transfert de données intra-régionaux même si les instances se trouvent dans la même zone de disponibilité. Pour le transfert de données au sein de la même zone de disponibilité, vous pouvez facilement éviter ces frais (et obtenir de meilleures performances réseau) en utilisant votre adresse IP privée dans la mesure du possible.
Utiliser un seul AZ - Zones de disponibilité
Utilisez un seul AZ au lieu de plusieurs AZ pour une autre économie importante. Évitez ou arrêtez le transfert de données entre les régions.
Transfert de données entre régions
Voici quelques moyens qui vous permettront de réduire le transfert de données entre les régions :
- Stockez vos fichiers localement sur S3. Le stockage dans une autre région vous engagera dans le transfert de données régionales.
- Sauvegardez vos données dans la même région AWS.
L'un des avantages significatifs de GraphQL est la réduction de la surextraction et, par conséquent, du transfert de données. Le remplacement de REST peut être une tâche difficile en fonction de la structure de votre application, et il est essentiel d'estimer le potentiel d'économies de coûts avant de continuer. Une autre alternative consiste à implémenter GraphQL de manière incrémentielle pour de nouveaux projets ou fonctionnalités. Veuillez lire le tutoriel ci-dessous pour plus de détails sur la façon d'implémenter les API GraphQL.
Remise sur le volume de transfert de données
C'est assez difficile et le volume dont vous avez besoin est incroyablement fort. Cette action ne peut s'appliquer qu'aux entreprises ou aux grands comptes.
Utilisez CloudFront !
Vous pouvez obtenir d'énormes économies en mettant en œuvre cette action ! Cette action améliorera également les performances de votre application et réduira la latence globale. C'est une implémentation gagnant-gagnant. Reportez-vous à la rubrique Cloudfront pour en savoir plus à ce sujet.
Comment surveiller les coûts de transfert de données ?
Il existe deux façons simples de suivre les coûts de transfert de données.
- Explorateur de coûts
- Factures
Pour accéder au rapport Cost Explorer, vous devez vous rendre sur Mon tableau de bord de facturation et cliquer sur Cost Explorer. Sélectionnez le rapport Spend by Service View et une nouvelle fenêtre s'ouvrira. Un rapport par défaut avec les six derniers mois s'ouvrira et commençons par celui-ci. Veuillez noter qu'il n'y a PAS de frais de transfert de données dans la colonne service ! Ces coûts se cachent à l'intérieur des filtres et vous devez creuser plus profondément pour les trouver.
Pour trouver les coûts de transfert de données, vous devez filtrer comme suit :
- Cliquez sur Plus de filtres et les filtres se développent
- Sélectionnez le groupe de types d'utilisation
- Maintenant, le transfert de données commence à apparaître
- Sélectionnez Transfert de données - Inter AZ
- Sélectionnez Transfert de données - Sortie Internet
- Sélectionnez Transfert de données - Région vers région extérieure
- Sélectionnez Transfert de données S3 sortant
- Cliquez sur Appliquer les filtres
Vous avez maintenant la répartition des coûts de transfert de données et pouvez déterminer d'où proviennent les données, S3 ou EC2. Si vous le souhaitez, vous pouvez mettre en œuvre un processus similaire et ventiler davantage les coûts pour chaque région et AZ.
Une autre façon de visualiser les coûts de transfert de données via le rapport de facturation. Accédez à Mon tableau de bord de facturation et cliquez sur Factures sur le côté gauche.
Le rapport ressemblera à ceci :
Veuillez noter qu'il existe déjà une ventilation par défaut indiquant les coûts de transfert de données EC2. En cliquant sur Data Transfer, vous aurez une analyse par région.
En sélectionnant la région, vous aurez une subdivision de la bande passante selon le type de transfert de données (transfert sortant, entre AZ, interrégional).
7. Front nuageux
Les coûts à la demande pour Cloudfront sont réduits assez rapidement à mesure que vous augmentez le
Contrat Private Cloud Front et tarification au volume
Voici le meilleur moyen de réduire vos coûts de transfert de données ! AWS est prêt à profiter de son service CloudFront, et selon le volume, vous pouvez minimiser le transfert CloudFront moyennant des frais de 0,02 $/Go. Cela prendra très probablement un engagement de deux ans, et si vous prévoyez d'utiliser AWS pendant un certain temps, c'est une excellente voie à suivre. Pour aller de l'avant, vous devez contacter votre responsable de compte et demander un accord privé CloudFront.
Amazon CloudFront SSL-Cert-Personnalisé
Vérifiez si vous utilisez ce certificat. Cela coûte 20 $ par jour (oui, vous avez bien lu, 20 $ par jour ou 600 $ par mois) et vous pouvez obtenir le même certificat avec Cloudflare pour 20 $ par mois. Avec l'accord Private & Volume Pricing, vous ne serez pas autorisé à vous connecter à d'autres services CDN et cette action ne sera pas possible.
8. S3 - Service d'archivage simple
Voici quelques lignes directrices utiles pour réduire les coûts S3.
Point de terminaison VPC S3
Une excellente initiative de réduction des coûts que la plupart des gens n'utilisent pas est le point de terminaison VPC S3. Le placement d'un point de terminaison S3 dans le VPC donne au trafic vers S3 son chemin interne, et AWS ne vous facturera pas comme le trafic public. Selon le volume, des réductions de milliers de dollars par mois peuvent être réalisées avec cette méthode.
Utiliser le bon modèle de stockage et la classe de stockage appropriée
Il existe cinq cinq modèles de stockage :
Norme S3
0,023 $ / Go
Caractéristiques
- Redondance entre AZ
- Faible latence et hautes performances
- Résilient face aux événements affectant une zone de disponibilité entière
0,0125 $ / Go
Caractéristiques
- Idéal pour l'archivage à long terme, les sauvegardes et comme référentiel de données pour les fichiers de reprise après sinistre.
- Redondance entre AZ
- Accès moins fréquent
0,010 $ / Go
Caractéristiques
- Simple-AZ
- Accès moins fréquent
- Un excellent choix pour stocker des copies de sauvegarde secondaires
0,004 $ / Go
Caractéristiques
- Une classe de stockage sécurisée, durable et à faible coût pour le stockage de données
- Redondance entre AZ
- Options de récupération allant de quelques minutes à quelques heures
0,00099 $ / Go
Caractéristiques
- Classe de stockage à faible coût et prend en charge la conservation à long terme et la conservation numérique des données accessibles une ou deux fois par an.
- Temps de récupération dans les 12 heures
- Redondance entre AZ
Notez que chaque fois que vous déplacez des éléments d'une classe de stockage à une autre, vous serez facturé en fonction du nombre de requêtes. Cela peut être très compliqué ! Je vais partager une situation qui s'est produite sur Back4App. Un de nos clients stocke des millions de petits objets et les données sont rarement récupérées. Nous avons initialement archivé ces objets sur le standard S3 et avons décidé de les déplacer vers S3 Glacier pour réduire les coûts. Jusqu'ici tout va bien! Ce que nous n'avions pas réalisé, c'est qu'AWS facture 0,05 $ pour 1.000 XNUMX requêtes Glacier ! Dans cette situation, le nombre d'objets était énorme et la taille de chaque objet était assez petite. Ainsi, le coût initial auquel nous avons dû faire face n'a pas payé ! Avant de déplacer des objets entre classes de stockage, il est essentiel de considérer les coûts liés aux requêtes S3 et de mener des analyses de remboursement.
Supprimer les données S3 inutilisées
Le moyen le plus simple et le plus efficace de réduire les coûts sur S3 consiste simplement à supprimer les données anciennes et inutilisées. Recherchez les anciennes sauvegardes et les compartiments S3 inutilisés. Effectuez des analyses et supprimez les données si possible.
Société de développement de logiciels ? Rejoignez notre programme partenaire dès maintenant !
9. Choisissez judicieusement votre type de support AWS
Il existe quatre types de niveaux d'assistance :
- Basique - Gratuit
- Développeur - 29$/mois soit 3% de la facture mensuelle
- Entreprise - 100$/mois ou 10% -3% de la facture mensuelle selon le volume
- Entreprise → 15.000 XNUMX $
Utilisez votre gestionnaire de compte régional AWS
Utilisez autant que possible votre responsable de compte régional et votre architecte de solution ! Ils sont séparés de l'équipe d'assistance centrale et pourront fournir un service beaucoup plus personnalisé. L'équipe AWS est très compétente et serviable ! Les conseils qu'ils nous ont donnés en termes de paramètres de sécurité avancés et de mise en œuvre du RGPD étaient les meilleurs de leur catégorie ! J'ai été impressionné par les connaissances techniques et l'engagement de l'équipe pour nous aider à obtenir de meilleurs résultats. Ce type de support me fait réfléchir à deux fois avant de passer à d'autres fournisseurs de services cloud.
10. Surveillance et contrôle
Il est de la plus haute importance de maintenir un régime de facturation strict et de connaître vos dépenses quotidiennes. Vous devez vous assurer un suivi détaillé de vos dépenses et prendre le temps de les revoir au quotidien. Imaginez le volume d'économies que vous pouvez réaliser après 365 jours !
Une surveillance quotidienne vous aidera à identifier les tendances haussières suspectes et à prendre des mesures dès que possible. Les meilleures pratiques liées à la surveillance et au contrôle sont décrites ci-dessous :
- Surveillance régulière.
- Certains rapports utiles sont :
- Tableau de bord de facturation et de gestion des coûts
- Factures mensuelles
- Cost Explorer - Affichage des dépenses mensuelles pour le service
- Cost Explorer - Utilisation des instances réservées
- Cost Explorer - Couverture des instances réservées
- Marquez tout
- Mesurer la ligne de base, surveiller, alerter sur les exceptions
- Établir un modèle de responsabilité
- Utilisez Cloudwatch et Trusted Advisor pour suivre les coûts
- Consolidez vos factures et bénéficiez de remises sur volume
La refonte architecturale est généralement l'étape la plus longue à mettre en œuvre. Cela peut prendre des semaines ou des mois, selon la taille/complexité de votre infrastructure.
Notre expérience Back4app montre qu'il existe de nombreuses étapes plus faciles à suivre avant celle-ci. En général, des améliorations progressives permettront de réaliser des économies substantielles à court terme. Gagnez d'abord ces économies et acquérez de l'expérience pour mettre en œuvre une refonte architecturale de premier ordre.
12. Conclusion
Il n'y a pas de pilule magique pour réduire les coûts AWS ! Vous devez établir une routine régulière pour suivre les dépenses, hiérarchiser les économies de coûts et travailler comme un fou pour atteindre vos objectifs d'économies AWS.
Voici un aperçu des actions qui nous ont permis de réduire notre facture AWS.
- Résilier les instances EC2 inutilisées
- Réduire les instances AWS volumineuses
- Déplacer le flux de transfert de données vers CloudFront
- Mise à niveau vers des instances de nouvelle génération
- Mettre en œuvre les meilleures pratiques telles qu'un réseau amélioré
- Sauvegarder les données sur S3
- Réservation d'instances sur AWS Marketplace et réservation de nœuds de cache élastiques
- Avoir la bonne combinaison d'instances Spot, réservées et à la demande
- Automatiser les options d'autoscaling
- Stockage mixte entre S3 Standard et Glacier
Alors, que pensez-vous des résultats que nous avons obtenus ? Cela vous a-t-il aidé à comprendre comment réduire les coûts AWS ?