Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWSSupport-TroubleshootALB5XXErrors
Description
Il AWSSupport-TroubleshootALB5XXErrors runbook diagnostica e risolve gli errori HTTP 5XX su un Application Load Balancer. Analizza le metriche di Amazon CloudWatch (CloudWatch) e i log di accesso di Application Load Balancer per identificare le cause principali e fornire consigli pratici. Il runbook include le seguenti funzionalità:
Analisi del modello di traffico: identifica gli hotspotting e le anomalie delle singole zone di disponibilità utilizzando CloudWatch metriche per rilevare la distribuzione non uniforme del traffico tra le zone di disponibilità.
Diagnosi dei log di accesso: elabora i log di accesso di Application Load Balancer recuperando i file di log dal bucket Amazon S3 configurato per estrarre modelli di errore specifici, motivi di errore e informazioni diagnostiche dettagliate per una risoluzione granulare dei problemi.
Error-specific analisi: fornisce una diagnosi mirata per ogni tipo di errore HTTP 5XX:
HTTP 500: errori di autenticazione, problemi di connettività WAF e problemi relativi agli endpoint IDP.
HTTP 502: problemi di connessione a Target, errori di funzione AWS Lambda (Lambda), errori di negoziazione TLS e scenari di cancellazione del target.
HTTP 503: gruppi target vuoti e problemi di registrazione dei target.
HTTP 504: timeout di connessione, anomalie del tempo di risposta previsto con confronto storico delle baseline e valutazione completa della connettività di rete.
Altri errori 5XX: analisi completa di codici di stato 5XX non comuni e casi limite che non sono coperti dalle categorie di errore standard.
Approfondimento sulla connettività di rete: per gli errori HTTP 504, valuta le regole dei gruppi di sicurezza, gli ACL di rete e le configurazioni della tabella di routing tra Application Load Balancer e le relative destinazioni nella stessa regione e nello stesso account. AWS
Selezione adattiva dell'origine dati: dà la priorità all'analisi dei log di accesso quando disponibile per una diagnosi dettagliata degli errori e ricorre automaticamente alle metriche quando i log non sono disponibili o sono incompleti. CloudWatch
Limitazioni
Questo runbook presenta le seguenti limitazioni:
Limitazioni al controllo della connettività: le valutazioni della connettività di rete vengono eseguite solo per destinazioni nella stessa AWS regione e nello stesso account dell'Application Load Balancer. Cross-account o gli obiettivi locali ricevono indicazioni generali sulla connettività.
Limiti di tempo per l'elaborazione dei log di accesso: l'analisi dei log di accesso è limitata a una finestra di elaborazione di 9 minuti. Se superati, l'analisi si interrompe e fornisce risultati basati sui log elaborati finora. Riduci il lasso di tempo necessario per l'analisi completa dei log.
Requisiti di sicurezza e posizione del bucket Amazon S3: l'elaborazione dei log di accesso richiede che il bucket Amazon S3 soddisfi i criteri di sicurezza e localizzazione. Il runbook salta l'elaborazione dei log di accesso quando il bucket Amazon S3 è accessibile pubblicamente. Lo stato del bucket pubblico è determinato dalla policy del bucket o dalla configurazione del blocco di accesso pubblico. Il runbook salta l'elaborazione anche quando il bucket Amazon S3 non si trova nello stesso AWS account e nella stessa regione dell'Application Load Balancer. Quando questi controlli falliscono, il runbook torna automaticamente all'analisi basata su metriche. CloudWatch
Metriche come alternativa: quando i log di accesso non sono abilitati o l'elaborazione dei log fallisce o è incompleta, il runbook torna automaticamente all'analisi basata su CloudWatch metriche con informazioni diagnostiche meno granulari. La mancanza di registri di accesso potrebbe influire sulla precisione del rilevamento della causa principale.
Dipendenza dai dati storici: il rilevamento delle anomalie nel tempo di risposta HTTP 504 richiede 7 giorni di dati storici per il confronto delle previsioni. I dati storici limitati potrebbero influire sulla precisione del rilevamento.
Costi aggiuntivi
L'esecuzione di questo runbook richiede i parametri di Amazon CloudWatch e, quando i log di accesso sono abilitati, recupera gli oggetti da Amazon S3. Al tuo AWS account potrebbero essere applicati costi standard CloudWatch e Amazon S3 per i dati richiesti durante l'analisi. Per ulteriori informazioni sui prezzi, consulta i prezzi di Amazon
Come funziona
Il runbook esegue le seguenti fasi di convalida e analisi:
Verifica che l'Application Load Balancer specificato esista e raccoglie gli attributi dell'Application Load Balancer come il timeout di inattività e la configurazione del log di accesso.
Rileva l'hotspotting e le anomalie di errore di una singola zona di disponibilità utilizzando le metriche. CloudWatch
Recupera ed elabora i log di accesso di Application Load Balancer dal bucket Amazon S3 configurato quando i log di accesso sono abilitati e il bucket soddisfa i requisiti di sicurezza e posizione.
Diagnostica ogni codice di errore HTTP 5XX (500, 502, 503, 504 e altro) utilizzando le voci del log di accesso, se disponibili, o utilizzando le metriche come riserva. CloudWatch
Per gli errori HTTP 504, valuta le regole dei gruppi di sicurezza, gli ACL di rete e le configurazioni della tabella di routing tra Application Load Balancer e le relative destinazioni.
Consolida i risultati in un rapporto con raccomandazioni e riferimenti pertinenti.
Esegui questa automazione (console)
Tipo di documento
Automazione
Proprietario
Amazon
Piattaforme
/
Autorizzazioni IAM richieste
Il AutomationAssumeRole parametro richiede le seguenti azioni per utilizzare correttamente il runbook.
s3:ListBuckets3:GetObjects3:GetBucketPolicyStatuss3:GetBucketPublicAccessBlocks3:ListAllMyBucketselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealthelasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeTargetGroupAttributeselasticloadbalancing:DescribeLoadBalancerAttributeselasticloadbalancing:DescribeListenerselasticloadbalancing:DescribeRulesec2:DescribeSubnetsec2:DescribeInstancesec2:DescribeNetworkInterfacesec2:DescribeSecurityGroupsec2:DescribeNetworkAclsec2:DescribeRouteTablescloudwatch:GetMetricDatacloudtrail:LookupEventswafv2:ListWebACLswafv2:ListResourcesForWebACLlambda:GetFunctionConfiguration
Policy IAM di esempio:
{ "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": "*" } ] }
Istruzioni
Segui questi passaggi per configurare l'automazione:
-
Apri AWSSupport-TroubleshootALB5XXErrors
in Systems Manager sotto Documenti. -
Scegli Esegui automazione.
-
Per i parametri di input, inserisci quanto segue:
-
AutomationAssumeRole (Obbligatorio):
L'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) che consente a Systems Manager Automation di eseguire le azioni per tuo conto. Se non viene specificato alcun ruolo, Systems Manager Automation utilizza le autorizzazioni dell'utente che avvia questo runbook.
-
AlBarn (obbligatorio):
L'ARN dell'Application Load Balancer da esaminare. Ad esempio,
arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/50dc6c495c0c9188. -
IssueStartTime (Obbligatorio):
L'ora di inizio del problema in UTC. Usa il formato di timestamp ISO 8601 ().
YYYY-MM-DDTHH:MM:SSZAd esempio,1970-01-01T00:00:00Z. -
IssueEndTime (Obbligatorio):
L'ora di fine del problema in UTC. Usa il formato di timestamp ISO 8601 ().
YYYY-MM-DDTHH:MM:SSZAd esempio,1970-01-01T00:00:00Z.
-
-
Scegli Esegui.
-
L'automazione viene avviata.
-
Il documento esegue i seguenti passaggi:
-
RunInitialChecks:Esegue i controlli iniziali sull'Application Load Balancer. I controlli iniziali includono la verifica dell'esistenza dell'Application Load Balancer, il rilevamento di hotspot e degli errori relativi a singole zone di disponibilità, la raccolta dei dettagli degli errori HTTP e il controllo della configurazione del log di accesso.
-
ProcessAccessLogs:Recupera i file di log di accesso di Application Load Balancer pertinenti dal bucket Amazon S3 e li elabora per identificare i motivi e i codici di errore univoci. Solo un sottoinsieme di file di log degli accessi viene elaborato per l'intervallo di tempo identificato. Se il tempo di elaborazione supera il limite di 9 minuti, i log rimanenti non vengono elaborati.
-
HTTP500ErrorIdentification:Identifica il motivo degli errori Balancer-generated HTTP 500 di Application Load utilizzando le CloudWatch metriche o i log di accesso analizzati, se disponibili.
-
HTTP502ErrorIdentification:Identifica il motivo degli errori Balancer-generated HTTP 502 di Application Load utilizzando le CloudWatch metriche o i log di accesso analizzati, se disponibili.
-
HTTP503ErrorIdentification:Identifica il motivo degli errori Balancer-generated HTTP 503 di Application Load utilizzando le metriche. CloudWatch
-
HTTP504ErrorIdentification:Identifica il motivo degli errori Balancer-generated HTTP 504 di Application Load utilizzando le CloudWatch metriche o i log di accesso analizzati, se disponibili. Per gli errori HTTP 504, la fase valuta anche le regole dei gruppi di sicurezza, gli ACL di rete e le configurazioni delle tabelle di routing tra Application Load Balancer e le relative destinazioni.
-
OtherHTTPErrorIdentification:Identifica il motivo degli errori HTTP non classificati generati dall'Application Load Balancer utilizzando le CloudWatch metriche o i log di accesso analizzati, se disponibili.
-
GenerateReport:Genera un rapporto consolidato in base ai risultati dei passaggi precedenti, tra cui lo stato dell'hotspotting, le anomalie di una singola zona di disponibilità, le diagnosi degli errori e i consigli.
-
-
Dopo il completamento, consulta la sezione Output per i risultati dettagliati dell'esecuzione.
Riferimenti
Systems Manager Automation