Bonnes pratiques pour la gestion et la demande d'augmentations des limites de service AWS

Évitez la limitation des applications et assurez une mise à l'échelle continue en maîtrisant la gestion des limites de service AWS. Ce guide détaille les bonnes pratiques pour surveiller de manière proactive les limites souples à l'aide de la console Service Quotas et des alarmes CloudWatch. Apprenez la procédure étape par étape pour soumettre des demandes d'augmentation efficaces, en vous concentrant sur l'élaboration de justifications solides et basées sur des données, requises par le support AWS pour accélérer l'approbation et maintenir la disponibilité des applications.

36 vues

Meilleures pratiques pour la gestion et la demande d'augmentations des limites de service AWS

Les limites de service AWS, souvent appelées quotas, sont un composant essentiel de l'environnement cloud. Elles garantissent l'efficacité opérationnelle, préviennent l'abus de ressources et protègent les utilisateurs des coûts massifs accidentels. Cependant, des limites mal gérées peuvent entraîner le ralentissement des applications, des échecs de mise à l'échelle et l'indisponibilité des services.

Ce guide fournit des stratégies expertes pour identifier les goulots d'étranglement potentiels des ressources, surveiller de manière proactive l'utilisation actuelle par rapport aux quotas, et établir un processus efficace et rationalisé pour soumettre des demandes d'augmentation de limites au Support AWS. En adhérant à ces meilleures pratiques, les équipes d'ingénierie peuvent maintenir une haute disponibilité et soutenir une croissance continue sans rencontrer d'obstacles inattendus.


Comprendre les quotas de service AWS

Avant d'initier toute demande, il est essentiel de comprendre la nature des limites AWS. Ces limites sont généralement catégorisées en fonction des ressources (par exemple, le nombre d'instances EC2), du débit (par exemple, IOPS) ou des requêtes API par seconde (RPS).

Limites souples (Soft Limits) vs. Limites dures (Hard Limits)

La plupart des quotas se répartissent en deux catégories :

  • Limites souples (quotas ajustables) : Celles-ci constituent la grande majorité des quotas. Ce sont des valeurs par défaut qu'AWS définit pour les nouveaux comptes et qui peuvent généralement être augmentées en soumettant une demande au Support AWS, à condition qu'il existe une justification commerciale suffisante.
  • Limites dures (quotas non ajustables) : Ces limites sont souvent dictées par des contraintes d'infrastructure physique, de conception architecturale ou des exigences de sécurité. Des exemples incluent le nombre maximal de VPC par Région ou la taille maximale d'une ressource spécifique. Les limites dures ne peuvent généralement pas être augmentées.

Conseil : Vérifiez toujours d'abord la console AWS Service Quotas. Les limites qui y sont répertoriées sont généralement des limites souples et constituent le moyen privilégié de soumettre des demandes.

Limites courantes nécessitant une attention particulière

Dans les environnements hautement évolutifs, les limites suivantes sont souvent les premières à être atteintes et devraient être surveillées de près :

  1. Nombre d'instances EC2 à la demande : Le nombre total de vCPU exécutées sur tous les types d'instances EC2 dans une Région.
  2. Nombre/taille des volumes EBS : Limites sur le nombre total ou la taille cumulée des volumes attachés.
  3. Ressources VPC : Limites sur le nombre de VPC, de passerelles Internet, de passerelles NAT et d'adresses IP élastiques (EIP).
  4. Limites de ralentissement API (Throttling) : Limites de requêtes par seconde (RPS) pour des services comme S3, DynamoDB ou les taux d'invocation Lambda.

Surveillance proactive et anticipation

Réagir au ralentissement est coûteux et perturbateur. L'objectif est d'anticiper de manière proactive les dépassements de limites bien avant qu'ils n'impactent la production.

1. Utilisation de la console Service Quotas

La console Service Quotas d'AWS est la source unique et faisant autorité pour consulter les quotas actuels et suivre l'utilisation sur de nombreux services. Elle remplace la nécessité de vérifier les limites à travers diverses consoles de service.

Étape concrète : Auditez régulièrement les quotas des services critiques pour votre application (par exemple, Lambda, EC2, RDS) au sein de la console Service Quotas. Recherchez les services où l'utilisation est constamment supérieure à 50 %.

2. Implémentation d'alarmes CloudWatch

Pour les limites critiques, configurez des alarmes automatisées qui avertissent votre équipe lorsque l'utilisation approche d'un seuil dangereux.

De nombreuses métriques de ressources (comme l'utilisation des vCPU EC2, la concurrence Lambda) sont publiées dans CloudWatch. Pour les quotas directement intégrés à Service Quotas, vous pouvez créer des alarmes directement depuis la console Quotas, en les définissant généralement à 80 % d'utilisation.

# Example: Setting an 80% utilization alarm for Lambda Concurrent Executions
# (Often configured via the Service Quotas console integration or CloudFormation)

AlarmName: LambdaConcurrencyWarning
MetricName: ConcurrentExecutions
Namespace: AWS/Lambda
Statistic: Maximum
Period: 300
Threshold: [Current Limit * 0.80] 
ComparisonOperator: GreaterThanThreshold
EvaluationPeriods: 2
TreatMissingData: notBreaching

3. Prévisions et planification

Alignez la gestion des quotas avec les jalons de développement et les campagnes marketing. Si un événement de mise à l'échelle majeur ou un lancement de produit est prévu, calculez la capacité maximale requise et soumettez la demande d'augmentation au moins deux semaines à l'avance.

Procédure efficace de demande d'augmentation de limite de service

AWS préfère que les demandes d'augmentation de limites soient soumises via la console Service Quotas, car cela automatise le routage et accélère le processus d'approbation.

Étape 1 : Soumission via la console Service Quotas (recommandé)

  1. Accédez à la console AWS Service Quotas.
  2. Recherchez le service spécifique (par exemple, 'Amazon EC2').
  3. Cliquez sur le quota pertinent (par exemple, 'Instances standards à la demande en cours d'exécution').
  4. Cliquez sur le bouton Demander une augmentation.
  5. Spécifiez la nouvelle limite souhaitée et la Région.
  6. Fournissez une justification détaillée (voir Étape 3).

Si le quota n'est pas répertorié dans la console Service Quotas, vous devez soumettre la demande via le Centre de support AWS traditionnel, sous le type de cas 'Augmentation de la limite de service'.

Étape 2 : Informations clés à inclure dans la demande

Pour éviter les allers-retours avec le Support AWS, assurez-vous que votre demande est complète :

  • Région AWS : Spécifiez la Région exacte (par exemple, us-east-1) où l'augmentation est nécessaire.
  • Nom de la limite spécifique : Indiquez le nom précis du quota (par exemple, nombre de tâches Fargate en cours d'exécution).
  • Limite actuelle : (Facultatif, mais utile) Confirmez la limite existante que vous atteignez.
  • Nouvelle limite demandée : Indiquez le nombre final exact dont vous avez besoin (par exemple, augmenter de 100 à 500).
  • Justification commerciale : C'est l'élément le plus crucial.

Étape 3 : Élaborer une justification commerciale solide

Les ingénieurs AWS exigent des preuves concrètes que la limite demandée est nécessaire, durable et précise. Les demandes vagues sont souvent retardées ou refusées.

N'utilisez pas : « Nous avons besoin de plus de ressources pour les tests. »
Utilisez plutôt : « Nous avons besoin de 500 vCPU supplémentaires (pour un total de 750) dans eu-west-1 afin de prendre en charge le déploiement d'une nouvelle application prévu pour le T3 2024. Cette application utilise ECS Fargate et devrait gérer 15 000 requêtes par minute, nécessitant 100 tâches concurrentes pendant les heures de pointe. Nous avons calculé ce besoin en nous basant sur les résultats de tests de charge approfondis. »

Composant de la justification Exemple de détail
Cas d'utilisation Lancement d'une nouvelle application, intégration de clients, promotion saisonnière, migration de base de données.
Base de calcul Résultats des tests de charge, croissance du trafic projetée (RPS), nombre d'utilisateurs, exigences de concurrence.
Calendrier Quand la capacité est-elle nécessaire (par exemple, Capacité opérationnelle requise d'ici le 2024-11-01).
Durée S'agit-il d'une augmentation permanente ou d'un pic temporaire ?

Meilleures pratiques avancées et gestion des refus

Stratégies architecturales pour éviter les limites

Parfois, augmenter une limite est la bonne approche, mais souvent, le goulot d'étranglement indique une inefficacité architecturale. Considérez ces techniques d'atténuation avant de demander des augmentations extrêmement importantes :

  1. Implémentez un retrait exponentiel et un jitter : Utilisez ce modèle pour réessayer les appels API échoués (particulièrement pertinent pour les limites S3 ou DynamoDB) afin d'éviter de submerger le service et de minimiser l'impact du ralentissement.
  2. Optimisez le traitement par lots : Consolidez plusieurs appels API individuels en opérations par lots uniques lorsque cela est pris en charge (par exemple, DynamoDB BatchWriteItem).
  3. Utilisez la mise en cache : Implémentez ElastiCache ou CloudFront pour réduire le nombre de requêtes atteignant les services backend, diminuant ainsi la probabilité d'atteindre les limites RPS.

Gestion des demandes refusées

Si AWS rejette ou réduit significativement la limite que vous avez demandée, cela signifie généralement que la justification était insuffisante, ou que la demande dépassait les paramètres de sécurité.

Plan d'action en cas de refus :

  • Ne soumettez pas à nouveau immédiatement. Examinez la raison du refus fournie par le Support AWS.
  • Affinez la justification : Fournissez des points de données plus spécifiques, des métriques internes et une méthodologie de calcul plus claire.
  • Contactez directement le Support : Si le problème est urgent ou complexe, répondez au cas de support en demandant une explication et en proposant de planifier un appel pour examiner les exigences architecturales.

Examen après l'augmentation

Une fois qu'une limite est augmentée, mettez à jour vos alarmes CloudWatch pour refléter le nouveau seuil de 80 %. Obtenir l'augmentation n'est pas une fin en soi ; une surveillance continue garantit que vous n'atteignez pas la nouvelle limite de manière inattendue à l'avenir.

Conclusion

La gestion des limites de service AWS est une tâche opérationnelle continue, et non une configuration unique. En surveillant de manière proactive les métriques d'utilisation clés via la console Service Quotas et CloudWatch, et en fournissant des justifications détaillées et basées sur des données pour chaque demande, les équipes d'ingénierie peuvent assurer une évolutivité sans faille. Considérez la demande d'augmentation de limite de service non pas comme un obstacle bureaucratique, mais comme une exigence technique critique qui demande précision et prévoyance.