1. Introduzione
Ultimo aggiornamento: 2020-05-04
Valutare la connessione
Esistono molti tipi di applicazioni e framework. In questo codelab, illustreremo la connessione a Cloud SQL da qualsiasi luogo. La possibilità di connettersi viene attivata autorizzando gli IP autorizzati a connettersi esplicitamente. È probabilmente l'opzione meno sicura per connettersi a un database Cloud SQL, ma è anche la più facile da configurare e iniziare a utilizzare.
A volte è necessario eseguire questa operazione in produzione, ma se puoi evitarlo, ti consigliamo di optare per un'alternativa più sicura, ad esempio l'utilizzo del proxy Cloud SQL. Questa configurazione è ideale per lo sviluppo e i test.
Cosa creerai
Questo codelab è molto minimalista. L'idea è illustrare i dadi del pezzo di raccordo senza dover pensare troppo all'applicazione stessa. In un mondo perfetto, connettersi a Cloud SQL è come connettersi a qualsiasi altra istanza di un database SQL, quindi dovresti essere in grado di utilizzare ciò che crei in questo codelab e applicarlo a qualsiasi applicazione di produzione.
Le istruzioni includeranno sia una procedura dettagliata delle operazioni nella console di Google Cloud, sia gli equivalenti dei comandi gcloud per l'utilizzo nell'interfaccia a riga di comando o nell'automazione.
I singoli passaggi sono:
- Crea un'istanza Cloud SQL (questo tutorial utilizza Postgres, ma funziona in modo simile per MySQL o SQL Server) e autorizza IP specifici autorizzati a connettersi all'istanza
Che cosa ti serve
- Un account Google Cloud su cui disponi delle autorizzazioni per abilitare le API e creare servizi
- Il client Postgres installato per verificare la connettività (o il client MySQL se vuoi utilizzare MySQL anziché Postgres)
2. Creazione dell'istanza Cloud SQL
Cloud SQL è la nostra offerta per i database relazionali gestiti. Supporta MySQL, PostgreSQL e SQL Server. Per questo codelab creeremo un database Postgres, ma le istruzioni sono simili per tutti e tre.
Nella console
Vai alla pagina Cloud SQL e fai clic sul pulsante .
Come accennato, la maggior parte di questo codelab è generico per qualsiasi versione SQL, ma per questo codelab scegli PostgreSQL.
- Assegna un ID all'istanza
- Scegli una regione vicina a dove ti trovi
- Inserisci una password per l'utente predefinito (il nome utente sarà quello predefinito per il database selezionato, ad es.
root
per MySQL opostgres
per PostgreSQL) - Scorri verso il basso e fai clic sulla
show configuration options
- Espandi la sezione
Connectivity
- Verifica che la casella
Public IP
sia selezionata e chePrivate IP
sia deselezionata - Fai clic sul pulsante
- Recupera l'indirizzo IP del luogo da cui ti stai connettendo. Il modo più semplice è cercare "Qual è il mio IP" su Google nei risultati di ricerca.
- Inserisci la specifica IP nel campo Rete, assegnale un nome, se lo desideri, e fai clic su Fine nella casella
New Network
. - Scorri verso il basso e fai clic su Crea.
Generalmente l'avvio dell'istanza richiede qualche minuto.
Una volta creata l'istanza, fai clic al suo interno nell'elenco e nella pagina Panoramica, sotto l'intestazione Connect to this instance
, copia il public IP address
elencato. Non sarà presente fino a quando l'istanza non sarà completamente creata, anche se puoi fare clic sui dettagli prima di creare completamente l'istanza.
Utilizzo di gcloud
Innanzitutto, devi recuperare l'indirizzo IP che vuoi autorizzare a connettersi all'istanza Cloud SQL. Il modo più semplice per farlo è aprire un browser e cercare "Qual è il mio IP". e nei risultati di ricerca è visualizzato il tuo indirizzo IP pubblico. Se però non riesci ad aprire un browser da cui stai svolgendo questa operazione, puoi utilizzare una utility come dig
.
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
Dovrai specificare una regione per la tua istanza Cloud SQL più vicina a dove ti trovi. Per visualizzare l'elenco delle regioni, esegui:
gcloud sql tiers list
Ogni livello è disponibile solo in determinate regioni. Per la parte del tutorial dedicata a gcloud, stiamo semplicemente creando una micro istanza, quindi puoi trovare le regioni per questo livello disponibili eseguendole in modo specifico (purché grep sia installato):
gcloud sql tiers list | grep db-f1-micro
Il comando per creare l'istanza si presenta in questo modo (non dimenticare di sostituire <AUTHORIZED_IP> con l'IP che hai ottenuto dal browser o da dig e <REGION> con uno vicino a te e una password per l'utente root "postgres"):
gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>
Il completamento dell'operazione richiede alcuni minuti.
Una volta completato, l'output nell'interfaccia a riga di comando mostrerà PRIMARY_ADDRESS
dell'istanza. Copialo per il passaggio successivo.
3. Testa la connessione e la conclusione
Per verificare che l'istanza sia stata configurata correttamente, dalla macchina di cui hai inserito l'indirizzo IP, puoi eseguirla dalla riga di comando:
psql "host=<IP copiato dal passaggio precedente> port=5432 sslmode=disable user=postgres"
Quindi specifica la password dell'utente predefinita che hai impostato durante la creazione dell'istanza Cloud SQL.
Complimenti! Se tutto è andato bene, dovresti avere il prompt di Postgres e poter eseguire i comandi sul tuo database.
Passaggi successivi
Dai un'occhiata ad alcuni di questi codelab...