Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Surveiller l'usage d'Amazon CloudFront grâce à l'Average Object Size (AOS)

By Avi KeinanSep 12, 20223 min read

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

AWS demande parfois à ses clients d'atteindre un certain seuil d'Average Object Size (AOS). Voici comment l'AOS fonctionne et comment le surveiller.

Nos conseils d'experts pour suivre l'usage d'Amazon CloudFront via l'AOS

Comme l'indique la page de tarification d'Amazon CloudFront, les clients qui s'engagent sur plus de 10 To/mois peuvent contacter l'équipe commerciale d'Amazon Web Services (AWS) pour obtenir une proposition de tarification privée.

La logique de cette offre est limpide : si vous vous engagez à consommer un certain volume de trafic dans la durée, AWS vous accorde une remise sur CloudFront.

Dans le cadre de mes fonctions chez DoiT International (AWS Premier Partner), j'aide nos clients à optimiser l'usage et la surveillance de leur réseau de diffusion de contenu (CDN). Et il arrive qu'AWS leur demande d'atteindre un certain seuil d'Average Object Size (AOS). Dans cet article, j'explique comment l'AOS fonctionne et comment le surveiller.

Fonctionnement de l'AOS

L'AOS correspond à la taille moyenne des objets sur l'ensemble de vos distributions CloudFront au sein d'AWS Organizations. Son calcul, exprimé en kilo-octets, reste relativement simple : le nombre de requêtes (HEAD/GET HTTP/S) servies via CloudFront divisé par le volume de données transmises via CloudFront.

Par exemple, si j'utilise CloudFront pour servir 1 000 requêtes représentant 1 Go de transfert de données, le calcul est le suivant :

1 048 576 Ko (1 Go en kilo-octets) / 1 000 requêtes = 1 048 Ko d'AOS

Relisez votre contrat AWS pour mesurer les conséquences d'un écart par rapport à l'AOS

Si la consommation AOS d'un client sur un mois donné est inférieure à la valeur prévue dans l'accord avec AWS, ce dernier sera facturé pour les requêtes HEAD/GET selon les conditions définies dans son contrat Private Pricing.

Si l'AOS du compte est inférieur à la valeur stipulée au contrat, le client verra apparaître une facturation OCBCloudfront (Out of Cycle Bill CloudFront) le mois suivant.

Comment surveiller l'AOS

De nombreux CFO et ingénieurs DevOps et FinOps déplorent le manque d'outils permettant de surveiller l'AOS. Chez DoiT International, nous mettons à disposition de nos clients une technologie avancée de cloud analytics pour échantillonner, suivre et déclencher des alertes dès qu'ils passent sous un certain seuil d'AOS. Le client accède en temps réel au coût des requêtes en cas d'écart par rapport à l'AOS sur un mois donné.

aws-monitoring

(Graphique cloud analytics DoiT affichant l'AOS CloudFront en Ko)

monitor-aws-costs

(Graphique cloud analytics DoiT affichant l'AOS CloudFront en Ko)

Nous recevons de nombreuses sollicitations de CFO et d'ingénieurs DevOps et FinOps qui ne sont pas clients de DoiT (et même de concurrents) souhaitant savoir si nous pouvons les aider à surveiller leur AOS.

Le modèle économique de DoiT est simple : le client bénéficie gratuitement de l'ensemble de nos services s'il consolide ses comptes AWS chez nous. Mais dans certains cas, cette consolidation chez DoiT n'est pas possible.

Pour ces situations, j'ai conçu une solution permettant de calculer l'AOS via l'API AWS Cost Explorer.

J'ai écrit un script Python qui s'appuie sur l'API Cost Explorer et renvoie l'AOS pour un mois donné. Les arguments --month et --year permettent d'extraire l'AOS sur des dates antérieures. Si vous gérez plusieurs aws organizations (ou comptes aws), utilisez l'argument --aws-profile.

aws-application-performance-monitoring

Les profils sont lus depuis votre fichier ~/.aws/credentials (ou C:\Users\USERNAME\.aws\credentials sous Windows) ; le profil aws par défaut est le profil default.

Voilà une solution de contournement bien pratique pour les clients AWS qui ne peuvent pas consolider chez DoiT. En tant qu'AWS Premier Partner, nous travaillons main dans la main avec AWS pour aider nos clients à tirer parti du cloud et à profiter de la performance, de la scalabilité et de l'agilité dont ont besoin les entreprises ambitieuses pour garder une longueur d'avance.