As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AWSSupport-TroubleshootALB5XXErrors
Description
O AWSSupport-TroubleshootALB5XXErrors runbook diagnostica e soluciona erros HTTP 5XX em um Application Load Balancer. Ele analisa as métricas do Amazon CloudWatch (CloudWatch) e os registros de acesso do Application Load Balancer para identificar as causas principais e fornecer recomendações acionáveis. O runbook abrange os seguintes recursos:
Análise do padrão de tráfego: identifica pontos de acesso e anomalias de uma única zona de disponibilidade usando CloudWatch métricas para detectar a distribuição desigual do tráfego nas zonas de disponibilidade.
Diagnóstico do log de acesso: processa os registros de acesso do Application Load Balancer recuperando arquivos de log do bucket configurado do Amazon S3 para extrair padrões de erro específicos, motivos de erro e informações detalhadas de diagnóstico para solução de problemas granular.
Error-specific análise: fornece diagnóstico direcionado para cada tipo de erro HTTP 5XX:
HTTP 500: falhas de autenticação, problemas de conectividade do WAF e problemas no endpoint do IDP.
HTTP 502: problemas de conexão direcionados, erros de função AWS Lambda (Lambda), falhas na negociação de TLS e cenários de cancelamento de registro de destino.
HTTP 503: Grupos-alvo vazios e problemas de registro de alvos.
HTTP 504: Tempos limite de conexão, anomalias do tempo de resposta alvo com comparação histórica da linha de base e avaliação abrangente da conectividade de rede.
Outros erros 5XX: análise abrangente de códigos de status 5XX incomuns e casos extremos que não são cobertos pelas categorias de erro padrão.
Análise aprofundada da conectividade de rede: para erros de HTTP 504, avalia as regras do grupo de segurança, as ACLs de rede e as configurações da tabela de rotas entre o Application Load Balancer e seus destinos na mesma região e conta. AWS
Seleção adaptável da fonte de dados: prioriza a análise do registro de acesso quando disponível para um diagnóstico detalhado de erros e retorna automaticamente às CloudWatch métricas quando os registros estão indisponíveis ou incompletos.
Limitações
Esse runbook tem as seguintes limitações:
Limitações da verificação de conectividade: as avaliações de conectividade de rede são realizadas somente para destinos na mesma AWS região e conta do Application Load Balancer. Cross-account ou alvos locais recebem orientação geral de conectividade.
Limites de tempo de processamento do registro de acesso: a análise do registro de acesso é limitada a uma janela de processamento de 9 minutos. Se excedida, a análise é interrompida e fornece resultados com base nos registros processados até o momento. Reduza o prazo para a análise completa dos registros.
Requisitos de segurança e localização do bucket do Amazon S3: o processamento do log de acesso exige que o bucket do Amazon S3 atenda aos critérios de segurança e localização. O runbook ignora o processamento do log de acesso quando o bucket do Amazon S3 está acessível ao público. O status do bucket público é determinado pela política do bucket ou pela configuração do bloco de acesso público. O runbook também ignora o processamento quando o bucket do Amazon S3 não está na mesma AWS conta e região do Application Load Balancer. Quando essas verificações falham, o runbook volta automaticamente para a análise baseada em CloudWatch métricas.
Métricas como alternativa: quando os registros de acesso não estão habilitados ou o processamento do log falha ou está incompleto, o runbook retorna automaticamente à análise CloudWatch baseada em métricas com informações de diagnóstico menos granulares. A falta de registros de acesso pode afetar a precisão da detecção da causa raiz.
Dependência de dados históricos: a detecção de anomalias no tempo de resposta HTTP 504 requer 7 dias de dados históricos para comparação da linha de base. Dados históricos limitados podem afetar a precisão da detecção.
Custos adicionais
A execução desse runbook consulta métricas da Amazon CloudWatch e, quando os logs de acesso estão habilitados, recupera objetos do Amazon S3. As cobranças Standard CloudWatch e Amazon S3 podem ser aplicadas à sua AWS conta pelos dados consultados durante a análise. Para obter mais informações sobre preços, consulte os preços da Amazon
Como funciona
O runbook executa as seguintes etapas de validação e análise:
Verifica se o Application Load Balancer especificado existe e coleta atributos do Application Load Balancer, como tempo limite de inatividade e configuração do log de acesso.
Detecta anomalias de erro de hotspotting e de zona de disponibilidade única usando métricas. CloudWatch
Recupera e processa os registros de acesso do Application Load Balancer do bucket configurado do Amazon S3 quando os logs de acesso estão habilitados e o bucket atende aos requisitos de segurança e localização.
Diagnostica cada código de erro HTTP 5XX (500, 502, 503, 504 e outros) usando entradas de registro de acesso quando disponíveis ou usando CloudWatch métricas como alternativa.
Para erros de HTTP 504, avalia as regras do grupo de segurança, as ACLs de rede e as configurações da tabela de rotas entre o Application Load Balancer e seus destinos.
Consolida as descobertas em um relatório com recomendações e referências relevantes.
Executar esta automação (console)
Tipo de documento
Automação
Proprietário
Amazon
Plataformas
/
Permissões obrigatórias do IAM
O parâmetro AutomationAssumeRole requer as seguintes ações para usar o runbook com êxito.
s3:ListBuckets3:GetObjects3:GetBucketPolicyStatuss3:GetBucketPublicAccessBlocks3:ListAllMyBucketselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealthelasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeTargetGroupAttributeselasticloadbalancing:DescribeLoadBalancerAttributeselasticloadbalancing:DescribeListenerselasticloadbalancing:DescribeRulesec2:DescribeSubnetsec2:DescribeInstancesec2:DescribeNetworkInterfacesec2:DescribeSecurityGroupsec2:DescribeNetworkAclsec2:DescribeRouteTablescloudwatch:GetMetricDatacloudtrail:LookupEventswafv2:ListWebACLswafv2:ListResourcesForWebACLlambda:GetFunctionConfiguration
Exemplo de política do 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": "*" } ] }
Instruções
Siga estas etapas para configurar a automação:
-
Abra AWSSupport-TroubleshootALB5XXErrors
no Systems Manager em Documentos. -
Escolha Execute automation.
-
Para os parâmetros de entrada, insira o seguinte:
-
AutomationAssumeRole (Obrigatório):
O nome de recurso da Amazon (ARN) da função AWS Identity and Access Management (IAM) que permite que o Systems Manager Automation execute as ações em seu nome. Se nenhum perfil for especificado, o Systems Manager Automation usa as permissões do usuário que inicia este runbook.
-
AlBarn (obrigatório):
O ARN do Application Load Balancer a ser investigado. Por exemplo, .
arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/50dc6c495c0c9188 -
IssueStartTime (Obrigatório):
A hora de início do problema em UTC. Use o formato de carimbo de data/hora ISO 8601 ().
YYYY-MM-DDTHH:MM:SSZPor exemplo, .1970-01-01T00:00:00Z -
IssueEndTime (Obrigatório):
A hora de término do problema em UTC. Use o formato de carimbo de data/hora ISO 8601 ().
YYYY-MM-DDTHH:MM:SSZPor exemplo, .1970-01-01T00:00:00Z
-
-
Clique em Executar.
-
A automação é iniciada.
-
O bucket realiza as seguintes etapas:
-
RunInitialChecks:Executa as verificações iniciais no Application Load Balancer. As verificações iniciais incluem a verificação da existência do Application Load Balancer, a detecção de pontos de acesso e erros de zona de disponibilidade única, a coleta de detalhes do erro HTTP e a verificação da configuração do log de acesso.
-
ProcessAccessLogs:Recupera os arquivos de log de acesso relevantes do Application Load Balancer do bucket do Amazon S3 e os processa para identificar códigos e motivos de erro exclusivos. Somente um subconjunto de arquivos de log de acesso é processado para o intervalo de tempo identificado. Se o tempo de processamento exceder o limite de 9 minutos, os registros restantes não serão processados.
-
HTTP500ErrorIdentification:Identifica o motivo do erro do Application Load Balancer-generated HTTP 500 usando CloudWatch métricas ou os registros de acesso analisados, se disponíveis.
-
HTTP502ErrorIdentification:Identifica o motivo do erro do Application Load Balancer-generated HTTP 502 usando CloudWatch métricas ou os registros de acesso analisados, se disponíveis.
-
HTTP503ErrorIdentification:Identifica o motivo do erro do Application Load Balancer-generated HTTP 503 usando CloudWatch métricas.
-
HTTP504ErrorIdentification:Identifica o motivo do erro para os erros Balancer-generated HTTP 504 do Application Load usando CloudWatch métricas ou os registros de acesso analisados, se disponíveis. Para erros de HTTP 504, a etapa também avalia as regras do grupo de segurança, as ACLs de rede e as configurações da tabela de rotas entre o Application Load Balancer e seus destinos.
-
OtherHTTPErrorIdentification:Identifica o motivo do erro para os erros HTTP não classificados gerados pelo Application Load Balancer usando CloudWatch métricas ou os registros de acesso analisados, se disponíveis.
-
GenerateReport:Gera um relatório consolidado a partir das descobertas das etapas anteriores, incluindo status de hotspotting, anomalias de zona de disponibilidade única, diagnósticos de erros e recomendações.
-
-
Após a conclusão, revise a seção Saídas para ver os resultados detalhados da execução.
Referências
Automação do Systems Manager