Solucionar problemas de um Classic Load HTTP Balancer: erros - Elastic Load Balancing

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

Solucionar problemas de um Classic Load HTTP Balancer: erros

O HTTP método (também chamado de verbo) especifica a ação a ser executada no recurso que está recebendo uma HTTP solicitação. Os métodos padrão para HTTP solicitações são definidos em RFC 2616, Definições de métodos. Os métodos padrão incluem GETPOST, PUTHEAD,, OPTIONS e. Alguns aplicativos da Web exigem (e às vezes introduzem) métodos que são extensões dos métodos HTTP /1.1. Exemplos comuns de métodos HTTP estendidos incluem PATCH REPORTMKCOL,PROPFIND,MOVE,, LOCK e. O Elastic Load Balancing aceita todos os métodos padrão e não HTTP padrão.

HTTPsolicitações e respostas usam campos de cabeçalho para enviar informações sobre as HTTP mensagens. Os campos de cabeçalho são pares de nome-valor separados por dois pontos separados por um retorno de carro (CR) e um avanço de linha (LF). Um conjunto padrão de campos de HTTP cabeçalho é definido em RFC 2616, Cabeçalhos de mensagens. Para obter mais informações, consulte HTTPcabeçalhos e balanceadores de carga clássicos.

Quando um balanceador de carga recebe uma HTTP solicitação, ele verifica se há solicitações malformadas e o tamanho do método. O tamanho total do método em uma HTTP solicitação para um balanceador de carga não deve exceder 127 caracteres. Se a HTTP solicitação passar nas duas verificações, o balanceador de carga enviará a solicitação para a EC2 instância. Se o campo do método na solicitação estiver malformada, o load balancer responderá com um erro HTTP400: BAD _ REQUEST. Se a duração do método na solicitação exceder 127 caracteres, o load balancer responderá com um erro HTTP405: METHOD _ _ NOT ALLOWED.

A EC2 instância processa uma solicitação válida implementando o método na solicitação e enviando uma resposta de volta ao cliente. Suas instâncias deverão ser configuradas para lidar com métodos suportados e não suportados.

A seguir estão mensagens de erro apresentadas pelo seu load balancer, as possíveis causas e as etapas que você pode tomar para resolver o problema.

HTTP400: BAD _ REQUEST

Descrição: indica que o cliente enviou uma solicitação incorreta.

Causa 1: O cliente enviou uma solicitação malformada que não atende às HTTP especificações. Por exemplo, uma solicitação não pode ter espaços noURL.

Causa 2: O cliente usou o HTTP CONNECT método, que não é compatível com o Elastic Load Balancing.

Solução: conecte-se diretamente à instância e capture os detalhes da solicitação do cliente. Revise os cabeçalhos e as URL solicitações malformadas. Verifique se a solicitação atende às HTTP especificações. Verifique se não HTTP CONNECT está sendo usado.

HTTP405: METHOD _ _ NOT ALLOWED

Descrição: indica que o tamanho do método não é válido.

Causa: o tamanho do método no cabeçalho da solicitação excede 127 caracteres.

Solução: verifique o tamanho do método.

HTTP408: Tempo limite da solicitação

Descrição: indica que o cliente cancelou a solicitação ou não enviou uma solicitação completa.

Causa 1: uma interrupção da rede ou uma construção de solicitação incorreta, como cabeçalhos parcialmente formados, o tamanho do conteúdo especificado não corresponder ao tamanho real do conteúdo transmitido, etc.

Solução 1: inspecione o código que está fazendo a solicitação e tente enviá-lo diretamente às instâncias registradas (ou um ambiente de desenvolvimento/teste) onde você tem mais controle sobre a inspeção da solicitação em si.

Causa 2: a conexão com o cliente está fechada (o load balancer não pôde enviar uma resposta).

Solução 2: verifique se o cliente não está fechando a conexão antes de uma resposta ser enviada usando um packet sniffer (analisador de pacotes) na máquina fazendo a solicitação.

HTTP502: Gateway inválido

Descrição: indica que o load balancer não conseguiu analisar a resposta enviada de uma instância registrada.

Causa: uma resposta malformada da instância ou, possivelmente, um problema com o load balancer.

Solução: verifique se a resposta enviada pela instância está em conformidade com as HTTP especificações. Vá para o AWS Support Center para obter assistência.

HTTP503: Serviço indisponível

Descrição: indica que o load balancer ou as instâncias registradas estão causando o erro.

Causa 1: capacidade insuficiente no load balancer para lidar com a solicitação.

Solução 1: deve ser um problema temporário que deve durar apenas alguns minutos. Se o problema persistir, vá para o AWS Support Center para obter assistência.

Cause 2 (Causa 2): não há nenhuma instância registrada.

Solução 2: registre pelo menos uma instância em cada zona de disponibilidade em que seu load balancer foi configurado para responder. Verifique isso examinando as HealthyHostCount métricas em CloudWatch. Se você não puder garantir que uma instância é registrada em cada Zona de disponibilidade, recomendamos ativar o balanceamento de carga entre zonas. Para obter mais informações, consulte Configurar o balanceamento de carga entre zonas para seu Classic Load Balancer.

Cause 3 (Causa 3): não há nenhuma instância íntegra.

Solução 3: verifique se você tem instâncias íntegras em cada zona de disponibilidade em que seu load balancer foi configurado para responder. Verifique isso analisando a métrica HealthyHostCount.

Cause 4 (Causa 4): a fila de pico está cheia.

Solution 4 (Solução 4): garanta que suas instâncias tenham capacidade suficiente para lidar com a taxa de solicitações. Verifique isso analisando a métrica SpilloverCount.

HTTP504: Tempo limite do gateway

Descrição: indica que o load balancer fechou uma conexão, pois uma solicitação não foi concluída dentro do tempo limite de inatividade.

Causa 1: o aplicativo leva mais tempo para responder do que o tempo limite de inatividade configurado.

Solução 1: monitore as métricas HTTPCode_ELB_5XX e Latency. Se houver um aumento nessas métricas, pode ser porque o aplicativo não respondeu dentro do período de tempo limite de inatividade. Para obter detalhes sobre as solicitações que ultrapassam esse limite, habilite os logs de acesso no balanceador de carga e analise os códigos de resposta 504 nos logs gerados pelo Elastic Load Balancing. Se necessário, você pode aumentar a capacidade ou aumentar o tempo limite de inatividade configurado de forma que as operações demoradas (como o upload de um arquivo grande) possam ser concluídas. Para obter mais informações, consulte Configurar o tempo limite de inatividade da conexão para seu Classic Load Balancer e Como solucionar problemas de alta latência do Elastic Load Balancing.

Causa 2: as instâncias registradas estão fechando a conexão ao Elastic Load Balancing.

Solução 2: ative as configurações de manutenção de atividade em suas EC2 instâncias e certifique-se de que o tempo limite de manutenção de atividade seja maior do que as configurações de tempo limite de inatividade do seu balanceador de carga.