Como depurar a conectividade

Resolver erros do Private Service Connect

Não foi possível se conectar ao banco de dados de destino: EOF

A execução de um teste de conectividade retorna a mensagem de erro [DATABASE] unable to connect to the destination database: EOF.

Causa possível:o anexo de serviço está configurado incorretamente.

Coisas a tentar:verifique se enable_proxy_protocol está definido como false no arquivo de configuração do Terraform do anexo do serviço. O protocolo de proxy é aceito apenas para servidores HTTP, como NGINX e Apache.

Quando você usa gcloud para criar a configuração do Private Service Connect, o protocolo de proxy é desativado por padrão.

Tempo limite de conexão, conexão recusada

A execução do teste de conectividade falha ou expira. Isso provavelmente é causado por um roteamento configurado incorretamente na configuração do Private Service Connect. Isso pode acontecer por vários motivos.

Possível causa:falta uma regra de firewall que permita que o intervalo CIDR NAT do Private Service Connect acesse a sub-rede do Private Service Connect em que o Bastion está localizado, especificamente a interface nic0 da VM Bastion.

Coisas a tentar:verifique se a política da sua organização não restringe regras de firewall internas, como a regra psc_sp_in_fw definida no exemplo de script do Terraform para configurar o produtor do Private Service Connect.

Possível causa:o proxy está inativo. Não há um listener na porta fornecida e, portanto, a conexão trava.

Coisas a tentar:você pode tentar estabelecer uma conexão SSH com a VM de bastião e procurar o proxy usando o seguinte comando:

  • netstat -tunalp | grep PORT

Analise as respostas ao comando:

  • Se você receber uma resposta vazia, o proxy está inativo. Tente executar o seguinte comando:

    sudo su; cd / e verifique se o servidor Dante está instalado executando sudo dpkg -s dante-server:

    • Se o proxy estiver instalado, você vai receber a seguinte mensagem:

      Status: install ok installed

    • Se o proxy não estiver instalado, o problema provavelmente é um roteador ausente. Adicione um roteador e verifique se é possível fazer o download do proxy executando apt-get install dante-server.

  • Se o proxy estiver em execução e estiver escutando na porta fornecida, tente abrir uma conexão com ele fazendo o seguinte:

    1. Instale o cliente PostgreSQL:

      sudo apt-get install postgresql-client

    2. Conecte-se ao banco de dados PostgreSQL:

      psql -h 127.0.0.1 -p PORT -U DBUSERNAME -W (você vai receber uma solicitação para inserir a senha).

      Substitua:

      • PORT: o número da porta do banco de dados.
      • DBUSERNAME: o nome de usuário usado para se conectar ao banco de dados PostgreSQL.
    3. Instale o cliente telnet:

      sudo apt-get install telnet

    4. Conecte-se ao cliente telnet:

      telnet 127.0.0.1 PORT

      Substitua PORT pelo número da porta do banco de dados.

    Dependendo dos resultados dos comandos:

    • Se os comandos não abrirem uma conexão, tente verificar os registros do proxy para localizar a causa raiz. A causa raiz pode variar dependendo da configuração do cluster do AlloyDB para PostgreSQL.

    • Se a conexão for aberta usando o telnet, mas travar no cliente nativo, o problema provavelmente será o roteamento do endereço IP do Bastion. Na VM, digite ip route no terminal. Verifique se é possível localizar uma regra de roteamento que roteie as conexões para o endereço IP particular do cluster do AlloyDB para PostgreSQL usando o nic secundário (nic1, o endereço IP DB_SUBNETWORK_GATEWAY).

Causa possível:o anexo de serviço não aceita a conexão de endpoint proveniente do Database Migration Service. O anexo de serviço contém uma lista de projetos aceitos, e o projeto do Database Migration Service não está incluído na lista.

Coisas a tentar:para resolver o problema, tente uma das seguintes opções:

  • No console do Google Cloud , acesse Private Service Connect.

    Acessar a página "Private Service Connect"

    Na guia Serviços publicados, aceite a conexão do Database Migration Service para o anexo de serviço (se estiver pendente).

  • Adicione o projeto solicitante à lista de permissões no anexo de serviço (se ele for rejeitado).

    Se isso não resolver o problema, recrie o perfil de conexão.

  • Exclua o perfil de conexão associado à conectividade do Private Service Connect e recrie-o.