Connettiti utilizzando un client psql

Puoi utilizzare il client a riga di comando PostgreSQL per connetterti a Cloud SQL. Questa pagina descrive come connettere un psql client alla tua istanza Cloud SQL, in esecuzione localmente sulla tua macchina client, su una VM Compute Engine o in Cloud Shell.

Prima di iniziare

Prima di poter utilizzare un client psql per connetterti all'istanza Cloud SQL, segui questi passaggi:

Utilizza un client PostgreSQL su una macchina locale o una VM Compute Engine

L'utilizzo di un client psql per connettersi all'istanza Cloud SQL comporta tre attività di alto livello:

  1. Installa il client.
  2. Configura l'accesso all'istanza Cloud SQL.
  3. Connettiti all'istanza Cloud SQL.

Installa il client

Per installare il client psql:

Debian/Ubuntu

Installa il client psql dal gestore dei pacchetti:

sudo apt-get update
sudo apt-get install postgresql-client

CentOS/RHEL

Installa il client psql dal gestore dei pacchetti:

sudo yum install postgresql

openSUSE

Installa il client psql dal gestore dei pacchetti:

sudo zypper install postgresql

Altre piattaforme

  1. Scarica la distribuzione PostgreSQL Core per la tua piattaforma dalla pagina Download di PostgreSQL.
    La distribuzione principale include il client psql.
  2. Installa il database PostgreSQL seguendo le istruzioni riportate nella pagina di download.

Configurare l'accesso all'istanza Cloud SQL

Per configurare l'accesso all'istanza:

  1. Dalla macchina client o dall'istanza VM Compute Engine, utilizza Qual è il mio indirizzo IP per visualizzare l'indirizzo IP della macchina client.
  2. Copia l'indirizzo IP.
  3. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  4. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  5. Seleziona Connessioni dal menu di navigazione SQL.
  6. Seleziona la scheda Networking.
  7. Nella sezione Reti autorizzate, fai clic su Aggiungi rete e inserisci l'indirizzo IP del computer su cui è installato il client.
  8. Fai clic su Fine. Poi fai clic su Salva in fondo alla pagina per salvare le modifiche.
  9. Connettiti all'istanza utilizzando SSL/TLS o senza crittografia (senza utilizzare SSL/TLS).

Connettiti all'istanza Cloud SQL senza crittografia

Per consentirti di connetterti senza crittografia, la modalità SSL dell'istanza deve essere impostata su ALLOW_UNENCRYPTED_AND_ENCRYPTED. Nella console Google Cloud, la configurazione equivalente è Consenti traffico di rete non criptato.

Per ulteriori informazioni sulla configurazione SSL/TLS dell'istanza, consulta Configurare i certificati SSL/TLS.

Per connetterti all'istanza:

  1. Verifica di aver installato il client e configurato l'accesso all'istanza.
  2. Avvia il client psql:
    psql "sslmode=disable dbname=postgres user=postgres hostaddr=INSTANCE_IP_ADDRESS"
  3. Inserisci la password.
  4. Viene visualizzato il prompt psql.

Connettiti all'istanza Cloud SQL utilizzando SSL/TLS

Per connetterti all'istanza utilizzando SSL/TLS e l'autenticazione integrata:

  1. Avvia il client psql:
    psql "sslmode=require \
          hostaddr=INSTANCE_IP_ADDRESS \
          user=postgres dbname=DB_NAME"
       

    Ad esempio:

    psql "sslmode=require \
          hostaddr=203.12.34.56 \
          user=postgres dbname=postgres"
       

    Ti consigliamo inoltre di creare un file del servizio di connessione per gestire i parametri di connessione, in particolare se ti connetti a più istanze. Per ulteriori informazioni, consulta la documentazione di PostgreSQL.

  2. Inserisci la password. La password è obbligatoria per Cloud SQL anche se PostgreSQL supporta la connettività senza password durante l'utilizzo di SSL/TLS.
  3. Puoi verificare che la connessione sia criptata cercando la crittografia nelle informazioni di connessione:
    SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
    

Connettiti all'istanza Cloud SQL utilizzando SSL/TLS e la verifica del certificato client

Se ssl_mode nell'istanza Cloud SQL è configurato su TRUSTED_CLIENT_CERTIFICATE_REQUIRED, devi fornire anche un'identità client verificata quando accedi.

Per connetterti utilizzando i certificati SSL/TLS con verifica del client, devi disporre di quanto segue:

  • Un certificato di chiave pubblica del client in un file client-cert.pem.
  • Una chiave privata del client in un file client-key.pem.

Inoltre, per consentire al client di verificare l'identità del server per l'autenticazione reciproca, specifica il certificato del server server-ca.pem.

Ad esempio, per avviare il client psql:
   psql "sslmode=verify-ca sslrootcert=server-ca.pem \
      sslcert=client-cert.pem sslkey=client-key.pem \
      hostaddr=INSTANCE_IP_ADDRESS \
      user=postgres dbname=DB_NAME"
   

Se non disponi di un certificato client e di una corrispondente chiave privata, crea un nuovo certificato client.

Utilizzo del client in Cloud Shell

Per connetterti a un'istanza Cloud SQL (solo IP pubblico):

  1. Vai alla console Google Cloud.

    Vai alla console Google Cloud

  2. Fai clic sull'icona Cloud Shell verso destra nella barra degli strumenti.

    L'inizializzazione di Cloud Shell richiede alcuni istanti.

  3. Al prompt di Cloud Shell, utilizza il client integrato per connetterti all'istanza Cloud SQL:
    gcloud sql connect INSTANCE_ID \
    --user=postgres
  4. Inserisci la password.

Il comando gcloud sql connect non supporta la connessione a un'istanza Cloud SQL utilizzando un IP privato o SSL/TLS. Per connetterti con crittografia, installa e utilizza il proxy in Cloud Shell:

  1. Installa il proxy (Linux a 64 bit) nella directory /home/USER.
  2. Avvia il proxy utilizzando l'autenticazione gcloud CLI:

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

  3. Connettiti al database utilizzando la connessione TCP:

    psql -U USERNAME --host=127.0.0.1

Passaggi successivi

Provalo

Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud SQL in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.

Prova Cloud SQL gratuitamente