REL07-BP01 Utiliser l’automatisation lors de l’obtention des ressources ou de leur mise à l’échelle - Framework AWS Well-Architected

REL07-BP01 Utiliser l’automatisation lors de l’obtention des ressources ou de leur mise à l’échelle

Lorsque vous remplacez des ressources compromises ou que vous mettez à l’échelle votre charge de travail, automatisez le processus à l’aide de services AWS gérés comme Amazon S3 et AWS Auto Scaling. Vous pouvez également utiliser des outils tiers et les kits AWS SDK pour automatiser la mise à l’échelle.

Les services AWS gérés incluent Amazon S3, Amazon CloudFront, AWS Auto Scaling, AWS Lambda, Amazon DynamoDB, AWS Fargate et Amazon Route 53.

AWS Auto Scaling vous permet de détecter et de remplacer les instances dégradées. Il offre également la possibilité de créer des plans de mise à l’échelle pour les ressources, notamment les instances Amazon EC2 et les parcs d’instances Spot, les tâches Amazon ECS, les tables et index Amazon DynamoDB et les réplicas Amazon Aurora.

Lors de la mise à l’échelle d’instances EC2, veillez à utiliser plusieurs zones de disponibilité (de préférence au moins trois) et à ajouter ou supprimer de la capacité pour maintenir l’équilibre entre ces zones de disponibilité. Les tâches ECS ou les pods Kubernetes (lors de l’utilisation d’Amazon Elastic Kubernetes Service) doivent également être répartis sur plusieurs zones de disponibilité.

Lorsque vous utilisez AWS Lambda, la mise à l’échelle des instances est automatique. Chaque fois qu’une notification d’événement est reçue pour votre fonction, AWS Lambda localise rapidement la capacité disponible dans son parc de calcul et exécute votre code jusqu’à la simultanéité allouée. Vous devez vous assurer que la simultanéité nécessaire est configurée sur la fonction Lambda spécifique et dans Service Quotas.

Amazon S3 se met automatiquement à l’échelle pour gérer des débits de requêtes élevés. Par exemple, votre application peut atteindre au moins 3 500 demandes PUT/COPY/POST/DELETE ou 5 500 demandes GET/HEAD par seconde par préfixe dans un compartiment. Il n’existe aucune limite au nombre de préfixes dans un compartiment. Vous pouvez augmenter vos performances de lecture et d’écriture en effectuant une mise en parallèle des lectures. Par exemple, si vous créez 10 préfixes dans un compartiment Amazon S3 pour paralléliser les lectures, vous pouvez mettre à l’échelle vos performances de lecture à 55 000 demandes de lecture par seconde.

Configurez et utilisez Amazon CloudFront ou un réseau de diffusion de contenu (CDN) de confiance. Un CDN fournit des temps de réponse plus rapides à l’utilisateur final et répond aux demandes de contenu à partir du cache, ce qui vous évite (dans une certaine mesure) de devoir mettre à l’échelle votre charge de travail.

Anti-modèles courants :

  • Implémentation de groupes Auto Scaling pour la réparation automatique sans implémentation de l’élasticité.

  • Utilisation de la mise à l’échelle automatique pour répondre aux pics importants du trafic.

  • Déploiement d’applications hautement dynamiques avec élimination de l’option d’élasticité.

Avantages du respect de cette bonne pratique : l’automatisation élimine le risque d’erreur manuelle lors du déploiement et de la mise hors service des ressources. Elle élimine aussi le risque de dépassement de coûts et de déni de service en raison d’une réponse lente aux besoins de déploiement ou de mise hors service.

Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : élevé

Directives d’implémentation

  • Configurer et utiliser AWS Auto Scaling. Il permet de surveiller vos applications et d’ajuster automatiquement la capacité pour maintenir des performances stables et prévisibles au coût le plus bas possible. Avec AWS Auto Scaling, vous pouvez configurer la mise à l’échelle des applications pour plusieurs ressources sur plusieurs services.

  • Utilisez Elastic Load Balancing. Les équilibreurs de charge peuvent répartir la charge par chemin d’accès ou par connectivité réseau.

  • Utiliser un fournisseur DNS à haut niveau de disponibilité. Les noms DNS permettent à vos utilisateurs de saisir des noms plutôt que des adresses IP pour accéder à vos charges de travail et distribuer ces informations sur une portée précise, en général mondiale, pour les utilisateurs de ces charges de travail.

    • Utilisez Amazon Route 53 ou un fournisseur DNS de confiance.

    • Utilisez Route 53 pour gérer vos distributions CloudFront et vos équilibreurs de charge.

      • Déterminez les domaines et les sous-domaines que vous allez gérer.

      • Créez des jeux d’enregistrements appropriés à l’aide d’enregistrements ALIAS ou CNAME.

  • Utilisez le réseau mondial AWS pour optimiser le chemin entre vos utilisateurs et vos applications. AWS Global Accelerator surveille en permanence l’état des points de terminaison de votre application et redirige le trafic vers des points de terminaison sains en moins de 30 secondes.

    • AWS Global Accelerator est un service qui améliore la disponibilité et les performances de vos applications auprès d’utilisateurs locaux ou internationaux. Il fournit des adresses IP statiques qui font office de point d’entrée fixe aux points de terminaison de votre application dans une ou plusieurs Régions AWS, tels que vos Application Load Balancers, vos Network Load Balancers ou vos instances Amazon EC2.

  • Configurez et utilisez Amazon CloudFront ou un réseau de diffusion de contenu (CDN) de confiance. Un réseau de diffusion de contenus peut fournir des temps de réponse des utilisateurs finaux plus rapides et traiter les requêtes de contenu susceptibles de causer une mise à l’échelle inutile de vos charges de travail.

    • Qu’est-ce qu’Amazon CloudFront ?

      • Configurez les distributions d’Amazon CloudFront pour vos charges de travail ou utilisez un CDN tiers.

        • Vous pouvez limiter l’accès à vos charges de travail de sorte qu’elles ne soient accessibles qu’à partir de CloudFront. Pour ce faire, vous pouvez utiliser les plages d’adresses IP pour CloudFront dans vos groupes de sécurité ou vos stratégies d’accès des points de terminaison.

Ressources

Documents connexes :