Como faço para solucionar erros de conexão do Amazon Redshift?

6 minuto de leitura
0

Não consigo me conectar ao meu cluster do Amazon Redshift. Como solucionar esse problema?

Resolução

O cluster do Amazon Redshift foi recentemente redimensionado ou restaurado de um snapshot

Se o cluster do Amazon Redshift foi redimensionado ou restaurado recentemente de um snapshot, verifique sua sub-rede. O cluster deve ser iniciado na mesma sub-rede de antes do redimensionamento ou da restauração do snapshot.

Se o cluster do Amazon Redshift não tiver sido redimensionado ou restaurado recentemente, verifique suas configurações de rede. As configurações de rede devem ser as mesmas para as sub-redes antigas e novas.

O cluster do Amazon Redshift reside em uma sub-rede pública

Se estiver tentando se conectar a um cluster do Amazon Redshift que reside em uma sub-rede pública, verifique o seguinte:

  • Confirme se o cluster do Amazon Redshift está definido como “Acessível publicamente”. Para obter mais informações sobre opções acessíveis publicamente, consulte Gerenciar clusters em uma VPC.
  • Confirme se você tem um gateway da Internet conectado à sua tabela de rotas.

Para testar a conectividade, use telnet para testar a conexão com seu cluster do Amazon Redshift:

telnet <cluster endpoint> <cluster port>

O cluster do Amazon Redshift reside em uma sub-rede privada

Se o seu cluster do Amazon Redshift residir em uma sub-rede privada, verifique o seguinte:

  • Certifique-se de anexar o Gateway NAT à tabela de rotas da sub-rede pública. O Gateway NAT permite que clusters em uma sub-rede privada se conectem à Internet.
  • Certifique-se de que o cluster não esteja definido como Acessível publicamente.

Para confirmar que o cliente pode acessar o endereço IP privado do nó líder do cluster do Amazon Redshift, use o comando dig:

dig <cluster endpoint>

Para testar a conexão com o cluster do Amazon Redshift, use o comando telnet:

telnet <cluster endpoint><cluster port>

O telnet não foi bem-sucedido ou o cluster do Amazon Redshift permanece inacessível

Se o comando telnet indicar que a conexão do cluster do Amazon Redshift não foi bem-sucedida, verifique se as seguintes condições são verdadeiras:

  • A porta do Amazon Redshift (padrão 5439) do tipo TCP é permitida na regra de entrada do grupo de segurança.
  • O intervalo CIDR ou IP do qual você está se conectando ao cluster do Amazon Redshift é adicionado à regra de ingresso do grupo de segurança.

Se o comando telnet indicar que sua conexão de cluster do Amazon Redshift foi bem-sucedida, mas seu cluster permanece inacessível, verifique o firewall da rede. Seu firewall pode estar bloqueando a porta do Amazon Redshift (a porta padrão é 5439).

Erro de conexão de operação inválida

Se o cluster do Amazon Redshift exigir que o SSL esteja habilitado para qualquer conexão, você poderá receber o seguinte erro de conexão:

Error: [Amazon](500310) Invalid operation: no pg_hba.conf entry for host "::ffff:205.xxx.xxx.xxx", user "username", database "dbname", SSL off;

Para confirmar se o parâmetro require_ssl está definido como true, execute as seguintes etapas:

  1. Abra o console do Amazon Redshift.

  2. Escolha a guia Configuração.

  3. Modifique o grupo de parâmetros associado ao cluster do Amazon Redshift.

  4. (Opcional) Verifique sua configuração de SSL usando a AWS Command Line Interface (AWS CLI):

describe-cluster-parameters

Se a sua configuração de SSL estiver definida como true, considere as seguintes abordagens:

  • Atualize o parâmetro require_ssl novamente para false, que é o valor padrão do parâmetro. Você pode alterar a configuração de SSL editando o grupo de parâmetros associado ao seu cluster do Amazon Redshift. O grupo de parâmetros pode ser editado na guia Parâmetros do console do Amazon Redshift.
  • Se a conexão SSL for um requisito para seu caso de uso ou ambiente, certifique-se de que sua cadeia de conexão inclua o parâmetro SSL necessário.

Por exemplo:

jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev?ssl=true

Erro fatal de conexão

Quando houver muitas conexões abertas no seu cluster do Amazon Redshift, você receberá o seguinte erro:

Error: FATAL:  connection limit [500]/[2000] exceeded for user

Como indicado pela mensagem de erro, 500 é o limite máximo de conexão para os tipos de nós dc2.large e ds2.xlarge no Amazon Redshift. Para os nós ds2.8xlarge, dc2.8xlarge, ra3.xlplus, ra3.4xlarge e ra3.16xlarge, o limite máximo de conexão é 2.000.

Para verificar o número de conexões abertas no seu cluster do Amazon Redshift, execute as seguintes etapas:

  1. Abra o console do Amazon CloudWatch.

  2. Procure a métrica DatabaseConnections nas suas entradas do Amazon CloudWatch Logs.

  3. Use a tabela STL_CONNECTION_LOG para verificar suas conexões abertas:

select recordtime, username, dbname, remotehost, remoteport
from stl_connection_log
where event = 'initiating session'
and pid not in
(select pid from stl_connection_log
where event = 'disconnecting session')
order by 1 desc;
  1. Use a tabela STV_SESSIONS para visualizar informações sobre as sessões de usuário ativas do Amazon Redshift:
select * from stv_sessions;

Se você tiver um grande número de conexões abertas, considere as seguintes abordagens:

  • Use o comando PG_TERMINATE_BACKEND para encerrar qualquer sessão ociosa.
  • Altere suas configurações de tempo limite de TCP/IP no lado do cliente com base no sistema operacional usado para se conectar ao cluster do Amazon Redshift. A atualização das configurações de tempo limite de TCP/IP pode ajudar a impedir que qualquer sessão ociosa permaneça aberta.

Erro de conexão recusada

Se o cluster do Amazon Redshift não conseguir estabelecer uma conexão, você poderá receber o seguinte erro de conexão recusada:

Error:  amazon 500150 error setting/closing connection: operation timed out/ connection refused.

Esse erro pode indicar um problema de permissão ao acessar o cluster do Amazon Redshift. Para resolver esse erro de conexão, considere as seguintes abordagens:

  • Se você criou seu cluster em uma Amazon Virtual Private Cloud (Amazon VPC), adicione seu endereço IP/CIDR do cliente ao grupo de segurança da VPC. Para obter mais informações sobre como configurar grupos de segurança da VPC no seu cluster, consulte Gerenciamento de clusters em uma VPC.
  • Se você criou seu cluster fora de uma VPC, adicione o endereço IP ou CIDR do cliente ao grupo de segurança do cluster. Para obter mais informações sobre a configuração de grupos de segurança do cluster, consulte Grupos de segurança do cluster do Amazon Redshift.

Informações relacionadas

Como posso tornar um cluster privado do Amazon Redshift acessível publicamente?

Não consigo me conectar ao meu cluster do Amazon Redshift

AWS OFICIAL
AWS OFICIALAtualizada há um ano