1. Introduzione
Ultimo aggiornamento: 04/05/2020
Riflettere sulla connessione
Esistono molti tipi di applicazioni e framework. In questo codelab, vedremo come connetterci a Cloud SQL da qualsiasi luogo. La possibilità di connettersi è abilitata autorizzando esplicitamente gli IP consentiti. Questa è probabilmente l'opzione meno sicura per connettersi a un database Cloud SQL, ma è anche la più semplice da configurare e iniziare a utilizzare.
A volte è necessario farlo in produzione, ma se puoi evitarlo, dovresti optare per un'alternativa più sicura (ad esempio, utilizzando Cloud SQL Proxy). Questa configurazione è ideale per lo sviluppo e il test.
Cosa creerai
Questo codelab è molto minimalista. L'idea è di guidarti attraverso gli aspetti essenziali della connessione, senza pensare troppo all'applicazione stessa. In un mondo perfetto, la connessione a Cloud SQL è come la connessione a qualsiasi altra istanza di un database SQL, quindi dovresti essere in grado di prendere ciò che crei in questo codelab e applicarlo a qualsiasi applicazione di produzione.
Le istruzioni includeranno una procedura dettagliata per eseguire le operazioni nella console GCP, nonché i comandi gcloud equivalenti da utilizzare nella CLI 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 a connettersi
Che cosa ti serve
- Un account Google Cloud su cui hai le 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 di 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 ho detto, la maggior parte di questo codelab è generica per qualsiasi variante di 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.
rootper MySQL opostgresper PostgreSQL) - Scorri verso il basso e fai clic su
show configuration options. - Espandi la sezione
Connectivity - Verifica che
Public IPsia selezionata e chePrivate IPnon lo sia. - Fai clic sul pulsante
. - Ottieni l'indirizzo IP da cui ti connetti. Il modo più semplice è fare una ricerca su Google con la query "Qual è il mio IP". I risultati di ricerca includono il tuo IP pubblico.
- Inserisci la specifica IP nel campo della rete, assegnale un nome, se vuoi, e fai clic su Fine nella casella
New Network. - Scorri verso il basso e fai clic su Crea.
L'avvio dell'istanza richiede in genere un paio di minuti.
Una volta creata l'istanza, fai clic su di essa nell'elenco e, nella pagina di panoramica, copia il public IP address elencato nella sezione Connect to this instance. Non sarà disponibile finché l'istanza non sarà completamente creata, anche se puoi fare clic sui dettagli prima che venga completamente creata.
Utilizzo di gcloud
Per prima cosa, 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". I risultati di ricerca mostreranno il tuo indirizzo IP pubblico. Se non hai la possibilità di aprire un browser da dove stai eseguendo questa operazione, puoi utilizzare un'utilità come dig.
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
Dovrai specificare una regione per l'istanza Cloud SQL più vicina alla tua posizione. Puoi visualizzare l'elenco delle regioni eseguendo questo comando:
gcloud sql tiers list
Ogni livello è disponibile solo in determinate regioni. Per la parte del tutorial relativa a gcloud, creiamo solo una microistanza, quindi puoi trovare le regioni disponibili per questo livello eseguendo in modo specifico (a condizione che tu abbia installato grep):
gcloud sql tiers list | grep db-f1-micro
Il comando per creare l'istanza è il seguente (non dimenticare di sostituire <AUTHORIZED_IP> con l'IP ottenuto dal browser o da dig e <REGION> con una regione vicina a te, nonché 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 completata, l'output nella CLI conterrà l'PRIMARY_ADDRESS dell'istanza. Copia questo valore per il passaggio successivo.
3. Testare la connessione e concludere
Per verificare che l'istanza sia stata configurata correttamente, dalla macchina di cui hai inserito l'indirizzo IP, puoi eseguire dalla riga di comando:
psql "host=<IP copiato dal passaggio precedente> port=5432 sslmode=disable user=postgres"
Quindi, specifica la password dell'utente predefinito che hai configurato durante la creazione dell'istanza Cloud SQL.
Complimenti! Se tutto è andato bene, dovresti visualizzare il prompt di Postgres e poter eseguire comandi sul tuo database.
Passaggi successivi
Dai un'occhiata ad alcuni di questi codelab...