View a markdown version of this page

AWSSupport-TroubleshootELBHealthChecks - 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-TroubleshootELBHealthChecks

Description

Le AWSSupport-TroubleshootELBHealthChecks runbook permet de résoudre les problèmes liés au AWS bilan de santé d'Elastic Load Balancing (Elastic Load Balancing) en analysant les métriques Amazon CloudWatch (CloudWatch) associées, en vérifiant la connectivité réseau et en exécutant des commandes de diagnostic sur ses instances cibles.

Ce runbook aborde les cas d'utilisation suivants :

  • Il existe des instances défectueuses au sein des instances cibles d'un équilibreur de charge ou d'un groupe cible.

  • Bien qu'il n'existe aucune instance défectueuse, CloudWatch les métriques indiquent des points de données pour UnHealthyHostCounts

Important

Considérations importantes :

  • L'automatisation se concentre sur le dépannage des cibles de type d'instance.

  • Le nombre maximum d'instances autorisées pour le dépannage est de 50.

  • Les instances cibles doivent être gérées par Systems Manager pour permettre l'exécution de commandes de diagnostic au niveau de l'instance.

  • Le S3BucketName paramètre est facultatif, mais certains résultats de diagnostic sont chargés directement dans le compartiment Amazon S3 spécifié et ne sont pas affichés dans la sortie d'automatisation.

  • Le dépannage de la connectivité réseau IPv6 n'est pas pris en charge.

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.

  • elasticloadbalancing:DescribeLoadBalancers

  • elasticloadbalancing:DescribeTargetGroups

  • elasticloadbalancing:DescribeTargetHealth

  • elasticloadbalancing:DescribeInstanceHealth

  • ec2:DescribeInstances

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeSecurityGroups

  • ec2:DescribeSubnets

  • cloudwatch:GetMetricStatistics

  • ssm:SendCommand

  • ssm:GetCommandInvocation

  • ssm:DescribeInstanceInformation

  • s3:GetBucketLocation

  • s3:GetBucketAcl

  • s3:PutObject

Exemple de politique :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeInstanceHealth", "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "cloudwatch:GetMetricStatistics", "ssm:SendCommand", "ssm:GetCommandInvocation", "ssm:DescribeInstanceInformation", "s3:GetBucketLocation", "s3:GetBucketAcl", "s3:PutObject" ], "Resource": "*" } ] }

Instructions

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

  1. Accédez à AWSSupport-TroubleshootELBHealthChecks la section Documents dans Systems Manager.

  2. Sélectionnez Execute automation (Exécuter l'automatisation).

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

    • AutomationAssumeRole (Facultatif) :

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

      • Type : AWS::IAM::Role::Arn

    • LoadBalancerOrTargetGroupName (Obligatoire) :

      • Description : (Obligatoire) Le nom d'un équilibreur de charge classique ou le nom du groupe cible associé à un équilibreur de charge d'application ou à un équilibreur de charge réseau.

      • Type : String

      • Schéma autorisé : ^[a-zA-Z0-9-]+$

    • ExecutionMode (Obligatoire) :

      • Description : (Obligatoire) Contrôle le mode d'exécution de l'automatisation. Completeexécute toutes les étapes, y compris RunCommands, sur les instances Amazon EC2. SkipRunCommandsexécute toutes les étapes sauf l'exécution de commandes sur les instances.

      • Type : String

      • Valeurs autorisées : [Complete, SkipRunCommands]

    • S3BucketName (Facultatif) :

      • Description : (Facultatif) Le nom du compartiment Amazon S3 de votre compte dans lequel vous souhaitez télécharger les journaux de résolution des problèmes.

      • Type : String

      • Valeur par défaut : ""

  4. Sélectionnez Exécuter.

  5. L'automatisation démarre.

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

    • obtenir BucketPublicStatus  :

      Vérifie si le compartiment Amazon S3 cible accorde potentiellement un accès public en lecture ou en écriture à ses objets.

    • obtenir LoadBalancerDetails  :

      Identifie le type d'équilibreur de charge et renvoie un objet de détails d'équilibrage de charge unifié.

    • vérifier LoadBalancerType  :

      Vérifie si l'équilibreur de charge existe.

    • Obtenez des cibles  :

      Sur la base des différents types d'équilibreurs de charge, les requêtes décrivent les API pour renvoyer une carte des détails des cibles saines et non saines.

    • vérifier CloudWatchMetrics  :

      Vérifie les CloudWatch métriques HealthyHostCounts UnHealthyHostCounts et génère les CloudWatch liens.

    • vérifier UnhealthyReasons  :

      Vérifie les raisons néfastes pour la santé et filtre les cibles.

    • Vérifiez la connectivité  :

      Vérifie la connectivité entre l'équilibreur de charge et ses instances.

    • Exécutez les commandes  :

      Exécute des commandes de dépannage sur les instances et télécharge la sortie si le nom du compartiment est fourni.

    • Générer un rapport  :

      Génère le rapport final sur la base des résultats des étapes précédentes et télécharge le rapport dans le compartiment Amazon S3 si cela est spécifié.

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

Commandes de diagnostic

Le runbook exécute les commandes de diagnostic suivantes sur les instances :

  • Linux Shell : top, free, ss, curl, iptables, tcpdump

  • Windows PowerShell : Get-CimInstance,, Get-NetFirewallProfile Get-NetFirewallRule, netstat Invoke-WebRequest, netsh, pktmon

Références

Systems Manager Automation