Fermer

juillet 15, 2025

Coûts invisibles, impact visible: comment la gestion proactive de l’ALB entraîne l’efficacité du cloud

Coûts invisibles, impact visible: comment la gestion proactive de l’ALB entraîne l’efficacité du cloud


Introduction

La gestion des coûts AWS est très importante pour les optimisations des factures de cloud. Un service négligé qui peut contribuer considérablement aux dépenses mensuelles est Équilibrage de la charge élastique. Notre équipe, qui fonctionne pour un Client mondial de la plate-forme de gestion de la publicitéune puissance de publicité et des téléviseurs connectés, a récemment entrepris une étape majeure pour optimiser Coûts AWS Albse concentrer principalement sur la réduction LCU (Unité de capacité d’équilibreur de charge) usage. En effectuant quelques ajustements à la configuration du code et en optimisant l’utilisation des ressources, nous avons pu économiser des milliers de dollars.

Je vais discuter des tactiques que nous avons utilisées, des défis que nous avons rencontrés et de la façon dont ces ajustements de configuration ont eu un impact sur notre projet de loi AWS dans ce court blog. Commençons!

Comprendre les coûts Alb

Avant de considérer les coûts d’épargne, nous devons comprendre le coût. Le coût AWS ELB est calculé sur la base du LCUqui représente Unités de capacité d’équilibreur de chargequi est calculé à l’aide de quatre dimensions:

  • Connexions actives: Le nombre de connexions TCP en cours par minute. Une nouvelle connexion est une nouvelle connexion TCP établie d’un client à l’ALB et de l’ALB à une cible. Cela implique qu’une seule demande entrante à l’ALB crée deux nouvelles connexions – une pour la connexion cible sortante et une pour la connexion client entrante, en supposant qu’il n’y a pas de réutilisation de connexion.
  • Octets traités: Le volume de données traitées au cours d’une heure donnée. Combien d’octets le processus ALB a-t-il globalement, y compris les données envoyées et reçues du client? Cela comprend toutes les données que nous renvoyons dans la réponse ainsi que toutes les données qui entrent dans l’ALB pour une demande. Cela couvre le corps de la demande, les paramètres de requête, les en-têtes, etc.
  • Nouvelles connexions: Il s’agit du nombre de connexions TCP créées par seconde. Une connexion active est une connexion TCP précédemment établie et toujours ouverte entre un client et l’ALB ou entre l’ALB et une cible. La connexion reste ouverte jusqu’à ce que les deux extrémités de la connexion choisissent de la fermer, soit parce qu’elle frappe un délai d’inactivité ou est explicitement fermée.
  • Évaluations des règles: Nombre de demandes évaluées par rapport aux règles de routage par seconde.
    Comprendre les coûts Alb

    Comprendre les coûts Alb

La plus élevée de ces dimensions utilisées décide de l’utilisation totale de la LCU et détermine finalement le coût LB. Dans notre cas, octets traités et nouvelles connexions pris en compte la plupart de nos dépenses.

Analyser nos coûts alb

Après avoir examiné nos mesures d’équilibreur AWS CloudWatch Load Balancer, nous avons découvert que deux ALB à fort trafic étaient la principale cause de nos dépenses mensuelles de l’alb, qui étaient en moyenne entre 30 000 $ et 45 000 $.

  • Les équilibreurs de chargement publics coûtent entre 14 000 $ et 23 000 $ un mois.
  • L’équilibreur de charge privé coûte entre 15 000 $ et 23 000 $ par mois.
  • Nous avons examiné les mesures de CloudWatch et découvrir que le coût privé de l’ALB était principalement causé par de nombreuses nouvelles connexions.
    Connexions privées d'ALB

    Connexions privées d’ALB

D’un autre côté, les octets traités ont été un facteur majeur pour le coût public de l’alb.

Octets traités

Octets traités

Stratégies d’optimisation des coûts

Pour relever ces défis, nous avons suivi les stratégies suivantes:

  1. Réutiliser les connexions privées de l’application Albo-To-Application

    Énoncé du problème: par défaut, nos applications privées fermaient les connexions au lieu de les réutiliser, ce qui a entraîné un nombre élevé de nouvelles connexions sur l’équilibreur de charge privé.

Solution:

  • Pour nos applications privées, nous définissons «jetty.connection.keepalive = true«  pour activer la réutilisation de connexion.
  • La capacité de nos applications à gérer des connexions persistantes plus longues a été testée, observée et confirmée.
  • Pour mettre en œuvre les modifications, une version de Canary a été réalisée pendant que les mesures ont été suivies.
  • Pour l’ALB privé, les nouvelles connexions ont été réduites d’environ 50%, ce qui a entraîné des économies de coûts importantes.
  • À une estimation 500 $ par jour est enregistré en raison de la diminution significative des nouvelles connexions et de l’augmentation des connexions actives.
  • Résultat: réduction significative des nouvelles connexions et augmentation des connexions actives, conduisant à environ 500 $ / épargne.
    Nouveau nombre de connexions

    Nouveau nombre de connexions

    Compte de connexion actif

    Compte de connexion actif

    Utilisation de la LCU

    Utilisation de la LCU

    Économies de coûts

    Économies de coûts

2. Compression GZIP pour réduire les octets traités de l’équilibrage de charge

Énoncé du problème: de grandes quantités de données de réponse étaient en cours de transfert sans compression, augmentant les coûts d’octets traités pour l’ALB public.

Solution:

  • Ensemble « jetty.gzip.enabled = true « qui permet la compression GZIP pour nos applications basées sur Java.
  • Testés et confirmés que des réponses compressées ont été envoyées à des clients soutenus par GZIP.
  • A observé l’impact sur les temps de réponse et la baisse du transfert de données sortant.
  • Résultat: Nous avons vu des coûts de transfert de données sortants réduits et moins d’octets traités après avoir allumé cette modification, ce qui a encore diminué nos coûts d’alb.
  • Garder un œil sur et optimiser la configuration ALB
  • Pour garantir la meilleure réutilisation de connexion possible, nous avons examiné les métriques ALB CloudWatch.
  • Surveillé les modèles d’utilisation de la LCU pour vérifier les économies de coûts en cours.
  • Les charges utiles de réponse sont optimisées en continu pour réduire le transfert de données inutile.
  • Les octets transformés réduits pour l’ALB public grâce à la compression GZIP.
    Octets transformés publics public

    Octets transformés publics public

  • Cela nous a aidés à réduire considérablement le coût de l’équilibreur de chargement.

Principaux à retenir

  • Surveillez régulièrement les métriques CloudWatch et examinez les configurations ALB pour trouver les chauffeurs de coûts ALB.
  • Optimiser la réutilisation de la connexion pour réduire le no. de nouvelles connexions, ce qui entraînera des économies de coûts.
  • Activer la compression de la réponse pour réduire les octets traités.

Ce sont des changements simples mais très efficaces que nous avons apportés. Nous avons réussi à réduire nos coûts de l’alb tout en maintenant la disponibilité, la fiabilité et les performances. Si votre facture AWS augmente rapidement en raison des coûts de l’alb, considérez ces stratégies pour obtenir des réductions de coûts similaires!

Avez-vous optimisé vos coûts d’alb?

AWS Alb est un service puissant, mais sans surveillance et optimisation soigneuses, elle peut devenir un buster à budget silencieux. Heureusement, la réalisation de petits ajustements de configuration, tels que l’activation des connexions GZIP ou la réutilisation, peut réduire considérablement les dépenses. Les architectes certifiés AWS et les ingénieurs DevOps sont toujours à la recherche de moyens d’améliorer l’efficacité et de réduire les coûts lorsque vous travaillez avec un fournisseur de services gérés comme Au nouveau.

Qu’est-ce qui vient ensuite, alors? Commencez à mettre ces procédures en vigueur dès maintenant et gardez un œil sur la façon dont vos factures AWS changent. Vous avez plus de conseils à partager?

Vous avez trouvé cela utile? PARTAGEZ-LE






Source link