Connettiti utilizzando un client psql

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

Prima di iniziare

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

Usa un client PostgreSQL su una macchina locale o una VM di Compute Engine

L'utilizzo di un client psql per la connessione all'istanza Cloud SQL prevede 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, segui questi passaggi:

Debian/Ubuntu

Installa il client psql dal gestore di pacchetti:

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

CentOS/RHEL

Installa il client psql dal gestore di pacchetti:

sudo yum install postgresql

openSUSE

Installa il client psql dal gestore di pacchetti:

sudo zypper install postgresql

Altre piattaforme

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

Configura l'accesso all'istanza Cloud SQL

Per configurare l'accesso all'istanza:

  1. Dalla macchina client o dall'istanza VM di Compute Engine, utilizza Qual è il mio IP per visualizzare l'indirizzo IP della macchina client.
  2. Copia quell'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 Connections (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 della macchina su cui è installato il client.
  8. Fai clic su Fine. Quindi fai clic su Salva nella parte inferiore della pagina per salvare le modifiche.
  9. Connettiti all'istanza utilizzando SSL/TLS o senza crittografia (senza utilizzare SSL/TLS).

Connettiti alla tua istanza Cloud SQL senza crittografia

Per consentirti di connetterti senza crittografia, nell'istanza deve essere impostata la modalità SSL 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, segui questi passaggi:

  1. Conferma 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 alla tua 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"
       

    Potresti anche voler creare un file di servizio di connessione per gestire i parametri di connessione, soprattutto se ti stai connettendo a più di un'istanza. 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 sulla 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 nella tua istanza Cloud SQL è configurato su TRUSTED_CLIENT_CERTIFICATE_REQUIRED, devi anche fornire un'identità client verificata quando accedi.

Per connetterti utilizzando i certificati SSL/TLS con la verifica client, è necessario quanto segue:

  • Un certificato di chiave pubblica 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 ai fini dell'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 hai un certificato client e una chiave privata corrispondente, 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 di Cloud Shell a destra nella barra degli strumenti.

    L'inizializzazione di Cloud Shell richiede alcuni istanti.

  3. Nel 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 tramite IP privato o SSL/TLS. Per connetterti alla 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