View a markdown version of this page

AWSSupport-TroubleshootALB5XXErrors - AWS Systems Manager Référence du dossier d’exploitation Automation

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.

AWSSupport-TroubleshootALB5XXErrors

Description

Le AWSSupport-TroubleshootALB5XXErrors runbook diagnostique et résout les erreurs HTTP 5XX sur un équilibreur de charge d'application. Il analyse les métriques Amazon CloudWatch (CloudWatch) et les journaux d'accès à Application Load Balancer afin d'identifier les causes profondes et de fournir des recommandations exploitables. Le runbook couvre les fonctionnalités suivantes :

  • Analyse des modèles de trafic : identifie les points chauds et les anomalies d'une seule zone de disponibilité en utilisant des CloudWatch mesures pour détecter la répartition inégale du trafic entre les zones de disponibilité.

  • Diagnostic des journaux d'accès : traite les journaux d'accès de l'Application Load Balancer en récupérant les fichiers journaux du compartiment Amazon S3 configuré afin d'extraire des modèles d'erreur spécifiques, les raisons des erreurs et des informations de diagnostic détaillées pour un dépannage granulaire.

  • Error-specific analyse : fournit un diagnostic ciblé pour chaque type d'erreur HTTP 5XX :

    • HTTP 500 : échecs d'authentification, problèmes de connectivité WAF et problèmes de point de terminaison IDP.

    • HTTP 502 : problèmes de connexion à la cible, erreurs de fonction AWS Lambda (Lambda), échecs de négociation TLS et scénarios de désenregistrement de la cible.

    • HTTP 503 : groupes cibles vides et problèmes d'enregistrement des cibles.

    • HTTP 504 : délais de connexion, anomalies du temps de réponse cible avec comparaison historique des données de référence et évaluation complète de la connectivité réseau.

    • Autres erreurs 5XX : analyse complète des codes d'état 5XX peu courants et des cas extrêmes qui ne sont pas couverts par les catégories d'erreur standard.

  • Analyse approfondie de la connectivité réseau : pour détecter les erreurs HTTP 504, évalue les règles des groupes de sécurité, les ACL réseau et les configurations des tables de routage entre l'application Load Balancer et ses cibles dans la même AWS région et le même compte.

  • Sélection adaptative des sources de données : donne la priorité à l'analyse des journaux d'accès lorsqu'elle est disponible pour un diagnostic détaillé des erreurs, et revient automatiquement aux CloudWatch métriques lorsque les journaux ne sont pas disponibles ou incomplets.

Limitations

Ce runbook présente les limites suivantes :

  • Limites du contrôle de connectivité : les évaluations de connectivité réseau ne sont effectuées que pour les cibles situées dans la même AWS région et dans le même compte que l'équilibreur de charge des applications. Cross-account ou les cibles sur site reçoivent des conseils généraux en matière de connectivité.

  • Limites de temps de traitement des journaux d'accès : l'analyse des journaux d'accès est limitée à une fenêtre de traitement de 9 minutes. En cas de dépassement, l'analyse s'arrête et fournit des résultats sur la base des journaux traités jusqu'à présent. Réduisez le délai nécessaire à l'analyse complète des journaux.

  • Exigences relatives à la sécurité et à la localisation du compartiment Amazon S3 : le traitement des journaux d'accès nécessite que le compartiment Amazon S3 réponde aux critères de sécurité et de localisation. Le runbook ignore le traitement du journal d'accès lorsque le compartiment Amazon S3 est accessible au public. L'état du compartiment public est déterminé par la politique du compartiment ou par la configuration du bloc d'accès public. Le runbook ignore également le traitement lorsque le compartiment Amazon S3 ne se trouve pas dans le même AWS compte et la même région que l'équilibreur de charge des applications. Lorsque ces vérifications échouent, le runbook revient automatiquement à une analyse basée sur des CloudWatch métriques.

  • Les métriques comme solution de secours : lorsque les journaux d'accès ne sont pas activés ou que le traitement des journaux échoue ou est incomplet, le runbook revient automatiquement à une analyse CloudWatch basée sur des métriques avec des informations de diagnostic moins détaillées. L'absence de journaux d'accès peut affecter la précision de la détection des causes premières.

  • Dépendance des données historiques : la détection des anomalies du temps de réponse HTTP 504 nécessite 7 jours de données historiques pour la comparaison de référence. Des données historiques limitées peuvent affecter la précision de la détection.

Coûts supplémentaires

L'exécution de ce runbook interroge les métriques d'Amazon CloudWatch et, lorsque les journaux d'accès sont activés, extrait des objets depuis Amazon S3. Des frais standard CloudWatch et Amazon S3 peuvent s'appliquer à votre AWS compte pour les données demandées lors de l'analyse. Pour plus d'informations sur la tarification, consultez les rubriques CloudWatch Tarification Amazon et Tarification Amazon Simple Storage Service.

Comment ça marche

Le runbook exécute les étapes de validation et d'analyse suivantes :

  • Vérifie que l'équilibreur de charge des applications spécifié existe et collecte les attributs de l'équilibreur de charge des applications tels que le délai d'inactivité et la configuration du journal d'accès.

  • Détecte les anomalies liées au hotspotting et aux erreurs liées à une seule zone de disponibilité à l'aide de métriques CloudWatch .

  • Récupère et traite les journaux d'accès à Application Load Balancer depuis le compartiment Amazon S3 configuré lorsque les journaux d'accès sont activés et que le compartiment répond aux exigences de sécurité et de localisation.

  • Diagnostique chaque code d'erreur HTTP 5XX (500, 502, 503, 504 et autres) en utilisant les entrées du journal d'accès lorsqu'elles sont disponibles, ou en utilisant des CloudWatch métriques comme solution de repli.

  • Pour les erreurs HTTP 504, évalue les règles des groupes de sécurité, les ACL réseau et les configurations des tables de routage entre l'équilibreur de charge d'application et ses cibles.

  • Consolide les résultats dans un rapport contenant des recommandations et des références pertinentes.

Exécutez cette automatisation (console)

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

/

Autorisations IAM requises

Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

  • s3:ListBucket

  • s3:GetObject

  • s3:GetBucketPolicyStatus

  • s3:GetBucketPublicAccessBlock

  • s3:ListAllMyBuckets

  • elasticloadbalancing:DescribeTargetGroups

  • elasticloadbalancing:DescribeTargetHealth

  • elasticloadbalancing:DescribeLoadBalancers

  • elasticloadbalancing:DescribeTargetGroupAttributes

  • elasticloadbalancing:DescribeLoadBalancerAttributes

  • elasticloadbalancing:DescribeListeners

  • elasticloadbalancing:DescribeRules

  • ec2:DescribeSubnets

  • ec2:DescribeInstances

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkAcls

  • ec2:DescribeRouteTables

  • cloudwatch:GetMetricData

  • cloudtrail:LookupEvents

  • wafv2:ListWebACLs

  • wafv2:ListResourcesForWebACL

  • lambda:GetFunctionConfiguration

Exemple de politique IAM :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ReadAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "ELBReadAccess", "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroupAttributes", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeRules" ], "Resource": "*" }, { "Sid": "EC2ReadAccess", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkAcls", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Sid": "MonitoringReadAccess", "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "cloudtrail:LookupEvents" ], "Resource": "*" }, { "Sid": "WAFReadAccess", "Effect": "Allow", "Action": [ "wafv2:ListWebACLs", "wafv2:ListResourcesForWebACL" ], "Resource": "*" }, { "Sid": "LambdaReadAccess", "Effect": "Allow", "Action": [ "lambda:GetFunctionConfiguration" ], "Resource": "*" } ] }
Instructions

Pour configurer l'automatisation, procédez comme suit :

  1. Ouvrez AWSSupport-TroubleshootALB5XXErrors dans le Gestionnaire de systèmes sous Documents.

  2. Choisissez Execute automation (Exécuter l’automatisation).

  3. Pour les paramètres d'entrée, entrez les informations suivantes :

    • AutomationAssumeRole (Obligatoire) :

      Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui démarre ce runbook.

    • AlBarn (obligatoire) :

      L'ARN de l'équilibreur de charge des applications à étudier. Par exemple, arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/50dc6c495c0c9188.

    • IssueStartTime (Obligatoire) :

      Heure de début du problème en UTC. Utilisez le format d'horodatage ISO 8601 (). YYYY-MM-DDTHH:MM:SSZ Par exemple, 1970-01-01T00:00:00Z.

    • IssueEndTime (Obligatoire) :

      Heure de fin du numéro en UTC. Utilisez le format d'horodatage ISO 8601 (). YYYY-MM-DDTHH:MM:SSZ Par exemple, 1970-01-01T00:00:00Z.

  4. Sélectionnez Execute (Exécuter).

  5. L'automatisation démarre.

  6. Le document exécute les étapes suivantes :

    • RunInitialChecks:

      Exécute les vérifications initiales de l'équilibreur de charge des applications. Les vérifications initiales incluent la vérification de l'existence de l'équilibreur de charge des applications, la détection des erreurs de hotspotting et de zone de disponibilité unique, la collecte des informations relatives aux erreurs HTTP et la vérification de la configuration du journal d'accès.

    • ProcessAccessLogs:

      Récupère les fichiers journaux d'accès à l'Application Load Balancer pertinents depuis le compartiment Amazon S3 et les traite pour identifier les raisons et les codes d'erreur uniques. Seul un sous-ensemble de fichiers journaux d'accès est traité pendant la période identifiée. Si le temps de traitement dépasse la limite de 9 minutes, les journaux restants ne sont pas traités.

    • HTTP500ErrorIdentification:

      Identifie la raison des erreurs Balancer-generated HTTP 500 liées au chargement de l'application en utilisant CloudWatch des métriques ou les journaux d'accès analysés, s'ils sont disponibles.

    • HTTP502ErrorIdentification:

      Identifie la raison des erreurs Balancer-generated HTTP 502 lors du chargement de l'application à l'aide de CloudWatch métriques ou des journaux d'accès analysés, s'ils sont disponibles.

    • HTTP503ErrorIdentification:

      Identifie la raison des erreurs Balancer-generated HTTP 503 lors du chargement de l'application à l'aide de CloudWatch métriques.

    • HTTP504ErrorIdentification:

      Identifie la raison des erreurs Balancer-generated HTTP 504 lors du chargement de l'application à l'aide de CloudWatch métriques ou des journaux d'accès analysés, s'ils sont disponibles. Pour les erreurs HTTP 504, l'étape évalue également les règles des groupes de sécurité, les ACL réseau et les configurations des tables de routage entre l'équilibreur de charge des applications et ses cibles.

    • OtherHTTPErrorIdentification:

      Identifie la raison des erreurs HTTP non classées générées par l'équilibreur de charge des applications en utilisant des CloudWatch métriques ou les journaux d'accès analysés, s'ils sont disponibles.

    • GenerateReport:

      Génère un rapport consolidé à partir des résultats des étapes précédentes, y compris l'état des points chauds, les anomalies d'une seule zone de disponibilité, les diagnostics d'erreur et les recommandations.

  7. Une fois l'exécution terminée, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution.

Références

Systems Manager Automation