View a markdown version of this page

AWSSupport-TroubleshootELBHealthChecks - AWS Systems Manager Runbook-Referenz für Automation

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWSSupport-TroubleshootELBHealthChecks

Beschreibung

Das AWSSupport-TroubleshootELBHealthChecks Runbook hilft bei der Behebung AWS von Problemen mit der Zustandsprüfung von Elastic Load Balancing (Elastic Load Balancing), indem es die zugehörigen Amazon CloudWatch (CloudWatch) -Metriken analysiert, die Netzwerkkonnektivität verifiziert und Diagnosebefehle auf den Ziel-Instances ausführt.

Dieses Runbook befasst sich mit den folgenden Anwendungsfällen:

  • In den Zielinstanzen eines Load Balancers oder einer Zielgruppe befinden sich fehlerhafte Instanzen.

  • Zwar gibt es keine fehlerhaften Instances, aber CloudWatch Metriken geben Datenpunkte an für UnHealthyHostCounts

Wichtig

Wichtige Überlegungen:

  • Die Automatisierung konzentriert sich auf die Fehlerbehebung bei Zielen vom Instance-Typ.

  • Die maximale Anzahl von Instanzen, die für die Fehlerbehebung zulässig sind, beträgt 50.

  • Die Zielinstanzen müssen von Systems Manager verwaltet werden, um die Ausführung von Diagnosebefehlen auf Instanzebene zu ermöglichen.

  • Der S3BucketName Parameter ist optional, aber bestimmte Diagnoseergebnisse werden direkt in den angegebenen Amazon S3-Bucket hochgeladen und nicht in der Automatisierungsausgabe angezeigt.

  • Die Fehlerbehebung bei der IPv6-Netzwerkkonnektivität wird nicht unterstützt.

Führen Sie diese Automatisierung aus (Konsole)

Art des Dokuments

Automatisierung

Eigentümer

Amazon

Plattformen

/

Erforderliche IAM-Berechtigungen

Der AutomationAssumeRole Parameter erfordert die folgenden Aktionen, um das Runbook erfolgreich zu verwenden.

  • 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

Beispiel für eine Richtlinie:

{ "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": "*" } ] }

Anweisungen

Folgen Sie diesen Schritten, um die Automatisierung zu konfigurieren:

  1. Navigieren Sie AWSSupport-TroubleshootELBHealthChecks im Systems Manager unter Dokumente zu.

  2. Wählen Sie Execute automation (Automatisierung ausführen).

  3. Geben Sie für die Eingabeparameter Folgendes ein:

    • AutomationAssumeRole (Fakultativ):

      • Beschreibung: (Optional) Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es SSM Automation ermöglicht, die Aktionen in Ihrem Namen auszuführen. Wenn keine Rolle angegeben ist, verwendet SSM Automation die Berechtigungen des Benutzers, der dieses Runbook startet.

      • Typ: AWS::IAM::Role::Arn

    • LoadBalancerOrTargetGroupName (Erforderlich):

      • Beschreibung: (Erforderlich) Der Name eines Classic Load Balancers oder der Name der Zielgruppe, die einem Application Load Balancer oder Network Load Balancer zugeordnet ist.

      • Typ: String

      • Zulässiges Muster: ^[a-zA-Z0-9-]+$

    • ExecutionMode (Erforderlich):

      • Beschreibung: (Erforderlich) Steuert den Ausführungsmodus der Automatisierung. Completeführt alle Schritte einschließlich RunCommands auf Amazon EC2-Instances aus. SkipRunCommandsführt alle Schritte mit Ausnahme der Ausführung von Befehlen auf Instances aus.

      • Typ: String

      • Zulässige Werte: [Complete, SkipRunCommands]

    • S3BucketName (Fakultativ):

      • Beschreibung: (Optional) Der Name des Amazon S3-Buckets in Ihrem Konto, in den Sie die Protokolle zur Fehlerbehebung hochladen möchten.

      • Typ: String

      • Standard: ""

  4. Wählen Sie Ausführen aus.

  5. Die Automatisierung wird eingeleitet.

  6. Das Dokument führt die folgenden Schritte aus:

    • erhalten BucketPublicStatus:

      Prüft, ob der Amazon S3-Ziel-Bucket potenziell öffentlichen Lese- oder Schreibzugriff auf seine Objekte gewährt.

    • erhalten Sie LoadBalancerDetails:

      Identifiziert den Load Balancer-Typ und gibt ein einheitliches Load Balancer-Detailobjekt zurück.

    • überprüfen Sie: LoadBalancerType

      Prüft, ob der Load Balancer existiert.

    • Ziele abrufen:

      Basierend auf den verschiedenen Typen von Load Balancern beschreiben Abfragen APIs, die eine Übersicht über fehlerfreie und fehlerhafte Zieldetails zurückgeben.

    • überprüfen Sie: CloudWatchMetrics

      Überprüft die CloudWatch Metriken HealthyHostCounts UnHealthyHostCounts und generiert die CloudWatch Links.

    • überprüfe UnhealthyReasons:

      Überprüft auf gesundheitsschädliche Gründe und filtert Ziele heraus.

    • Überprüfen Sie die Konnektivität:

      Überprüft die Konnektivität zwischen dem Load Balancer und seinen Instanzen.

    • Befehle ausführen:

      Führt Befehle zur Problembehandlung auf Instanzen aus und lädt die Ausgabe hoch, wenn der Bucket-Name angegeben wird.

    • Bericht generieren:

      Generiert den endgültigen Bericht auf der Grundlage der Ergebnisse der vorherigen Schritte und lädt den Bericht in den Amazon S3-Bucket hoch, falls angegeben.

  7. Wenn Sie fertig sind, finden Sie im Abschnitt Ausgaben die detaillierten Ergebnisse der Ausführung.

Diagnosebefehle

Das Runbook führt die folgenden Diagnosebefehle auf Instanzen aus:

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

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

Referenzen

Systems Manager Automation