View a markdown version of this page

AWSSupport-TroubleshootALB5XXErrors - AWS Systems Manager Referência do runbooks de automação

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 e CloudWatch os preços do Amazon Simple Storage Service.

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:ListBucket

  • s3:GetObject

  • s3:GetBucketPolicyStatus

  • s3:GetBucketPublicAccessBlock

  • s3:ListAllMyBuckets

  • elasticloadbalancing:DescribeTargetGroups

  • elasticloadbalancing:DescribeTargetHealth

  • elasticloadbalancing:DescribeLoadBalancers

  • elasticloadbalancing:DescribeTargetGroupAttributes

  • elasticloadbalancing:DescribeLoadBalancerAttributes

  • elasticloadbalancing:DescribeListeners

  • elasticloadbalancing:DescribeRules

  • ec2:DescribeSubnets

  • ec2:DescribeInstances

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkAcls

  • ec2:DescribeRouteTables

  • cloudwatch:GetMetricData

  • cloudtrail:LookupEvents

  • wafv2:ListWebACLs

  • wafv2:ListResourcesForWebACL

  • lambda: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:

  1. Abra AWSSupport-TroubleshootALB5XXErrors no Systems Manager em Documentos.

  2. Escolha Execute automation.

  3. 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:SSZ Por 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:SSZ Por exemplo, .1970-01-01T00:00:00Z

  4. Clique em Executar.

  5. A automação é iniciada.

  6. 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.

  7. 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