Dimensionnement adapté et Compute Optimizer
Utilisez les recommandations d’AWS Compute Optimizer pour réduire la taille des instances EC2, des fonctions Lambda et des volumes EBS surprovisionnés afin de diminuer les coûts.
Dimensionnement adapté et Compute Optimizer est une leçon AWS Solutions Architect gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AWS Solutions Architect, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AWS Solutions Architect comprend 4 leçons au total.
Le problème du surdimensionnement
L’une des erreurs les plus courantes et les plus coûteuses en architecture cloud est le surdimensionnement — allouer davantage de ressources que nécessaire à la charge de travail. Les équipes IT pratiquent souvent le surdimensionnement en raison d’habitudes héritées des environnements sur site (acheter une capacité suffisante pour les pics de charge), par crainte d’une dégradation des performances, ou simplement parce qu’elles ne réévaluent jamais les décisions initiales de dimensionnement. Dans AWS, les instances EC2, les volumes EBS et les fonctions Lambda surdimensionnés gaspillent de l’argent à chaque minute d’exécution. Le dimensionnement adapté est le processus systématique qui consiste à identifier et éliminer ce gaspillage.
# Common over-provisioning symptoms:
# EC2: average CPU < 10%, memory < 20%
# RDS: storage auto-grow never triggered
# Lambda: allocated memory rarely exceeds 40%
# EBS: provisioned IOPS consistently unused
# Cost impact example:
# Over-provisioned r5.8xlarge at $1.92/hr: $1,382/month
# Correct size r5.xlarge at $0.252/hr: $181/month
# Savings: $1,201/month per instancePrésentation de AWS Compute Optimizer
AWS Compute Optimizer analyse les métriques d’utilisation historiques de CloudWatch et utilise l’apprentissage automatique pour recommander des ressources de calcul AWS optimales. Il couvre les instances EC2, les groupes Auto Scaling EC2, les volumes EBS, les fonctions Lambda et Amazon ECS sur Fargate. Compute Optimizer nécessite au moins 30 jours d’historique des métriques pour générer des recommandations fiables. Son activation est gratuite et il fournit des recommandations accompagnées d’économies mensuelles estimées et d’un niveau de risque lié au changement.
# Opt in to Compute Optimizer
aws compute-optimizer update-enrollment-status \
--status Active
# Get EC2 recommendations
aws compute-optimizer get-ec2-instance-recommendations \
--query 'instanceRecommendations[].{Instance:currentInstanceType,Recommended:recommendationOptions[0].instanceType,Savings:recommendationOptions[0].estimatedMonthlySavings.value,Risk:recommendationOptions[0].performanceRisk}'
# Get Lambda recommendations
aws compute-optimizer get-lambda-function-recommendationsDimensionnement adapté d’EC2 avec Compute Optimizer
Compute Optimizer analyse l’utilisation du CPU EC2, l’utilisation de la mémoire (via l’agent CloudWatch), le débit réseau et les IOPS EBS sur les 3, 14 ou plus de 30 derniers jours. Il recommande ensuite l’un des quatre constats suivants : Optimisé (la taille actuelle est appropriée), Surdimensionné (réduction possible), Sous-dimensionné (augmentation recommandée) ou Non optimisé (données insuffisantes). Examinez toujours le risque pour les performances : Compute Optimizer attribue à chaque recommandation un niveau de risque VeryLow, Low, Medium, High.
# EC2 recommendation findings:
# Finding: OVER_PROVISIONED
# CurrentInstanceType: m5.4xlarge
# RecommendedInstanceType: m5.xlarge
# CPU utilisation: P99 = 22%, P50 = 4%
# Memory utilisation: P99 = 18%, P50 = 8%
# EstimatedMonthlySavings: $380
# PerformanceRisk: VeryLow
# Always check:
# - Does current instance have burstable credits? (T3)
# - Are there workload spikes not captured in averages?
# - Is there seasonality to consider?Dimensionnement adapté de Lambda
Les fonctions Lambda sont facturées pour chaque milliseconde d’exécution, multipliée par la mémoire allouée. Allouer davantage de mémoire que nécessaire gaspille de l’argent, mais une mémoire plus importante fournit également davantage de CPU : le bon équilibre correspond donc au paramètre de mémoire qui minimise le coût par invocation. Compute Optimizer analyse la durée des invocations Lambda, le taux d’erreur et les métriques de délai d’expiration afin de recommander le paramètre de mémoire optimal. L’outil open source Lambda Power Tuning peut également invoquer votre fonction avec différents paramètres de mémoire afin de déterminer empiriquement la configuration la plus économique.
# Compute Optimizer Lambda recommendations
aws compute-optimizer get-lambda-function-recommendations \
--function-arns arn:aws:lambda:us-east-1:123:function:my-function
# Response shows:
# currentMemorySize: 1024 MB
# recommendedMemorySize: 256 MB
# utilizationMetrics:
# - type: MEMORY_MAXIMUM, value: 89 (MB)
# estimatedMonthlySavings: $45
# 89 MB actual vs 1024 MB allocated = 935 MB wastedDimensionnement adapté des volumes EBS
Les volumes EBS sont souvent surdimensionnés à la fois en termes de taille (espace disque inutilisé) et d’IOPS (IOPS allouées qui ne sont jamais consommées). Compute Optimizer analyse les métriques VolumeReadOps, VolumeWriteOps, VolumeReadBytes, VolumeWriteBytes. Recommandation courante : migrer de gp2 vers gp3 (qui dissocie la taille des IOPS) — vous pouvez ajuster les IOPS indépendamment, ce qui permet souvent d’économiser 20 %. Identifiez également les volumes EBS non attachés (instances supprimées mais volumes conservés) et créez-en des instantanés ou supprimez-les.
# Get EBS volume recommendations
aws compute-optimizer get-ebs-volume-recommendations \
--volume-arns arn:aws:ec2:us-east-1:123:volume/vol-12345
# Common finding: gp2 -> gp3 migration
# gp2: 500 GB = 500 GB * $0.10 = $50/month
# IOPS: 1,500 (3 IOPS/GB, not configurable)
# gp3: 500 GB = $40/month + 3,000 IOPS free
# Save $10/month plus get MORE baseline IOPS
# Find unattached EBS volumes
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[].{VolumeId:VolumeId,Size:Size,Created:CreateTime}'Recommandations pour les groupes Auto Scaling
Compute Optimizer analyse l’utilisation des ASG sur l’ensemble des instances du groupe et recommande des modifications du modèle de lancement pour le type d’instance. Si toutes les instances d’un ASG sont constamment surdimensionnées, passer à un type d’instance plus petit réduit le coût à grande échelle. Par exemple, si un ASG utilise en moyenne 10 instances m5.large, passer à m5.medium permet d’économiser 50 % par instance. Compute Optimizer recommande également des instances basées sur Graviton lorsque votre logiciel est compatible, ce qui améliore à la fois les performances et les coûts.
# Get ASG recommendations
aws compute-optimizer get-auto-scaling-group-recommendations \
--auto-scaling-group-arns arn:aws:autoscaling:us-east-1:123:autoScalingGroup:abc:autoScalingGroupName/my-asg
# If recommendation is to switch to Graviton:
# Current: m5.large (x86, $0.096/hr)
# Recommended: m6g.large (Graviton2, $0.077/hr)
# Savings: 20% per instance
# ASG at 10 instances average = $220/month savingsTrusted Advisor pour l’analyse des coûts
AWS Trusted Advisor est un autre outil qui fournit des informations sur la Cost Optimisation, ainsi que des vérifications de sécurité, de performances, de tolérance aux pannes et de limites de service. Principales vérifications liées aux coûts : instances EC2 faiblement utilisées (moins de 10 % de CPU pendant au moins 4 jours), adresses IP Elastic non associées (facturées lorsqu’elles ne sont pas attachées), volumes EBS sous-utilisés, répartiteurs de charge inactifs (aucune cible saine) et instances réservées inutilisées. Les vérifications de base de Trusted Advisor sont gratuites ; l’ensemble complet nécessite une offre AWS Support Business ou Enterprise.
# Trusted Advisor: get cost optimisation checks
aws support describe-trusted-advisor-checks \
--language en \
--query 'checks[?category==`cost_optimizing`].{Name:name,Id:id}'
# Key checks:
# Qkj5MU5fNp: Low utilisation EC2 instances
# Z4AUBRNSmh: Unassociated Elastic IP addresses
# DAvU99Dc4C: Underutilized EBS volumes
# hjLMh88uM8: Idle load balancers
# 1e93e4c0b5: Unused reserved instancesMise à niveau des générations d’instances
AWS publie régulièrement de nouvelles générations d’instances EC2 plus efficaces, qui offrent de meilleures performances pour un coût inférieur ou équivalent. Passer de la 5e génération (m5, c5, r5) à la 7e génération (m7g, c7g, r7g) peut fournir 40 % de performances de calcul supplémentaires pour un coût similaire ou inférieur. Compute Optimizer signale précisément les possibilités de mise à niveau vers des générations plus récentes, notamment les instances basées sur Graviton. Les mises à niveau d’instances constituent souvent l’action de dimensionnement adapté la plus simple : même configuration, matériel plus récent, meilleures performances et coût réduit.
# EC2 instance generation comparison (same price tier):
# m5.large: 2 vCPU, 8 GB, $0.096/hr (2019)
# m6i.large: 2 vCPU, 8 GB, $0.096/hr (2021, ~10% faster)
# m7i.large: 2 vCPU, 8 GB, $0.1008/hr (2023, ~15% faster)
# m7g.large: 2 vCPU, 8 GB, $0.0808/hr (2023, Graviton3, cheapest)
# Upgrade path for Linux workloads:
# m5 -> m7g (Graviton): best price/performance
# m5 -> m7i: same architecture, no code changesDimensionnement adapté des instances RDS
Les instances RDS sont coûteuses et souvent surdimensionnées. Utilisez les métriques CloudWatch pour évaluer l’utilisation de RDS : CPUUtilization, FreeableMemory, ReadIOPS et WriteIOPS. Si le CPU reste inférieur à 20 % et que la mémoire demeure constamment élevée, envisagez de réduire la taille. Pour les bases de données de production utilisant Multi-AZ, le dimensionnement adapté double les économies puisque l’instance principale et l’instance secondaire sont toutes deux modifiées. Envisagez également de passer de RDS MySQL/PostgreSQL à Aurora, qui offre souvent de meilleures performances pour un coût similaire et une meilleure efficacité économique à grande échelle.
# Monitor RDS utilisation for right-sizing
aws cloudwatch get-metric-statistics \
--namespace AWS/RDS \
--metric-name CPUUtilization \
--dimensions Name=DBInstanceIdentifier,Value=mydb \
--start-time 2026-05-21T00:00:00Z \
--end-time 2026-06-21T00:00:00Z \
--period 86400 \
--statistics Maximum Average
# If 30-day P99 CPU < 30%, consider downsizing
# If P99 CPU > 80%, consider upsizingMise en œuvre opérationnelle du dimensionnement adapté
Le dimensionnement adapté doit être un processus continu, et non une opération ponctuelle. Établissez une périodicité de revue mensuelle ou trimestrielle : récupérez les recommandations de Compute Optimizer, évaluez celles qui peuvent être appliquées sans risque, mettez les changements en œuvre pendant une fenêtre de maintenance et mesurez les économies. Automatisez les actions simples : le nettoyage des volumes EBS non attachés, la libération des adresses IP Elastic inutilisées et la suppression des répartiteurs de charge inactifs peuvent être réalisés au moyen de scripts. Créez un tableau de bord de Cost Optimisation dans CloudWatch, qui suit les dépenses mensuelles par service et met en évidence les augmentations inhabituelles.
# Script to release unassociated Elastic IPs
aws ec2 describe-addresses \
--query 'Addresses[?!AssociationId].AllocationId' \
--output text | xargs -I {} \
aws ec2 release-address --allocation-id {}
# Script to delete unattached EBS volumes (careful!)
# First check if snapshots exist before deleting
aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[].VolumeId' \
--output textDimensionnement adapté ou changements d’architecture
Le dimensionnement adapté remédie au surdimensionnement au sein des architectures existantes, mais il arrive que l’architecture elle-même soit le problème. Une grande instance EC2 unique exécutant plusieurs applications peut nécessiter une décomposition architecturale (microservices sur Fargate), plutôt que le simple choix d’une instance plus petite. Une base de données monolithique peut nécessiter le partitionnement ou la mise en cache, plutôt qu’une simple réduction de la taille de l’instance. Le dimensionnement adapté est la première étape, et la plus rapide. L’optimisation de l’architecture (serverless, conteneurs, mise en cache) permet des économies plus importantes et plus durables, mais demande davantage d’efforts. Le pilier Cost Optimisation recommande de poursuivre ces deux approches.
# Cost optimisation hierarchy:
# Level 1: Right-sizing (quick wins, days)
# - Compute Optimizer recommendations
# - Delete unused resources
# - Elastic IP, EBS cleanup
# Level 2: Purchasing model (weeks)
# - Reserved Instances / Savings Plans
# - Spot for eligible workloads
# Level 3: Architecture (months)
# - Serverless migration
# - Container consolidation
# - Caching layer addition
# - Database optimisationVérification rapide
Vérifiez votre compréhension des concepts AWS Solutions Architect (SAA-C03) présentés dans cette leçon.
Récapitulatif de la leçon
Dans cette leçon, vous avez appris que : AWS Compute Optimizer utilise l’apprentissage automatique sur les métriques CloudWatch pour recommander des ressources de calcul correctement dimensionnées, le dimensionnement adapté s’applique à EC2, Lambda, EBS, aux ASG et à ECS sur Fargate, et la mise à niveau vers des générations d’instances plus récentes (en particulier Graviton) améliore à la fois les coûts et les performances. Faites du dimensionnement adapté une pratique récurrente, et non une opération ponctuelle. Nous allons maintenant découvrir les instances réservées, les Savings Plans et les modèles d’achat Spot.
Questions Fréquemment Posées
La leçon « Dimensionnement adapté et Compute Optimizer » est-elle gratuite ?
Oui — le texte complet de « Dimensionnement adapté et Compute Optimizer » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AWS Solutions Architect, passe à CoddyKit PRO. Le cours AWS Solutions Architect comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Dimensionnement adapté et Compute Optimizer » ?
Utilisez les recommandations d’AWS Compute Optimizer pour réduire la taille des instances EC2, des fonctions Lambda et des volumes EBS surprovisionnés afin de diminuer les coûts. Tu pratiques AWS Solutions Architect avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AWS Solutions Architect ?
Aucune expérience préalable n'est requise. AWS Solutions Architect sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Dimensionnement adapté et Compute Optimizer » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AWS Solutions Architect ?
Oui. Chaque leçon AWS Solutions Architect inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Dimensionnement adapté et Compute Optimizer
- Instances réservées, Savings Plans et Spot
- Cost Explorer, budgets et balises d’allocation des coûts
- Optimisation des coûts S3 et du transfert de données