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:
Prima di iniziare
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Abilita le API Google Cloud necessarie.
Console
Nella console Google Cloud, vai alla pagina API.
Abilita l'API Cloud SQL Admin. Se attivi questa API, puoi eseguire il proxy di autenticazione Cloud SQL.gcloud
Fai clic sul seguente pulsante per aprire Cloud Shell, che fornisce accesso da riga di comando alle tue risorse Google Cloud direttamente dal browser. Cloud Shell può essere utilizzato per eseguire i comandi
gcloud
presentati in questa guida rapida.Esegui il comando
gcloud services enable
come segue utilizzando Cloud Shell per abilitare le API richieste per questa guida introduttiva:gcloud services enable sqladmin.googleapis.com
Questo comando abilita le seguenti API:
- API Cloud SQL Admin. Se attivi questa API, puoi eseguire il 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 la macchina di origine deve trovarsi nella stessa rete VPC dell'istanza Cloud SQL. Se la sorgente non è Google Cloud o non è nello stesso Google Cloud progetto, devi configurare la connettività in modo diverso da come mostrato qui.
In questa guida rapida, configuriamo la connettività tramite il percorso più diretto. La fonte e la destinazione si trovano nello stesso Google Cloud progetto e nella stessa rete VPC. Creiamo un'istanza Cloud SQL con un indirizzo IP privato (la destinazione) e una VM Compute Engine (l'origine). Utilizziamo la VM per installare e utilizzare gli strumenti necessari per connetterci dalla VM all'istanza Cloud SQL.
Esegui le seguenti azioni:
- Crea un'istanza Cloud SQL con un indirizzo IP privato.
Trova e salva
connection name
dell'istanza per utilizzarlo in un secondo momento. - Crea una VM Compute Engine.
- 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.
- Nella finestra SSH 1:
- Installa il client psql.
- 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.
- Avvia il proxy di autenticazione Cloud SQL.
In caso di esito positivo, il proxy di autenticazione Cloud SQL ascolta le richieste di connessione.
- Nella finestra SSH 2, connettiti all'istanza Cloud SQL facendo in modo che il client psql si connetta al proxy di autenticazione Cloud SQL.
In caso di esito positivo, viene visualizzato il prompt psql in questa finestra e un messaggio di connessione riuscita nella finestra SSH 1, in cui è in esecuzione il proxy di autenticazione Cloud SQL.
- Pulizia.
Crea un'istanza Cloud SQL con un indirizzo IP privato
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su Crea istanza.
- Fai clic su Scegli PostgreSQL.
- Se ti viene chiesto di abilitare l'API Compute, fai clic sul pulsante Abilita API.
- Nella sezione Informazioni sull'istanza, inserisci un nome per l'ID istanza.
- Inserisci una password per l'utente postgres. Prendi nota della password che crei, perché ti servirà in seguito.
- Nella sezione Scegli la disponibilità per regione e zona, seleziona l'opzione Zona singola.
- Espandi Mostra opzioni di configurazione.
- Espandi Connessioni.
- Deseleziona IP pubblico.
- Seleziona IP privato.
- Nel menu a discesa Rete, seleziona predefinita.
- Se utilizzi un nuovo progetto, viene visualizzato il messaggio: È richiesta una connessione privata ai servizi. Poi segui questi passaggi:
- Fai clic su Configura connessione.
- Fai clic su Abilita API Service Networking.
- Nella sezione Alloca un intervallo IP, seleziona Utilizza un intervallo IP allocato automaticamente.
- Fai clic su Continua.
- Fai clic su Crea connessione e attendi il completamento della creazione della connessione.
Fai clic su Crea istanza.
Si aprirà 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 quando avvierai il 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 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
-
Nella console Google Cloud, vai alla pagina Istanze VM.
- Fai clic su Crea istanza.
- Inserisci un nome per l'istanza.
- In Ambiti di accesso, seleziona Consenti l'accesso completo a tutte le API Cloud.
- 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 il client psql e il proxy di autenticazione Cloud SQL, recuperare il nome della connessione dell'istanza e utilizzare questo nome per avviare il proxy. La seconda finestra viene utilizzata per connettersi all'istanza Cloud SQL tramite il proxy.
- Espandi il menu SSH nella colonna Connetti per l'istanza VM Compute Engine.
- Seleziona Apri nella finestra del browser per aprire la finestra SSH 1.
Potrebbero essere necessari alcuni secondi prima che la richiesta nella finestra sia disponibile.
- Quando viene visualizzata la richiesta, inserisci
pwd
per verificare di trovarti 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.
- 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 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 1 per questo passaggio.
- Installa
wget
:sudo apt-get install wget
- 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
- Rendi eseguibile il proxy di autenticazione Cloud SQL:
chmod +x cloud-sql-proxy
Avvia il proxy di autenticazione Cloud SQL
Utilizza la finestra SSH 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 si avvia correttamente, nella finestra SSH viene visualizzato un messaggio simile al seguente:
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. Dovresti vedere 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 su questa pagina, segui questi passaggi.
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Seleziona l'istanza
myinstance
per aprire la pagina Dettagli istanza. - Nella barra delle icone nella parte superiore della pagina, fai clic su Elimina.
- Nella finestra Elimina istanza, digita il nome dell'istanza e fai clic su Elimina.
Passaggi facoltativi per la pulizia
Se non utilizzi le API attivate nell'ambito di questa guida rapida, puoi disattivarle.
- API abilitate in questa guida rapida:
- API Cloud SQL Admin
Nella console Google Cloud, vai alla pagina API.
Seleziona l'API Cloud SQL Admin e fai clic sul pulsante Disattiva API.
Nella console Google Cloud, vai alla pagina Istanze VM.
Seleziona il nome dell'istanza.
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 da altre Google Cloud applicazioni: