Conectar-se a um cluster de banco de dados

Por padrão, um cluster de banco de dados só permite conexões 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 project-db-admin para encontrar as seguintes informações de conexão com o cluster de banco de dados. Essas informações estão na seção Conectividade da página Serviço de banco de dados.

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

Console

  1. Acesse 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)
    • Nome do host e número da porta do endpoint principal do cluster de banco de dados
    • Se o cluster de banco de dados permitir conexões externas de fora da organização.
    • Um comando psql para se conectar ao cluster (para clusters de banco de dados PostgreSQL e AlloyDB Omni)
    • Uma string para se conectar ao cluster com Java Database Connectivity (JDBC) (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 da 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 da CA e 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 pelo 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 no console.
  • DB_PORT: o número da porta do banco de dados no console.
  • DB_USERNAME: o nome de usuário do banco de dados no console.

API

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

    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 do 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 da CA e 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 pelo 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. Um dos valores 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. Uma das seguintes opções: 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 da CA do banco de dados.
  • DB_PASSWORD: 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 no status do cluster de banco de dados.
  • DB_USERNAME: com o nome de usuário do banco de dados (o padrão é dbsadmin).