REL 11: Comment concevez-vous votre charge de travail pour la rendre résistante aux défaillances de composants ?

Les charges de travail exigeant une haute disponibilité et un faible temps moyen de récupération (MTTR) doivent être conçues pour être résilientes.

Ressources

Static stability in AWS: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
AWS OpsWorks: Using Auto Healing to Replace Failed Instances
What Is Amazon EventBridge?
Amazon Route 53: Choosing a Routing Policy
What Is AWS Global Accelerator?
The Amazon Builders' Library: Static stability using Availability Zones
The Amazon Builders' Library: Implementing health checks
Well-Architected lab: Level 300: Implementing Health Checks and Managing Dependencies to Improve Reliability
The Berkeley/Stanford Recovery-Oriented Computing (ROC) Project
Multiple data center HA network connectivity
AWS Marketplace: products that can be used for fault tolerance
APN Partner: partners that can help with automation of your fault tolerance

Bonnes pratiques:

Plan d'amélioration

Surveiller tous les composants de la charge de travail pour détecter les défaillances

  • Déterminez l'intervalle de collecte de vos composants en fonction de vos objectifs de récupération.
  • Configurez la surveillance détaillée des composants.
  • Création de métriques personnalisées pour mesurer les KPI commerciaux : Les charges de travail implémentent des fonctions commerciales clés. Ces fonctions doivent être utilisées comme KPI permettant d'identifier la survenue d'un problème indirect.
    Publishing Custom Metrics
  • Surveillance de l'expérience utilisateur pour la détection de défaillances à l'aide des canaries utilisateur: Les tests de transaction synthétiques (également appelés « tests canari », à ne pas confondre avec les déploiements canary) qui peuvent exécuter et simuler le comportement des clients font partie des processus de test les plus importants. Exécutez ces tests en permanence sur vos points de terminaison de charge de travail à partir de divers emplacements distants.
    Amazon CloudWatch Synthetics enables you to create user canaries
  • Création de métriques personnalisées qui suivent l'expérience de l'utilisateur: Si vous pouvez analyser l'expérience du client, vous pouvez savoir à quel moment l'expérience du consommateur se dégrade.
    Publishing Custom Metrics
  • Définissez des alarmes pour détecter quand une partie de votre charge de travail ne fonctionne pas correctement et pour indiquer quand mettre à l'échelle les ressources. : Les alarmes peuvent être des signaux visuels sur les tableaux de bord ou des alertes via SNS ou par e-mail et utiliser Auto Scaling pour augmenter ou diminuer les ressources pour une charge de travail.
    Using Amazon CloudWatch Alarms
  • Création de tableaux de bord pour la visualisation de vos métriques: Les tableaux de bord peuvent être utilisés pour voir visuellement des tendances, des valeurs aberrantes et d'autres indicateurs de problèmes potentiels, ou pour fournir une indication des problèmes que vous pourriez vouloir examiner.
    Using CloudWatch Dashboards
  • Basculement vers des ressources saines

  • Basculement vers des ressources saines: Vérifiez que les ressources saines peuvent continuer à traiter les demandes en cas de défaillance d’une ressource. Pour les défaillances d'emplacement (par exemple, zone de disponibilité ou région AWS), vérifiez que vous disposez de systèmes en place pour basculer vers des ressources saines dans des emplacements intacts.
  • Automatisation de la réparation sur toutes les couches

  • Utilisation des groupes Auto Scaling pour déployer des niveaux dans une application: L'Auto Scaling peut effectuer une autoréparation sur les applications sans état et ajouter ou supprimer de la capacité.
    How AWS Auto Scaling Works
  • Implémentez la récupération automatique sur les instances EC2 dont les applications déployées ne peuvent pas être déployées dans plusieurs emplacements et qui peuvent tolérer le redémarrage en cas de défaillance. : La récupération automatique peut être utilisée pour remplacer du matériel défaillant et redémarrer l'instance lorsque l'application ne peut pas être déployée sur plusieurs emplacements. Les métadonnées de l'instance et les adresses IP associées sont conservées, tout comme le sont les volumes Amazon EBS et les points de montage sur Elastic File Systems ou les systèmes de fichiers pour Lustre et Windows.
    Amazon EC2 Automatic Recovery
    Amazon Elastic Block Store (Amazon EBS)
    Amazon Elastic File System (Amazon EFS)
    What is Amazon FSx for Lustre?
    What is Amazon FSx for Windows File Server?
  • Implémentez la récupération automatique à l'aide d'AWS Step Functions et d'AWS Lambda lorsque vous ne pouvez pas utiliser la mise à l'échelle automatique ou la récupération automatique, ou lorsque la récupération automatique échoue. : Lorsque vous ne pouvez pas utiliser la mise à l'échelle automatique, que vous ne pouvez pas utiliser la récupération automatique ou que la récupération automatique échoue, vous pouvez automatiser la réparation à l'aide d'AWS Step Functions et d'AWS Lambda.
    What is AWS Step Functions?
    What is AWS Lambda?
  • Utilisation de la stabilité statique pour éviter les comportements bimodaux

  • Utilisation de la stabilité statique pour éviter les comportements bimodaux: Un comportement bimodal survient lorsque votre charge de travail adopte un comportement différent en mode normal et en mode de défaillance, par exemple, en s'appuyant sur le lancement de nouvelles instances en cas de défaillance d'une zone de disponibilité.
    The Amazon Builders' Library: Static stability using Availability Zones
    Static stability in AWS: AWS re:Invent 2019: Introducing The Amazon Builders’ Library (DOP328)
  • Envoi de notifications lorsque des événements affectent la disponibilité

  • Alarmes sur les KPI commerciaux lorsqu'ils dépassent un seuil bas: Avoir une alarme de seuil bas sur les KPI de votre entreprise vous aide à savoir quand votre charge de travail est indisponible ou non fonctionnelle.
    Creating a CloudWatch Alarm Based on a Static Threshold
  • Alarme sur les événements qui appellent l'automatisation de la réparation: Vous pouvez appeler directement une API SNS pour envoyer des notifications avec n'importe quelle automatisation que vous créez.
    What is Amazon Simple Notification Service?