Conectar-se a um cluster de banco de dados

Por padrão, um cluster de banco de dados só permite conexão de dentro do cluster de usuário e do mesmo projeto.

Para ativar conexões com todos os clusters de banco de dados no seu projeto de outro projeto, consulte Ativar conexões entre projetos.

Para ativar conexões com um cluster de banco de dados de endereços IP fora da sua organização do GDC, consulte Ativar conexões externas.

Faça login no console do GDC com uma conta vinculada à função de administrador do banco de dados do projeto para encontrar as seguintes informações para se conectar ao cluster de banco de dados. Essas informações estão na seção Conectividade da página Serviço de banco de dados.

Estas etapas incluem um exemplo de conexão com o banco de dados usando psql. As etapas exatas variam dependendo do software cliente escolhido.

Console

  1. Navegue até a seção Conectividade da página Serviço de banco de dados do cluster de banco de dados. Esta página inclui:

    • A senha da conta de administrador (o nome de usuário é dbsadmin)
    • O nome do host e o número da porta do endpoint principal do cluster de banco de dados
    • Se o cluster de banco de dados permite conexão externa de fora da organização.
    • Um comando psql para se conectar ao cluster (para clusters de banco de dados do PostgreSQL e do AlloyDB Omni)
    • Uma string para se conectar ao cluster com a conectividade de banco de dados Java (JDBC, na sigla em inglês) (para clusters de banco de dados Oracle)
    • Um link para fazer o download do certificado da autoridade certificadora (CA) do cluster de banco de dados
  2. Faça o download do certificado de CA no console do GDC na seção Conectividade da página Serviço de banco de dados do cluster de banco de dados.

  3. Configure o cliente para usar o certificado de CA para verificar o banco de dados. Para clientes psql, defina a variável de ambiente PGSSLROOTCERT como o caminho do arquivo de certificado e a variável de ambiente PGSSLMODE como sua preferência:

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Conecte-se ao banco de dados no software cliente. Se você estiver usando 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 senha do console.
  • DB_HOSTNAME: o nome do host do banco de dados do console.
  • DB_PORT: o número da porta do banco de dados do console.
  • DB_USERNAME: o nome de usuário do banco de dados do console.

API

  1. Recupere o endpoint do banco de dados no status do cluster de banco de dados:

    kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'
    
  2. Faça o download do certificado de CA no Secret do Kubernetes:

    kubectl get secret dbs-certificates -n USER_PROJECT -o json | jq -r '.data."dbs-DBENGINE_SHORT_NAME-cert-DBCLUSTER_NAME"' | base64 -d > path/to/ca.crt
    
  3. Configure o cliente para usar o certificado de CA para verificar o banco de dados. Para clientes psql, defina a variável de ambiente PGSSLROOTCERT como o caminho do arquivo de certificado e a variável de ambiente PGSSLMODE como sua preferência:

    export PGSSLROOTCERT=path/to/ca.crt
    export PGSSLMODE="verify-full"
    
  4. Conecte-se ao banco de dados no software cliente. Se você estiver usando 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:

  • DBENGINE_NAME: o nome do mecanismo de banco de dados. Pode ser alloydbomni, postgresql ou oracle.
  • USER_PROJECT: o nome do projeto do usuário em que o cluster de banco de dados foi criado.
  • DBENGINE_SHORT_NAME: o nome abreviado do mecanismo de banco de dados. Pode ser al (AlloyDB Omni), pg (PostgreSQL) ou ora (Oracle).
  • DBCLUSTER_NAME: o nome do cluster de banco de dados.
  • path/to/: o caminho para o certificado de CA do banco de dados.
  • DB_PASSWORD: a senha do banco de dados para o usuário administrador.
  • DB_HOSTNAME: o nome do host do status do cluster de banco de dados.
  • DB_PORT: o número da porta do banco de dados do status do cluster de banco de dados.
  • DB_USERNAME: com o nome de usuário do banco de dados (o padrão é dbsadmin).