Associe a um cluster de base de dados

Por predefinição, um cluster de bases de dados só permite a ligação a partir do cluster do utilizador e do mesmo projeto.

Para ativar as ligações a todos os clusters de bases de dados no seu projeto a partir de outro projeto, consulte o artigo Ative as ligações entre projetos.

Para ativar as ligações a um cluster de bases de dados a partir de endereços IP fora da sua organização do GDC, consulte o artigo Ative as ligações externas.

Inicie sessão na consola do GDC com uma conta associada à função Administrador da BD do projeto para encontrar as seguintes informações para a ligação ao cluster de bases de dados. Estas informações encontram-se na secção Conectividade da página Serviço de base de dados.

Estes passos incluem um exemplo para a ligação à base de dados através do psql. Os passos exatos variam consoante o software de cliente que escolher.

Consola

  1. Navegue para a secção Conectividade da página Serviço de base de dados do cluster de bases de dados. Esta página inclui:

    • A palavra-passe da conta de administrador (o nome de utilizador é dbsadmin)
    • O nome do anfitrião e o número da porta do ponto final principal do cluster de bases de dados
    • Se o cluster de bases de dados permitir a ligação externa a partir de fora da organização.
    • Um comando psql para a ligação ao cluster
    • Uma ligação para transferir o certificado da autoridade de certificação (AC) do cluster de bases de dados
  2. Transfira o certificado da AC a partir da consola do GDC na secção Conectividade da página Serviço de base de dados do cluster de bases de dados.

  3. Configure o cliente para usar o certificado da AC para validar a base de dados. Para clientes psql, defina a variável de ambiente PGSSLROOTCERT para o caminho do ficheiro de certificado e a variável de ambiente PGSSLMODE para a sua preferência:

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Ligue-se à base de dados a partir do software de cliente. Se estiver a usar o psql, execute o seguinte comando:

    PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

Substitua as seguintes variáveis:

  • path/to/: o caminho para o certificado accounts_cert.pem.
  • DB_PASSWORD: a palavra-passe da consola.
  • DB_HOSTNAME: o nome do anfitrião da base de dados da consola.
  • DB_PORT: o número da porta da base de dados da consola.
  • DB_USERNAME: o nome de utilizador da base de dados da consola.

API

  1. Recupere o ponto final da base de dados a partir do estado do cluster de bases de dados:

    kubectl get dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'
    
  2. Transfira o certificado da AC a partir do segredo do Kubernetes:

    kubectl get secret dbs-certificates -n USER_PROJECT -o json | jq -r '.data."dbs-pg-cert-DBCLUSTER_NAME"' | base64 -d > path/to/ca.crt
    
  3. Configure o cliente para usar o certificado da AC para validar a base de dados. Para clientes psql, pode definir a variável de ambiente PGSSLROOTCERT para o caminho do ficheiro de certificado e a variável de ambiente PGSSLMODE para a sua preferência:

    export PGSSLROOTCERT=path/to/ca.crt
    export PGSSLMODE="verify-full"
    
  4. Ligue-se à base de dados a partir do software de cliente. Se estiver a usar o psql, execute o seguinte comando:

    PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p DB_PORT -U DB_USERNAME -d postgres
    

Substitua as seguintes variáveis:

  • USER_PROJECT: o nome do projeto do utilizador onde o cluster de bases de dados foi criado.
  • DBCLUSTER_NAME: o nome do cluster de bases de dados.
  • path/to/: o caminho para o certificado da AC da base de dados.
  • DB_PASSWORD: a palavra-passe da base de dados para o utilizador administrador.
  • DB_HOSTNAME: o nome do anfitrião do estado do cluster de bases de dados.
  • DB_PORT: o número da porta da base de dados do estado do cluster de bases de dados.
  • DB_USERNAME: com o nome de utilizador da base de dados (a predefinição é dbsadmin).