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. 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.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:
- Crea un'istanza Cloud SQL con un
Indirizzo IP.
Trova e salva l'elemento
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.
Se l'operazione riesce, il proxy di autenticazione Cloud SQL rimane in ascolto delle richieste di connessione.
- 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.
- 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é ne avrai bisogno 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.
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
-
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 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.
- Espandi il menu SSH nella colonna Connetti per la tua istanza VM Compute Engine.
- 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.
- 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.
- 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.
- 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 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.
-
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 di pulizia
Se non utilizzi le API abilitate in 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 Disabilita 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 altre applicazioni Google Cloud: