REL06-BP04 Automatiser les réponses (traitement et alarmes en temps réel) - Reliability Pillar

REL06-BP04 Automatiser les réponses (traitement et alarmes en temps réel)

Utilisez l’automatisation pour agir en cas de détection d’événement, par exemple, pour remplacer les composants défectueux.

Un traitement automatique en temps réel des alarmes est mis en œuvre afin que les systèmes puissent prendre rapidement des mesures correctives et tenter d’éviter les pannes ou une dégradation du service lorsque les alarmes se déclenchent. Les réponses automatisées aux alarmes peuvent inclure le remplacement des composants défaillants, l’ajustement de la capacité de calcul, la redirection du trafic vers des hôtes, des zones de disponibilité ou d’autres régions en bonne santé, et la notification des opérateurs.

Résultat souhaité : les alarmes en temps réel sont identifiées et le traitement automatique des alarmes est configuré pour invoquer les actions appropriées prises afin de maintenir les objectifs de niveau de service et les contrats de niveau de service (SLA). L’automatisation peut aller de l’autoréparation de composants individuels au basculement complet du site.

Anti-modèles courants :

  • Pas d’inventaire ou de catalogue clair des principales alarmes en temps réel.

  • Aucune réponse automatique aux alarmes critiques (par exemple, lorsque la capacité de calcul est presque épuisée, une mise à l’échelle automatique se produit).

  • Réponses aux alarmes contradictoires.

  • Pas de procédure opérationnelle standard (SOP) que les opérateurs doivent suivre lorsqu’ils reçoivent des notifications d’alerte.

  • Pas de surveillance des modifications de configuration, alors que des changements de configuration non détectés peuvent entraîner des temps d’arrêt pour les charges de travail.

  • Pas de stratégie pour annuler les modifications de configuration involontaires.

Avantages du respect de cette bonne pratique : l’automatisation du traitement des alarmes peut améliorer la résilience du système. Le système prend automatiquement des mesures correctives, réduisant ainsi les activités manuelles qui nécessitent des interventions humaines sujettes aux erreurs. L’exécution de la charge de travail permet d’atteindre les objectifs de disponibilité et de réduire les interruptions de service.

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

Directives d’implémentation

Pour gérer efficacement les alertes et automatiser leur réponse, classez les alertes en fonction de leur criticité et de leur impact, documentez les procédures de réponse et planifiez les réponses avant de classer les tâches.

Identifiez les tâches nécessitant des actions spécifiques (souvent détaillées dans les runbooks) et examinez tous les runbooks et playbooks pour déterminer les tâches qui peuvent être automatisées. Si les actions peuvent être définies, alors elles sont souvent automatisables. Si elles ne le sont pas, documentez les étapes manuelles dans une SOP et formez les opérateurs à ces étapes. Remettez continuellement en question les processus manuels pour trouver des opportunités d’automatisation où vous pouvez établir et maintenir un plan d’automatisation des réponses aux alertes.

Étapes d’implémentation

  1. Créez un inventaire des alarmes : pour obtenir une liste de toutes les alarmes, vous pouvez utiliser la AWS CLI utilisant la commande Amazon CloudWatch describe-alarms. Selon le nombre d’alarmes que vous avez configurées, vous devrez peut-être utiliser la pagination pour récupérer un sous-ensemble d’alarmes pour chaque appel, ou bien vous pouvez utiliser l’AWS SDK pour obtenir les alarmes à l’aide d’un appel d’API.

  2. Documentez toutes les actions d’alarme : mettez à jour un runbook avec toutes les alarmes et leurs actions, qu’elles soient manuelles ou automatisées. AWS Systems Manager fournit des runbooks prédéfinis. Pour plus d’informations sur les runbooks, consultez Travailler avec des runbooks. Pour plus de détails sur la façon d’afficher le contenu du runbook, consultez Afficher le contenu du runbook.

  3. Configurez et gérez les actions d’alarme : pour toutes les alarmes nécessitant une action, spécifiez l’action automatisée à l’aide de CloudWatch SDK. Par exemple, vous pouvez modifier automatiquement l’état de vos instances Amazon EC2 basées sur une alarme CloudWatch en créant des actions sur l’alarme et en les activant ou désactivant.

    Vous pouvez également utiliser Amazon EventBridge pour automatiser vos événements système, tels que des problèmes de disponibilité d’application ou des modifications de ressources. Vous pouvez créer des règles pour indiquer quels événements vous intéressent et les actions à effectuer quand un événement correspond à une règle. Les actions qui peuvent être initiées automatiquement incluent l’appel d’une fonction AWS Lambda, l’invocation d’Amazon EC2Run Command, le transfert de l’événement à Amazon Kinesis Data Streams et la visualisation d’Automate Amazon EC2 à l’aide d’EventBridge.

  4. Procédures opérationnelles standard (SOP) : en fonction des composants de votre application, AWS Resilience Hub recommande plusieurs modèles de SOP. Vous pouvez utiliser ces SOP pour documenter tous les processus qu’un opérateur doit suivre en cas d’alerte. Vous pouvez également construire une SOP basée sur les recommandations du Resilience Hub, où vous avez besoin d’une application Resilience Hub associée à une politique de résilience, ainsi que d’une évaluation historique de la résilience par rapport à cette application. Les recommandations de SOP sont générées par l’évaluation de la résilience.

    Resilience Hub travaille avec Systems Manager pour automatiser les étapes de vos SOP en fournissant un certain nombre de documents SSM que vous pouvez utiliser comme base pour ces SOP. Par exemple, Resilience Hub peut recommander une procédure SOP pour ajouter de l’espace disque sur la base d’un document d’automatisation SSM existant.

  5. Effectuer des action automatisées à l’aide d’Amazon DevOps Guru : vous pouvez utiliser Amazon DevOps Guru pour surveiller automatiquement les ressources d’applications pour détecter les comportements anormaux et fournir des recommandations ciblées afin d’accélérer l’identification des problèmes et de réduire les temps de remédiation. Avec DevOps Guru, vous pouvez surveiller les flux de données opérationnelles en temps quasi réel à partir de plusieurs sources, notamment les métriques Amazon CloudWatch, AWS Config, AWS CloudFormation et AWS X-Ray. Vous pouvez également utiliser DevOps Guru pour créer automatiquement des OpsiTems dans OpsCenter et envoyer des événements à EventBridge pour une automatisation supplémentaire.

Ressources

Bonnes pratiques associées :

Documents connexes :

Vidéos connexes :

Exemples associés :