Ao usar o AWS re:Post, você concorda com os AWS re:Post Termos de uso

Por que tenho problemas intermitentes de conectividade com meu cluster do Amazon Redshift?

8 minuto de leitura
0

Quero aprender a solucionar e resolver problemas intermitentes de conectividade que tenho com meu cluster do Amazon Redshift causados por fatores como acesso restrito, janelas de manutenção, falhas de nós, rotações de chaves de criptografia, muitas conexões ativas que tenho, alta utilização da CPU e problemas de conexão no lado do cliente que encontro.

Breve descrição

Os seguintes problemas podem causar problemas intermitentes de conectividade no seu cluster do Amazon Redshift:

  • Acesso restrito a um determinado endereço IP ou bloco CIDR
  • Atualizações da janela de manutenção
  • Falhas de nós ou tarefas administrativas agendadas
  • Rotações de chaves de criptografia
  • Muitas conexões de rede ativas
  • Alta utilização da CPU do node líder
  • Problemas de conexão no lado do cliente

Resolução

Acesso restrito a um determinado endereço IP ou bloco CIDR

Verifique se há acesso restrito a um determinado endereço IP ou bloco CIDR em seu grupo de segurança. Devido à configuração do DHCP, o endereço IP do cliente pode mudar e causar problemas de conectividade. Além disso, se você não usar endereços IP elásticos para seu cluster do Amazon Redshift, o endereço IP gerenciado pela AWS dos nós do seu cluster poderá mudar. Por exemplo, seu endereço IP pode mudar quando você exclui o cluster e o recria a partir de um snapshot ou quando você retoma um cluster pausado.

Observação: endereços IP públicos são alternados quando o cluster do Amazon Redshift é excluído e recriado. Os endereços IP privados mudam sempre que os nós são substituídos.

Para resolver quaisquer restrições de rede, execute uma das seguintes ações:

  • Se a aplicação armazenar em cache o endereço IP público por trás de um endpoint de cluster, use esse endpoint para sua conexão com o Amazon Redshift. Para manter sua conexão de rede estável e segura, não use um cache DNS para sua conexão.
  • A prática recomendada é usar um endereço IP elástico para seu cluster do Amazon Redshift. Um endereço IP elástico permite que você altere sua configuração subjacente e não afeta o endereço IP que os clientes usam para se conectar ao seu cluster. Essa abordagem é útil se você quiser recuperar um cluster após uma falha. Para mais informações, consulte Gerenciamento de clusters em uma VPC.
  • Se você usa um endereço IP privado para se conectar a um nó líder ou nó de computação, use o novo endereço IP em suas configurações. Por exemplo, se você realizou a ingestão de SSH ou tem uma configuração do Amazon EMR que usa o nó de computação, atualize seu endereço IP. Um novo endereço IP privado é concedido aos novos nós após a substituição de um nó.

Atualizações da janela de manutenção

Verifique a janela de manutenção do seu cluster do Amazon Redshift. Durante uma janela de manutenção, seu cluster do Amazon Redshift não pode processar operações de leitura ou gravação. Se um evento de manutenção estiver agendado para uma semana específica, ele começará durante a janela de manutenção de 30 minutos atribuída. Quando o Amazon Redshift executa a manutenção, todas as consultas ou outras operações em andamento são encerradas. Você pode alterar a janela de manutenção programada no console do Amazon Redshift.

Falhas de nós ou tarefas administrativas agendadas

No console do Amazon Redshift, verifique a guia Eventos para ver se há falhas no nó ou tarefas administrativas programadas, (como redimensionar ou reinicializar um cluster.

Se houver uma falha de hardware, o Amazon Redshift poderá ficar indisponível por um curto período e poderão ocorrer consultas com falha. Quando uma consulta falha, você vê uma descrição de Eventos, como a seguinte:

"A hardware issue was detected on Amazon Redshift cluster [cluster name]. A replacement request was initiated at [time]."

Ou, se um administrador de conta programar uma operação de reinicialização ou redimensionamento no seu cluster do Amazon Redshift, poderão ocorrer problemas intermitentes de conectividade. Você vê uma descrição de Eventos semelhante à seguinte:

"Cluster [cluster name] began restart at [time].""Cluster [cluster name] completed restart at [time]."

Para obter mais informações, consulte Categorias de eventos e mensagens de eventos do Amazon Redshift.

Rotações de chaves de criptografia

Verifique as configurações de gerenciamento de chaves do seu cluster do Amazon Redshift para determinar se você usa a criptografia de chaves e a rotação de criptografia de chaves do AWS Key Management Service (AWS KMS).

Se sua chave de criptografia estiver ativada e estiver sendo alternada, seu cluster do Amazon Redshift não estará disponível durante esse período. Como resultado, você recebe a seguinte mensagem de erro:

"pg_query(): Query failed: SSL SYSCALL error: EOF detected"

A frequência da alternância de suas chaves depende das políticas e padrões de segurança de dados do seu ambiente. Alterne as chaves sempre que necessário ou sempre que a chave criptografada estiver comprometida. Além disso, certifique-se de ter um plano de gerenciamento de chaves que ofereça suporte às suas necessidades de segurança e disponibilidade do cluster.

Muitas conexões ativas

No Amazon Redshift, todas as conexões com seu cluster são enviadas para o nó líder, e há um limite máximo para conexões ativas. O tipo de nó determina a cota máxima que seu cluster do Amazon Redshift pode aceitar, e não a contagem de nós.

Quando há muitas conexões ativas em seu cluster do Amazon Redshift, você recebe a seguinte mensagem de erro:

"[Amazon](500310) Invalid operation: connection limit "500" exceeded for non-bootstrap users"

Se você receber um erro de operação inválida ao se conectar ao seu cluster do Amazon Redshift, significa que você atingiu a cota de conexões. Para verificar o número de conexões ativas para seu cluster, revise a métrica DatabaseConnections no Amazon CloudWatch.

Se você notar um pico em suas conexões de banco de dados, pode haver várias conexões ociosas em seu cluster do Amazon Redshift. Para verificar o número de conexões ociosas, execute a seguinte consulta SQL:

select process, trim(a.user_name) as user_name, a.usesysid, a.starttime,
  datediff(s,a.starttime,sysdate) as session_dur, b.last_end,
 datediff(s,case when b.last_end is not null then b.last_end else
 a.starttime end,sysdate) idle_dur
     FROM
    (select starttime,process,u.usesysid,user_name
     from stv_sessions s, pg_user u
     where
     s.user_name = u.usename
      and u.usesysid>1
and process NOT IN (select pid from stv_inflight where userid>1
 union select pid from stv_recents where status != 'Done' and
  userid>1)
    ) a
     LEFT OUTER JOIN (select
 userid,pid,max(endtime) as last_end from svl_statementtext where
  userid>1 and sequence=0 group by 1,2) b ON a.usesysid = b.userid AND
 a.process = b.pid
    WHERE (b.last_end > a.starttime OR b.last_end is null)
    ORDER BY idle_dur;

A saída é semelhante ao exemplo a seguir:

 process | user_name  | usesysid |      starttime      | session_dur | last_end | idle_dur
---------+------------+----------+---------------------+-------------+----------+----------
   14684 | myuser     |      100 | 2020-06-04 07:02:36 |           6 |          |        6
(1 row)

Quando as conexões ociosas forem identificadas, use a seguinte sintaxe de comando para desligar a conexão:

select pg_terminate_backend(process);

A saída é semelhante ao exemplo a seguir:

pg_terminate_backend ----------------------
                    1
(1 row)

Alta utilização da CPU do node líder

Todos os clientes usam um nó líder para se conectar a um cluster do Amazon Redshift. A alta utilização da CPU do nó líder pode resultar em problemas de conexão intermitentes.

Se você tentar se conectar ao seu cluster do Amazon Redshift e o nó líder estiver usando alta CPU, você receberá a seguinte mensagem de erro:

"Error setting/closing connection"

Para confirmar se seu nó líder atingiu uma alta utilização da CPU, verifique a métrica de utilização da CPU no Amazon CloudWatch. Para mais informações, consulte Métricas do Amazon Redshift.

Problemas de conexão no lado do cliente

Verifique se há um problema de conexão entre o cliente, como Workbench/J ou PostgreSQL, e seu cluster do Amazon Redshift. Se seu cliente tentar enviar uma solicitação de uma porta que foi liberada, poderá ocorrer uma redefinição da conexão no lado do cliente. Como resultado, a redefinição da conexão pode causar problemas de conexão intermitentes.

Para evitar esses problemas de conexão do lado do cliente, execute uma das seguintes ações:

AWS OFICIAL
AWS OFICIALAtualizada há 8 meses