Resolver problemas de ligação ao Azure Cosmos DB for PostgreSQL
APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)
Os problemas de ligação podem ser causados por vários elementos, tais como:
- Definições de firewall
- Tempo de ligação excedido
- Informações de início de sessão incorretas
- Limite de ligação do cluster atingido
- Problemas com a infraestrutura do serviço
- Manutenção do serviço
- Ativação pós-falha do nó de coordenação para novo hardware
Geralmente, os problemas de conexão com o Azure Cosmos DB para PostgreSQL podem ser classificados da seguinte forma:
- Erros transitórios (de curta duração ou intermitentes)
- Erros persistentes ou não transitórios (erros que se repetem regularmente)
Resolver erros transitórios
Os erros transitórios ocorrem por vários motivos. Os mais comuns incluem Manutenção do sistema, erro com o hardware ou o software e atualizações do vCore do nó de coordenação.
Habilitar a alta disponibilidade para nós de cluster pode atenuar esses tipos de problemas automaticamente. No entanto, seu aplicativo ainda deve estar preparado para perder sua conexão brevemente. Além disso, outros eventos podem levar mais tempo para serem atenuados, como quando uma transação grande causa uma recuperação de longa duração.
Passos para resolver problemas de conectividade transitórios
- Verifique o Painel de Serviço do Microsoft Azure para quaisquer interrupções conhecidas que ocorreram durante o tempo em que o aplicativo estava relatando erros.
- Os aplicativos que se conectam a um serviço de nuvem, como o Azure Cosmos DB para PostgreSQL, devem esperar erros transitórios e reagir normalmente. Por exemplo, os aplicativos devem implementar a lógica de repetição para lidar com esses erros em vez de apresentá-los como erros de aplicativo para os usuários.
- À medida que o cluster se aproxima de seus limites de recursos, os erros podem parecer problemas transitórios de conectividade. Aumentar a RAM do nó ou adicionar nós de trabalho e reequilibrar dados pode ajudar.
- Se os problemas de conectividade continuarem, durarem mais de 60 segundos ou acontecerem mais de uma vez por dia, envie uma solicitação de suporte do Azure selecionando Obter Suporte no site de Suporte do Azure.
Resolver erros persistentes
Se a aplicação falhar persistentemente na ligação ao Azure Cosmos DB for PostgreSQL, as causas mais comuns são a configuração incorreta da firewall ou erro do utilizador.
- Configuração da firewall do nó de coordenação: confirme que a firewall do servidor está configurada para permitir ligações a partir do cliente, incluindo servidores proxy e gateways.
- Configuração da firewall do cliente: a firewall no cliente tem de permitir ligações ao servidor de bases de dados. Algumas firewalls requerem a permissão da aplicação por nome e dos endereços IP e portas do servidor.
- Erro do utilizador: verifique novamente a cadeia de ligação. Pode ter escrito incorretamente os parâmetros, como o nome do servidor. Pode encontrar as cadeias de ligação para vários frameworks de linguagem e PSQL no portal do Azure. Vá para a página Cadeias de conexão no cluster. Tenha também em mente que os clusters têm apenas um banco de dados e seu nome predefinido é citus.
Passos para resolver problemas de conectividade persistentes
- Configure regras de firewall para permitir o endereço IP cliente. Apenas para fins de teste temporário, configure uma regra da firewall com 0.0.0.0 como o endereço IP inicial e 255.255.255.255 como o endereço IP final. Esta regra abre o servidor para todos os endereços IP. Se a regra resolver o problema de conectividade, remova-a e crie uma regra de firewall para um endereço IP ou intervalo de endereços adequadamente limitado.
- Em todos os firewalls entre o cliente e a Internet, verifique se a porta 5432 está aberta para conexões de saída (e 6432 se estiver usando o pool de conexões).
- Verifique a cadeia de ligação e outras definições de ligação.
- Veja o estado de funcionamento no dashboard.
Próximos passos
- Aprenda os conceitos de regras de firewall no Azure Cosmos DB para PostgreSQL
- Veja como gerenciar regras de firewall para o Azure Cosmos DB para PostgreSQL