Descrição do problema
Quando o cliente tenta se conectar à instância do ApsaraDB RDS for PostgreSQL e a conexão é interrompida, um dos seguintes erros é exibido:
server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request.
Error connecting to the server: FATAL: no pg_hba.conf entry
Soluções
A Alibaba Cloud recomenda que você:
Antes de executar operações que possam apresentar riscos — como modifique configurações de instâncias ou dados — verifique as capacidades de recuperação de desastres e tolerância a falhas das instâncias para garantir a segurança dos dados.
Você pode modificar as configurações e os dados de instâncias, incluindo, entre outras, instâncias do Elastic Compute Service (ECS) e do Relational Database Service (RDS). Antes da modificação, crie snapshots ou ative o backup de log do rds.
Caso tenha autorizado ou enviado informações de segurança — como conta de logon e senha — no console de gerenciamento da Alibaba Cloud, modifique essas informações oportunamente.
Este tópico descreve duas soluções para cenários em que não é possível acessar o rds:
Por que uma instância do ECS não consegue acessar o rds pela rede interna?
Solução para dispositivos que não sejam instâncias do ECS e não consigam acessar o rds
Por que uma instância do ECS não consegue acessar o rds pela rede interna?
Verifique se o endereço ip interno da instância do ECS foi adicionado à lista de permissões da instância do rds. Caso não tenha sido, visualize o ip da instância na página de instâncias.
Em seguida, adicione uma lista de permissões no console do rds. Para mais informações, consulte defina listas de permissões.
-
Verifique se a lista de permissões está definida como 0.0.0.0; o formato correto é 0.0.0.0/0.
NotaObservação: use este endereço ip com cautela, pois ele permite que qualquer dispositivo acesse a instância do rds.
-
Se você tiver ativado o modo de lista de permissões aprimorado, realize as seguintes verificações:
Se sua instância do rds reside em uma VPC e é acessada pelo endpoint interno, certifique-se de que o endereço ip interno da sua instância do ECS foi adicionado à lista de permissões de ip identificada como default VPC.
Se sua instância do rds reside na rede clássica e é acessada pelo endpoint interno, certifique-se de que o endereço ip interno da sua instância do ECS foi adicionado à lista de permissões de ip identificada como default Classic Network.
Solução para dispositivos que não sejam instâncias do ECS e não consigam acessar o rds
Quando um dispositivo (por exemplo, uma instância do ECS) acessa uma instância do rds, ele pode se conectar à instância do rds pela Internet. Caso a conexão pelo endereço de Internet falhe, adote a seguinte solução:
Verifique se uma lista de permissões do rds foi configurada. Se o endereço ip não estiver configurado, consulte defina a lista de permissões.
-
Verifique se a lista de permissões está definida como 0.0.0.0. Uma lista de permissões de ip deve conter entradas no formato 0.0.0.0/0.
NotaObservação: use este endereço ip com cautela, pois ele permite que qualquer dispositivo acesse a instância do rds.
-
Se você tiver ativado o modo de lista de permissões aprimorado, certifique-se de que o endereço ip público do dispositivo foi adicionado à lista de permissões de ip da rede clássica.
NotaObservação: instâncias em VPCs não são acessíveis pela Internet.
-
Se você já configurou uma lista de permissões, a falha de conexão pode ocorrer porque o endereço ip público adicionado à lista não é o endereço ip de saída real do dispositivo. Os motivos são os seguintes.
NotaObservação: para mais informações sobre como obter o endereço ip público de um servidor, consulte localize o ip local.
Os endereços ip públicos mudam dinamicamente.
A ferramenta ou o site usado para consultar endereços ip públicos retorna resultados imprecisos.
Escopo de aplicação
ApsaraDB RDS for PostgreSQL