Como posso solucionar problemas de verificação integridade insalubre do Route 53?

6 minuto de leitura
0

As verificações de integridade do Amazon Route 53 que eu criei estão sendo relatadas como insalubres.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de estar usando a versão mais recente da AWS CLI.

Primeiro, determine o motivo da última falha na verificação de integridade usando o Console de Gerenciamento da AWS. Ou use o comando get-health-check-last-failure-reason na AWS CLI.

Em seguida, conclua as etapas de solução de problemas correspondentes na seção a seguir para identificar e corrigir o problema.

Observação: independente do tipo de verificação de integridade, verifique o status da opção Invert health check status (Inverter o status da verificação de integridade). Se essa opção for definida como true, o Route 53 considerará a verificação de integridade insalubre, mesmo que esteja marcada como íntegra.

Solucionar problemas de uma verificação de integridade que monitora um endpoint

Erro: o verificador de integridade não conseguiu estabelecer uma conexão dentro do limite de tempo

O erro anterior ocorre quando a tentativa dos verificadores de integridade de se conectar ao endpoint configurado atinge o tempo limite. Os tempos mínimos para estabelecer uma conexão são os seguintes:

  • Para verificações de integridade de TCP, a conexão TCP entre os verificadores de integridade e o endpoint deve ocorrer em dez segundos.
  • Para verificações de integridade HTTP e HTTPS, a conexão TCP entre os verificadores de integridade e o endpoint deve ocorrer em quatro segundos. O endpoint deve responder com um código de status HTTP 2xx ou 3xx dentro de dois segundos após estabelecer uma conexão.

Para obter mais informações, consulte Como o Amazon Route 53 determina se uma verificação de integridade está íntegra.

Para evitar o erro de tempo limite, conclua as seguintes etapas:

1.    Na configuração de verificação de integridade, anote o Nome de domínio ou Endereço IP do endpoint.

2.    Acesse o endpoint. Confirme se o firewall ou o servidor permite conexões dos endereços IP públicos do Route 53 para as regiões da AWS designadas na configuração de verificação de integridade. Veja os Intervalos de IP e procure serviço: ROUTE53_HEALTHCHECKS. Para recursos de endpoint hospedados na AWS, configure grupos de segurança e listas de controle de acesso à rede para permitir os endereços IP dos verificadores de integridade do Route 53.

3.    Use as ferramentas a seguir para testar a conectividade com o endpoint configurado pela Internet. Substitua os espaços reservados no comando a seguir. Nos comandos de exemplo a seguir, as variáveis pelos valores para seu caso de uso.

Teste TCP

$ telnet <domain name / IP address> <port>

Teste HTTP/HTTPS

$ curl -Ik -w "HTTPCode=%{http_code} TotalTime=%{time_total}\n" <http/https>://<domain-name/ip address>:<port>/<path> -so /dev/null

Compare a saída dos testes anteriores com os valores de tempo limite para as verificações de integridade. Em seguida, confirme se sua aplicação está respondendo dentro dos respectivos prazos.

Por exemplo, se você executa o seguinte teste:

curl -Ik -w "HTTPCode=%{http_code} TotalTime=%{time_total}\n" https://example.com -so /dev/null

Então, a saída é:

HTTPCode=200 TotalTime=0.001963

Neste exemplo, o tempo total para obter respostas com o código de status HTTP 200 é de 0,001963 segundos.

Para conexões HTTP, o tempo de conexão deve estar dentro de quatro segundos. O endpoint deve responder com o código de status HTTP dentro de dois segundos após a conexão. O tempo total é de seis segundos. Um valor acima de seis segundos indica que o endpoint demora a responder e que a verificação de integridade falha. Nesse caso, verifique seu endpoint para garantir que ele responda dentro do período de tempo limite.

Se a saída dos comandos de teste mostrar um código HTTP diferente de 200, verifique as seguintes configurações:

  • Regras de firewall
  • Grupos de segurança
  • Listas de controle de acesso à rede

Ao verificar as configurações anteriores, confirme se seu endpoint permite conexões de endereços IP públicos do Route 53.

4.    Se ativada, use a opção de gráfico de latência na configuração de verificação de integridade para verificar o gráfico de métricas do seguinte:

  • Tempo de conexão TCP
  • Tempo até o primeiro byte
  • Tempo para concluir o handshake SSL

Para obter mais informações, consulte Monitorar a latência entre os verificadores de integridade e seu endpoint.

Observação:

  • se o gráfico de latência não estiver ativado, você não poderá editar as verificações de integridade existentes. Em vez disso, você deverá criar uma nova verificação de integridade.
  • Se o endereço IP elástico do endpoint que você está monitorando for lançado ou atualizado, a verificação de integridade poderá falhar.

Erro: SSL alert handshake_failure

O erro de falha no handshake indica que a negociação de SSL ou TLS com o endpoint falhou. Quando você ativa o SNI (somente HTTPS), o Route 53 envia o nome do host na mensagem “client_hello” para o endpoint durante a negociação de TLS. Essa ação permite que o endpoint responda à solicitação HTTPS com o certificado SSL ou TLS aplicável.

Se o nome do host monitorado não fizer parte do nome comum no certificado SSL ou TLS do endpoint, você receberá o erro “SSL alert handshake_failure”.

Observação: para ativar o SNI, o endpoint monitorado deve oferecer suporte a SNI.

Solucionar problemas de verificações de integridade com a condição de correspondência de caracteres

O servidor do endpoint retorna “200 OK”, mas o Route 53 marca a verificação de integridade como não íntegra

Os verificadores de integridade devem estabelecer uma conexão TCP com o endpoint em quatro segundos. Os verificadores de integridade devem então receber um código de status HTTP de 2xx ou 3xx nos próximos dois segundos. Em seguida, a sequência configurada deve aparecer nos primeiros 5.120 bytes do corpo da resposta nos próximos dois segundos. Se a string não estiver presente nos primeiros 5.120 bytes, o Route 53 marcará a verificação de integridade como insalubre.

Para verificar se a sequência aparece nos primeiros 5.120 bytes do corpo da resposta, use o comando a seguir. Substitua domain-name, port e $search-string pelos seus valores.

$ curl -sL <http/https>://<domain-name>:<port> | head -c 5120 | grep $search-string

Solucionar problemas de uma verificação de integridade que monitora um alarme do CloudWatch

O Route 53 não espera que o alarme do Amazon CloudWatch entre no estado ALARM.

A situação anterior ocorre quando o Route 53 monitora o fluxo de dados métricos em vez do estado do alarme do CloudWatch.

Para resolver esse erro, conclua as seguintes etapas:

1.    Verifique a configuração da verificação de integridade que está no estado DADOS INSUFICIENTES. Se o fluxo de dados métricos fornecer informações insuficientes para determinar o estado do alarme, o status da verificação de integridade dependerá da configuração InsufficientDataHealthStatus. As opções de status para a configuração InsufficientDataHealthStatus são healthy (íntegro), unhealthy (não íntegro) ou last known status (último status conhecido).

2.    Quando você atualiza a configuração de um alarme do CloudWatch, as novas configurações não aparecem automaticamente na verificação de integridade associada. Para sincronizar a configuração da verificação de integridade com a configuração atualizada do alarme do CloudWatch:

  • No console do Route 53, escolha Health Checks (Verificações de integridade).
  • Selecione a verificação de integridade e escolha Synchronize configuration (Sincronizar configuração).
AWS OFICIAL
AWS OFICIALAtualizada há um ano