Connettiti a un'istanza Cloud SQL per PostgreSQL con IP privato

Questa pagina mostra come creare e connettersi a un'istanza PostgreSQL utilizzando un IP privato. Le risorse create in questa guida rapida solitamente costano meno di un dollaro, a condizione che tu completi i passaggi, inclusa la pulizia, in modo tempestivo.


Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:

Procedura guidata


Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Abilita le API Google Cloud necessarie.

    Console

    Nella console Google Cloud, vai alla pagina API.

    Vai alle API

    Abilita l'API Cloud SQL Admin. Abilitando questa API, puoi eseguire Proxy di autenticazione Cloud SQL.

    gcloud

    Fai clic sul seguente pulsante per aprire Cloud Shell, che fornisce accesso da riga di comando alle risorse Google Cloud direttamente dal browser. Cloud Shell può essere utilizzato per eseguire i comandi gcloud presentati in questa guida rapida.

    Apri Cloud Shell

    Esegui il comando gcloud services enable come segue utilizzando Cloud Shell per abilitare le API richieste per questo Quickstart:

    gcloud services enable sqladmin.googleapis.com

    Questo comando abilita le seguenti API:

    • l'API Cloud SQL Admin. Abilitando questa API, puoi eseguire Proxy di autenticazione Cloud SQL.

Panoramica

Esistono molti modi per connettersi a un'istanza Cloud SQL con un indirizzo IP privato, a seconda della posizione dell'origine. Il fattore chiave è che macchina di origine deve trovarsi nella stessa rete VPC di Cloud SQL. Se l'origine non si trova in Google Cloud o nello stesso progetto Google Cloud, devi configurare la connettività in modo diverso da quanto mostrato qui.

In questa guida rapida, configureremo la connettività tramite il percorso più diretto. La l'origine e la destinazione si trovano nello stesso progetto Google Cloud e nella stessa rete VPC. Creiamo un'istanza Cloud SQL con un Indirizzo IP (destinazione) e una VM di Compute Engine (origine). Utilizziamo VM per installare e utilizzare gli strumenti necessari per connettersi dalla VM di Cloud SQL.

Esegui le seguenti azioni:

  1. Crea un'istanza Cloud SQL con un Indirizzo IP.

    Trova e salva l'elemento connection name dell'istanza per utilizzarlo in un secondo momento.

  2. Crea una VM Compute Engine.
  3. Apri due connessioni SSH alla VM di Compute Engine.

    Utilizzerai la prima finestra per installare psql e il proxy di autenticazione Cloud SQL. Poi utilizza la seconda finestra per connetterti all'istanza Cloud SQL tramite il proxy di autenticazione Cloud SQL.

  4. Nella finestra SSH 1:
    1. Installa il client psql.
    2. Installa il proxy di autenticazione Cloud SQL.

      Il proxy di autenticazione Cloud SQL funge da connettore tra il client psql e l'istanza Cloud SQL.

    3. Avvia il proxy di autenticazione Cloud SQL.

      Se l'operazione riesce, il proxy di autenticazione Cloud SQL rimane in ascolto delle richieste di connessione.

  5. Nella finestra SSH 2, connettiti a Cloud SQL facendo in modo che il client psql si connetta il proxy di autenticazione Cloud SQL.

    Se l'operazione riesce, vedrai il tuo prompt psql in questa finestra e di connessione riuscita nella finestra SSH n. 1, dove il proxy di autenticazione Cloud SQL in esecuzione.

  6. Pulizia.

Crea un'istanza Cloud SQL con un indirizzo IP privato

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su Crea istanza.
  3. Fai clic su Scegli PostgreSQL.
  4. Se ti viene chiesto di abilitare l'API Compute, fai clic sul pulsante Abilita API.
  5. Nella sezione Informazioni sull'istanza, inserisci un nome per l'ID istanza.
  6. Inserisci una password per l'utente postgres. Prendi nota della password che crei perché ne avrai bisogno in seguito.
  7. Nella sezione Scegli la disponibilità per regione e zona, seleziona l'opzione Zona singola.
  8. Espandi Mostra opzioni di configurazione.
  9. Espandi Connessioni.
  10. Deseleziona IP pubblico.
  11. Seleziona IP privato.
  12. Nel menu a discesa Rete, seleziona predefinita.
  13. Se utilizzi un nuovo progetto, viene visualizzato il messaggio: È richiesta una connessione privata ai servizi. Poi segui questi passaggi:
    1. Fai clic su Configura connessione.
    2. Fai clic su Abilita API Service Networking.
    3. Nella sezione Alloca un intervallo IP, seleziona Utilizza un intervallo IP allocato automaticamente.
    4. Fai clic su Continua.
    5. Fai clic su Crea connessione e attendi il completamento della creazione della connessione.
  14. Fai clic su Crea istanza.

Viene visualizzata la pagina Panoramica dell'istanza. Fai clic sulla nuova istanza per visualizzarne i dettagli, incluso l'indirizzo IP privato.

Nella sezione Connetti a questa istanza, copia e salva il Nome connessione dell'istanza. Il connection name è nel formato projectID:region:instanceID.

Utilizzerai questo connection name in un secondo momento, all'avvio del proxy di autenticazione Cloud SQL.

Crea un database

Torna alla pagina Panoramica dell'istanza e seleziona la voce di menu Database.

  • Seleziona Crea database.
  • Inserisci un DB_NAME nel campo Nome database.
  • Fai clic su Crea.

Utilizzerai questo db_name in un secondo momento quando ti connetti utilizzando il proxy di autenticazione Cloud SQL.

Crea una VM di Compute Engine

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic su Crea istanza.
  3. Inserisci un nome per l'istanza.
  4. In Ambiti di accesso, seleziona Consenti l'accesso completo a tutte le API Cloud.
  5. Fai clic su Crea e attendi il completamento della creazione della VM.

Apri due connessioni SSH nella VM di Compute Engine

Utilizziamo due finestre nella VM. La prima finestra viene utilizzata per installare psql e il proxy di autenticazione Cloud SQL, ottieni il nome della connessione dell'istanza e utilizza questo nome per avviare il proxy. La seconda finestra viene utilizzata per la connessione all'istanza Cloud SQL tramite proxy.

  1. Espandi il menu SSH nella colonna Connetti per la tua istanza VM Compute Engine.
  2. Seleziona Apri nella finestra del browser per aprire la finestra SSH n. 1.

    Potrebbero essere necessari alcuni secondi prima che il prompt nella finestra disponibili per te.

  3. Quando viene visualizzato il prompt, inserisci pwd per verificare di avere nella directory /home/$USER.

    In questa finestra installerai il client psql e il proxy di autenticazione Cloud SQL e avvierai anche il proxy di autenticazione Cloud SQL.

  4. Seleziona di nuovo Apri nella finestra del browser per aprire la finestra SSH 2.

    Utilizzerai questa finestra per connetterti all'istanza Cloud SQL.

Installa il client psql

Utilizza la finestra SSH n. 1 per questo passaggio.

Installa il client psql dal gestore dei pacchetti:

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

Installa il proxy di autenticazione Cloud SQL

Utilizza la finestra SSH n. 1 per questo passaggio.

  1. Installa wget:
    sudo apt-get install wget
        
  2. Scarica il proxy di autenticazione Cloud SQL:
    wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \
    -O cloud-sql-proxy
      
  3. Rendi eseguibile il proxy di autenticazione Cloud SQL:
    chmod +x cloud-sql-proxy
      

Avvia il proxy di autenticazione Cloud SQL

Utilizza la finestra SSH n. 1 per questo passaggio.

Avvia il proxy di autenticazione Cloud SQL per monitorarne l'output. Sostituisci INSTANCE_CONNECTION_NAME con il valore connection name che hai copiato quando hai creato l'istanza Cloud SQL.

./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME

Quando il proxy di autenticazione Cloud SQL viene avviato correttamente, viene visualizzato un messaggio simile al seguente nella finestra SSH:

Listening on 127.0.0.1:5432 for myInstance
Ready for new connections

Connettiti all'istanza Cloud SQL

Utilizza la finestra SSH 2 per questo passaggio.

Esegui il seguente comando dopo aver sostituito DB_NAME con il nome del database Cloud SQL:

psql "host=127.0.0.1 port=5432 sslmode=disable dbname=DB_NAME user=postgres"

Al prompt Inserisci password: inserisci la password del tuo account PostgreSQL.

Verifica che venga visualizzata la richiesta di PostgreSQL. Hai eseguito la connessione al database utilizzando il client psql.

Torna alla finestra del terminale in cui hai avviato il proxy di autenticazione Cloud SQL. Tu dovrebbe essere visualizzato un messaggio simile al seguente:

New connection for myInstance

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Seleziona l'istanza myinstance per aprire la pagina Dettagli istanza.
  3. Nella barra delle icone nella parte superiore della pagina, fai clic su Elimina.
  4. Nella finestra Elimina istanza, digita il nome dell'istanza e fai clic su Elimina.

Passaggi facoltativi di pulizia

Se non utilizzi le API abilitate in questa guida rapida, puoi disattivarle.

  • API abilitate in questa guida rapida:
    • API Cloud SQL Admin
  1. Nella console Google Cloud, vai alla pagina API.

    Vai alle API

  2. Seleziona l'API Cloud SQL Admin e fai clic sul Pulsante Disabilita API.

  3. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  4. Seleziona il nome dell'istanza.

  5. Seleziona Elimina dal menu Altre azioni.

Passaggi successivi

In base alle tue esigenze, puoi scoprire di più sulla creazione di istanze Cloud SQL.

Puoi anche scoprire come creare utenti e database PostgreSQL per la tua istanza Cloud SQL.

Inoltre, puoi scoprire come connetterti a un'istanza Cloud SQL altre applicazioni Google Cloud: