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 collegare un psql all'istanza Cloud SQL, sia in esecuzione in locale sul tuo computer client, su una VM di Compute Engine o in Cloud Shell.

Prima di iniziare

Prima di poter utilizzare un client psql per connetterti a Cloud SQL procedi nel seguente modo:

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

Utilizzo di un client psql per connettersi a 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:

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, segui questi passaggi:

  1. Dalla macchina client o dall'istanza VM di Compute Engine, utilizza Qual è il mio IP da vedere? 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 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 del computer su cui è installato il client.
  8. Fai clic su Fine. Poi 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 all'istanza Cloud SQL senza crittografia

Per consentirti di connetterti senza crittografia, l'istanza deve avere Modalità SSL impostato 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 della tua istanza, vedi Configura i certificati SSL/TLS.

Per connetterti all'istanza, segui questi passaggi:

  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"
       

    Potresti anche voler creare un file del servizio di connessione per gestire parametri di connessione, soprattutto se ti connetti a più di un in esecuzione in un'istanza Compute Engine. Per ulteriori informazioni, consulta la documentazione di PostgreSQL.

  2. Inserisci la password. La password è obbligatoria per Cloud SQL anche sebbene PostgreSQL supporti la connettività senza password durante l'uso 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 anche fornire 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 hai un certificato client e un server chiave privata, quindi creare 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 verso destra nella barra degli strumenti.

    L'inizializzazione di Cloud Shell richiede qualche istante.

  3. Nel prompt di Cloud Shell, utilizza lo strumento 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 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