Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
REL07-BP01 Utiliser l’automatisation lors de l’obtention des ressources ou de leur mise à l’échelle
La définition programmatique, le provisionnement et la gestion de votre infrastructure et de vos ressources constituent la pierre angulaire de la fiabilité dans le cloud. L’automatisation vous aide à rationaliser le provisionnement des ressources, à faciliter des déploiements cohérents et sécurisés et à mettre à l’échelle les ressources sur l’ensemble de votre infrastructure.
Résultat escompté : vous gérez votre infrastructure en tant que code (IaC). Vous définissez et gérez votre code d’infrastructure dans des systèmes de contrôle de version (VCS). Vous déléguez le provisionnement des ressources AWS à des mécanismes automatisés et vous tirez parti de services gérés tels qu’Application Load Balancer (ALB), Network Load Balancer (NLB) et des groupes Auto Scaling. Vous provisionnez vos ressources à l’aide de pipelines d’intégration continue et livraison continue (CI/CD) afin que les modifications du code déclenchent automatiquement des mises à jour des ressources, y compris des mises à jour de vos configurations Auto Scaling.
Anti-modèles courants :
-
Vous déployez des ressources manuellement via la ligne de commande ou dans la AWS Management Console (processus également appelé ClickOps).
-
Vous associez étroitement vos ressources et composants d’application et vous créez ainsi des architectures rigides.
-
Vous mettez en œuvre des politiques de mise à l’échelle rigides qui ne s’adaptent pas à l’évolution des exigences commerciales, des modèles de trafic ou des nouveaux types de ressources.
-
Vous estimez manuellement la capacité pour répondre de façon anticipée à la demande.
Avantages liés au respect de cette bonne pratique : l’infrastructure en tant que code (IaC) permet de définir programmatiquement l’infrastructure. Vous pouvez ainsi gérer les modifications d’infrastructure en suivant le même cycle de développement logiciel que pour des modifications d’application, ce qui favorise la cohérence et la reproductibilité et réduit le risque de tâches manuelles susceptibles d’engendrer des erreurs. Vous pouvez rationaliser davantage le processus de provisionnement et de mise à jour des ressources en implémentant l’infrastructure en tant que code avec des pipelines de livraison automatisés. Vous pouvez déployer des mises à jour d’infrastructure de manière fiable et efficace sans nécessiter d’intervention manuelle. Cette agilité est particulièrement importante lorsque vous mettez à l’échelle les ressources pour répondre à des demandes fluctuantes.
Vous pouvez obtenir une mise à l’échelle dynamique et automatisée des ressources en conjonction avec l’infrastructure en tant que code et les pipelines de livraison. En surveillant les métriques clés et en appliquant des politiques de mise à l’échelle prédéfinies, Auto Scaling peut automatiquement provisionner ou déprovisionner les ressources selon les besoins, ce qui améliore les performances et la rentabilité. Cela réduit le risque d’erreurs manuelles ou de retards en réponse aux modifications des exigences en matière d’application ou de charge de travail.
La combinaison de l’infrastructure en tant que code, des pipelines de livraison automatisés et d’Auto Scaling aide les organisations à provisionner, mettre à jour et mettre à l’échelle leurs environnements en toute confiance. Cette automatisation est essentielle pour maintenir une infrastructure cloud réactive, résiliente et gérée efficacement.
Niveau d’exposition au risque si cette bonne pratique n’est pas respectée : élevé
Directives d’implémentation
Pour configurer l’automatisation avec des pipelines CI/CD et une infrastructure en tant que code (IaC) pour votre architecture AWS, choisissez un système de contrôle de version tel que Git pour stocker vos modèles et votre configuration IaC. Ces modèles peuvent être écrits à l’aide d’outils tels qu’AWS CloudFormation
Ensuite, intégrez ces modèles d’infrastructure en tant que code à un pipeline CI/CD pour automatiser le processus de déploiement. AWS CodePipeline
Configurez la mise à l’échelle automatique de ressources telles que les instances Amazon EC2, les tâches Amazon ECS et les réplicas de base de données dans votre infrastructure en tant que code afin d’assurer l’augmentation horizontale et la réduction horizontale automatiques selon les besoins. Cette approche améliore la disponibilité et les performances des applications et optimise les coûts en ajustant dynamiquement les ressources en fonction de la demande. Pour obtenir la liste des ressources prises en charge, consultez Amazon EC2 Auto Scaling et AWS Auto Scaling.
Étapes d’implémentation
-
Créez et utilisez un référentiel de code source pour stocker le code qui contrôle la configuration de votre infrastructure. Validez les modifications apportées à ce référentiel afin de refléter les modifications continues que vous souhaitez apporter.
-
Sélectionnez une solution d’infrastructure en tant que code, telle qu’AWS CloudFormation pour maintenir à jour votre infrastructure et détecter les incohérences (dérive) par rapport à l’état prévu.
-
Intégrez votre plateforme IaC à votre pipeline CI/CD pour automatiser les déploiements.
-
Déterminez et collectez les métriques appropriées pour la mise à l’échelle automatique des ressources.
-
Configurez la mise à l’échelle automatique des ressources à l’aide de politiques d’augmentation horizontale et de réduction horizontale pour vos composants de charge de travail. Envisagez d’utiliser une mise à l’échelle planifiée pour les modèles d’utilisation prévisibles.
-
Surveillez les déploiements pour détecter les défaillances et les régressions. Mettez en œuvre des mécanismes de restauration au sein de votre plateforme CI/CD pour annuler les modifications si nécessaire.
Ressources
Documents connexes :
-
AWS Auto Scaling : Fonctionnement des plans de dimensionnement
-
Gestion automatique de la capacité de débit avec l’autoscaling de DynamoDB
-
Utiliser un équilibreur de charge avec un groupe Auto Scaling
-
Qu’est-ce qu’un équilibreur de charge Network Load Balancer ?
-
Qu’est-ce qu’un équilibreur de charge Application Load Balancer ?
-
Création d’un pipeline à quatre étapes avec AWS CodePipeline
Vidéos connexes :