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-TroubleshootALB5XXErrors
Description
Das AWSSupport-TroubleshootALB5XXErrors Runbook diagnostiziert und behebt HTTP 5XX-Fehler auf einem Application Load Balancer. Es analysiert Amazon CloudWatch (CloudWatch) -Metriken und Application Load Balancer-Zugriffsprotokolle, um die Hauptursachen zu identifizieren und umsetzbare Empfehlungen abzugeben. Das Runbook deckt die folgenden Funktionen ab:
Analyse des Verkehrsmusters: Identifiziert Hotspotting und Anomalien in einzelnen Availability Zones mithilfe von CloudWatch Metriken, um eine ungleichmäßige Verteilung des Datenverkehrs auf die Availability Zones zu erkennen.
Diagnose des Zugriffsprotokolls: Verarbeitet die Zugriffsprotokolle von Application Load Balancer, indem Protokolldateien aus dem konfigurierten Amazon S3-Bucket abgerufen werden, um spezifische Fehlermuster, Fehlergründe und detaillierte Diagnoseinformationen für eine detaillierte Fehlerbehebung zu extrahieren.
Error-specific Analyse: Bietet eine gezielte Diagnose für jeden HTTP 5XX-Fehlertyp:
HTTP 500: Authentifizierungsfehler, WAF-Konnektivitätsprobleme und IDP-Endpunktprobleme.
HTTP 502: Probleme mit der Target-Verbindung, AWS Lambda (Lambda-) Funktionsfehler, TLS-Aushandlungsfehler und Szenarien zur Abmeldung von Zielen.
HTTP 503: Leere Zielgruppen und Probleme bei der Zielregistrierung.
HTTP 504: Verbindungs-Timeouts, Abweichungen bei der Zielantwortzeit mit historischem Vergleich der Ausgangswerte und umfassende Bewertung der Netzwerkkonnektivität.
Andere 5XX-Fehler: Umfassende Analyse ungewöhnlicher 5XX-Statuscodes und Randfälle, die nicht durch Standardfehlerkategorien abgedeckt sind.
Tiefer Einblick in die Netzwerkkonnektivität: Wertet bei HTTP 504-Fehlern Sicherheitsgruppenregeln, Netzwerk-ACLs und Routing-Tabellenkonfigurationen zwischen dem Application Load Balancer und seinen Zielen in derselben Region und demselben Konto aus. AWS
Adaptive Datenquellenauswahl: Priorisiert die Analyse von Zugriffsprotokollen, wenn sie für eine detaillierte Fehlerdiagnose verfügbar ist, und greift automatisch auf CloudWatch Metriken zurück, wenn Protokolle nicht verfügbar oder unvollständig sind.
Einschränkungen
Dieses Runbook hat die folgenden Einschränkungen:
Einschränkungen bei der Konnektivitätsprüfung: Bewertungen der Netzwerkkonnektivität werden nur für Ziele in derselben AWS Region und demselben Konto wie der Application Load Balancer durchgeführt. Cross-account oder lokale Ziele erhalten allgemeine Anleitungen zur Konnektivität.
Zeitlimits für die Verarbeitung von Zugriffsprotokollen: Die Analyse des Zugriffsprotokolls ist auf ein Verarbeitungsfenster von 9 Minuten begrenzt. Bei Überschreitung wird die Analyse gestoppt und es werden Ergebnisse angezeigt, die auf den bisher verarbeiteten Protokollen basieren. Reduzieren Sie den Zeitrahmen für eine vollständige Protokollanalyse.
Sicherheits- und Standortanforderungen für Amazon S3-Buckets: Für die Verarbeitung von Zugriffsprotokollen muss der Amazon S3-Bucket die Sicherheits- und Standortkriterien erfüllen. Das Runbook überspringt die Verarbeitung des Zugriffsprotokolls, wenn der Amazon S3-Bucket öffentlich zugänglich ist. Der Status eines öffentlichen Buckets wird durch die Bucket-Richtlinie oder die Konfiguration des öffentlichen Zugriffsblocks bestimmt. Das Runbook überspringt auch die Verarbeitung, wenn sich der Amazon S3-Bucket nicht in demselben AWS Konto und in derselben Region wie der Application Load Balancer befindet. Wenn diese Prüfungen fehlschlagen, greift das Runbook automatisch auf metrikbasierte Analysen zurück. CloudWatch
Metriken als Fallback: Wenn Zugriffsprotokolle nicht aktiviert sind oder die Protokollverarbeitung fehlschlägt oder unvollständig ist, greift das Runbook automatisch auf CloudWatch metrikbasierte Analysen mit weniger detaillierten Diagnoseinformationen zurück. Das Fehlen von Zugriffsprotokollen kann die Genauigkeit der Ursachenerkennung beeinträchtigen.
Historische Datenabhängigkeit: Für die Erkennung von Anomalien bei der HTTP-504-Reaktionszeit sind Verlaufsdaten von 7 Tagen für den Basisvergleich erforderlich. Eingeschränkte historische Daten können die Erkennungsgenauigkeit beeinträchtigen.
Weitere Kosten
Beim Ausführen dieses Runbooks werden Metriken von Amazon CloudWatch abgefragt und, wenn Zugriffsprotokolle aktiviert sind, Objekte von Amazon S3 abgerufen. Für die während der Analyse abgefragten Daten können für Ihr AWS Konto Standard- CloudWatch und Amazon S3-Gebühren anfallen. Weitere Informationen zur Preisgestaltung finden Sie unter Amazon CloudWatch Pricing
Funktionsweise
Das Runbook führt die folgenden Validierungs- und Analyseschritte durch:
Überprüft, ob der angegebene Application Load Balancer vorhanden ist, und erfasst Application Load Balancer-Attribute wie Timeout bei Leerlauf und Konfiguration des Zugriffsprotokolls.
Erkennt Hotspotting und Fehleranomalien in einzelnen Availability Zones mithilfe von Metriken. CloudWatch
Ruft Application Load Balancer-Zugriffsprotokolle aus dem konfigurierten Amazon S3-Bucket ab und verarbeitet sie, wenn die Zugriffsprotokolle aktiviert sind und der Bucket die Sicherheits- und Standortanforderungen erfüllt.
Diagnostiziert jeden HTTP 5XX-Fehlercode (500, 502, 503, 504 und andere) mithilfe von Zugriffsprotokolleinträgen, sofern verfügbar, oder mithilfe von CloudWatch Metriken als Fallback.
Wertet bei HTTP 504-Fehlern Sicherheitsgruppenregeln, Netzwerk-ACLs und Routing-Tabellenkonfigurationen zwischen dem Application Load Balancer und seinen Zielen aus.
Fasst die Ergebnisse in einem Bericht mit Empfehlungen und relevanten Referenzen zusammen.
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.
s3:ListBuckets3:GetObjects3:GetBucketPolicyStatuss3:GetBucketPublicAccessBlocks3:ListAllMyBucketselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealthelasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeTargetGroupAttributeselasticloadbalancing:DescribeLoadBalancerAttributeselasticloadbalancing:DescribeListenerselasticloadbalancing:DescribeRulesec2:DescribeSubnetsec2:DescribeInstancesec2:DescribeNetworkInterfacesec2:DescribeSecurityGroupsec2:DescribeNetworkAclsec2:DescribeRouteTablescloudwatch:GetMetricDatacloudtrail:LookupEventswafv2:ListWebACLswafv2:ListResourcesForWebACLlambda:GetFunctionConfiguration
Beispiel für eine IAM-Richtlinie:
{ "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": "*" } ] }
Anleitungen
Folgen Sie diesen Schritten, um die Automatisierung zu konfigurieren:
-
Öffnen Sie AWSSupport-TroubleshootALB5XXErrors
im Systems Manager unter Dokumente. -
Wählen Sie Automatisierung ausführen.
-
Geben Sie für die Eingabeparameter Folgendes ein:
-
AutomationAssumeRole (Erforderlich):
Der Amazon-Ressourcenname (ARN) der AWS Identity and Access Management (IAM) -Rolle, die es Systems Manager Automation ermöglicht, die Aktionen in Ihrem Namen auszuführen. Wenn keine Rolle angegeben ist, verwendet Systems Manager Automation die Berechtigungen des Benutzers, der dieses Runbook startet.
-
AlBarn (erforderlich):
Der ARN des Application Load Balancers, der untersucht werden soll. Beispiel,
arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/50dc6c495c0c9188. -
IssueStartTime (Erforderlich):
Die Startzeit des Problems in UTC. Verwenden Sie das ISO 8601-Zeitstempelformat ()
YYYY-MM-DDTHH:MM:SSZ. Beispiel,1970-01-01T00:00:00Z. -
IssueEndTime (Erforderlich):
Die Endzeit des Problems in UTC. Verwenden Sie das ISO 8601-Zeitstempelformat ()
YYYY-MM-DDTHH:MM:SSZ. Beispiel,1970-01-01T00:00:00Z.
-
-
Wählen Sie Ausführen.
-
Die Automatisierung wird initiiert.
-
Das Dokument führt die folgenden Schritte aus:
-
RunInitialChecks:Führt erste Prüfungen auf dem Application Load Balancer durch. Zu den ersten Prüfungen gehören die Überprüfung der Existenz des Application Load Balancers, die Erkennung von Hotspotting- und Einzel-Availability Zone-Fehlern, das Erfassen von HTTP-Fehlerdetails und das Überprüfen der Konfiguration des Zugriffsprotokolls.
-
ProcessAccessLogs:Ruft die relevanten Application Load Balancer-Zugriffsprotokolldateien aus dem Amazon S3-Bucket ab und verarbeitet sie, um eindeutige Fehlergründe und -codes zu identifizieren. Nur eine Teilmenge der Zugriffsprotokolldateien wird für den identifizierten Zeitraum verarbeitet. Wenn die Verarbeitungszeit das 9-Minuten-Limit überschreitet, werden die verbleibenden Protokolle nicht verarbeitet.
-
HTTP500ErrorIdentification:Identifiziert den Fehlergrund für Balancer-generated HTTP 500-Fehler beim Laden von Anwendungen, indem entweder CloudWatch Metriken oder die analysierten Zugriffsprotokolle verwendet werden, sofern verfügbar.
-
HTTP502ErrorIdentification:Identifiziert den Fehlergrund für Application Load Balancer-generated HTTP 502-Fehler, indem entweder CloudWatch Metriken oder die analysierten Zugriffsprotokolle verwendet werden, sofern verfügbar.
-
HTTP503ErrorIdentification:Identifiziert den Fehlergrund für Balancer-generated HTTP 503-Fehler beim Laden von Anwendungen mithilfe von CloudWatch Metriken.
-
HTTP504ErrorIdentification:Identifiziert den Fehlergrund für Balancer-generated HTTP 504-Fehler beim Laden von Anwendungen mithilfe von CloudWatch Metriken oder den analysierten Zugriffsprotokollen, falls verfügbar. Bei HTTP 504-Fehlern werden in diesem Schritt auch Sicherheitsgruppenregeln, Netzwerk-ACLs und Routing-Tabellenkonfigurationen zwischen dem Application Load Balancer und seinen Zielen ausgewertet.
-
OtherHTTPErrorIdentification:Identifiziert den Fehlergrund für nicht klassifizierte HTTP-Fehler, die vom Application Load Balancer generiert wurden. Dabei werden entweder CloudWatch Metriken oder die analysierten Zugriffsprotokolle verwendet, sofern verfügbar.
-
GenerateReport:Generiert einen konsolidierten Bericht aus den Ergebnissen der vorherigen Schritte, einschließlich des Hotspotting-Status, Anomalien in einzelnen Availability Zones, Fehlerdiagnosen und Empfehlungen.
-
-
Nach Abschluss des Vorgangs finden Sie im Abschnitt „Ausgaben“ die detaillierten Ergebnisse der Ausführung.
Referenzen
Systems Manager Automation