Connettiti a un cluster di database

Per impostazione predefinita, un cluster di database consente la connessione solo dall'interno del cluster utente e dello stesso progetto.

Per abilitare le connessioni a tutti i cluster di database nel tuo progetto da un altro progetto, vedi Abilitare le connessioni tra progetti.

Per abilitare le connessioni a un cluster di database da indirizzi IP esterni alla tua organizzazione GDC, vedi Abilitare le connessioni esterne.

Accedi alla console GDC con un account associato al ruolo Amministratore DB progetto per trovare le seguenti informazioni per la connessione al cluster di database. Queste informazioni si trovano nella sezione Connettività della pagina Servizio database.

Questi passaggi includono un esempio di connessione al database utilizzando psql. I passaggi esatti variano a seconda del software client scelto.

Console

  1. Vai alla sezione Connettività della pagina Servizio database per il cluster di database. Questa pagina include:

    • La password dell'account amministratore (il nome utente è dbsadmin)
    • Nome host e numero di porta dell'endpoint principale del cluster di database
    • Se il cluster di database consente la connessione esterna dall'esterno dell'organizzazione.
    • Un comando psql per la connessione al cluster
    • Un link per scaricare il certificato dell'autorità di certificazione (CA) del cluster di database
  2. Scarica il certificato CA dalla console GDC nella sezione Connettività della pagina Servizio database per il cluster di database.

  3. Configura il client in modo che utilizzi il certificato CA per verificare il database. Per i client psql, imposta la variabile di ambiente PGSSLROOTCERT sul percorso del file del certificato e la variabile di ambiente PGSSLMODE sulla tua preferenza:

    export PGSSLROOTCERT=path/to/accounts_cert.pem
    export PGSSLMODE="verify-full"
    
  4. Connettiti al database dal software client. Se utilizzi psql, esegui il comando seguente:

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

Sostituisci le seguenti variabili:

  • path/to/: il percorso del certificato accounts_cert.pem.
  • DB_PASSWORD: la password della console.
  • DB_HOSTNAME: il nome host del database dalla console.
  • DB_PORT: il numero di porta del database dalla console.
  • DB_USERNAME: il nome utente del database dalla console.

API

  1. Recupera l'endpoint del database dallo stato del cluster di database:

    kubectl get dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME -n USER_PROJECT -o=jsonpath='{.status.primary.url}'
    
  2. Scarica il certificato CA dal secret di 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. Configura il client in modo che utilizzi il certificato CA per verificare il database. Per i client psql, puoi impostare la variabile di ambiente PGSSLROOTCERT sul percorso del file del certificato e la variabile di ambiente PGSSLMODE sulla tua preferenza:

    export PGSSLROOTCERT=path/to/ca.crt
    export PGSSLMODE="verify-full"
    
  4. Connettiti al database dal software client. Se utilizzi psql, esegui il comando seguente:

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

Sostituisci le seguenti variabili:

  • USER_PROJECT: il nome del progetto utente in cui è stato creato il cluster di database.
  • DBCLUSTER_NAME: il nome del cluster di database.
  • path/to/: il percorso del certificato CA del database.
  • DB_PASSWORD: password del database per l'utente amministratore.
  • DB_HOSTNAME: il nome host dallo stato del cluster di database.
  • DB_PORT: il numero di porta del database dallo stato del cluster di database.
  • DB_USERNAME: con il nome utente del database (il valore predefinito è dbsadmin).