Connettiti a un'istanza Cloud SQL per MySQL con IP privato
Questa pagina mostra come creare e connettersi a un'istanza MySQL utilizzando un IP privato. Le risorse create in questa guida rapida in genere costano meno di un dollaro, se 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
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Verifica di disporre delle autorizzazioni necessarie per completare questa guida rapida.
-
Abilita le API Google Cloud necessarie.
Console
Nella console Google Cloud , vai alla pagina API.
Abilita l'API Cloud SQL Admin. Se abiliti questa API, puoi eseguire il proxy di autenticazione Cloud SQL.gcloud
Fai clic sul pulsante seguente per aprire Cloud Shell, che fornisce l'accesso da riga di comando alle tue risorse Google Cloud direttamente dal browser. Cloud Shell può essere utilizzato per eseguire i comandi
gcloudpresentati in questa guida rapida.Esegui il comando
gcloud services enablecome segue utilizzando Cloud Shell per abilitare le API richieste per questa guida rapida:gcloud services enable sqladmin.googleapis.com
Questo comando abilita le seguenti API:
- API Cloud SQL Admin. Se abiliti questa API, puoi eseguire il proxy di autenticazione Cloud SQL.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare Cloud SQL con un indirizzo IP privato, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto che vuoi configurare e a cui vuoi connetterti:
-
Crea o elimina un'istanza, un database e un utente:
Ruolo Amministratore Cloud SQL (
roles/cloudsql.admin). -
Crea o elimina un account di servizio IAM:
Ruolo di amministratore service account IAM (
roles/iam.serviceAccountAdmin). -
Crea o elimina un'istanza di computing:
-
Ruolo di amministratore Compute (
roles/compute.admin) -
Ruolo Amministratore istanze Compute (
roles/compute.instanceAdmin.v1).
-
Ruolo di amministratore Compute (
-
Crea una connessione:
-
Service Networking Admin (
roles/servicenetworking.networksAdmin)) -
Amministratore Service Usage (
roles/serviceusage.serviceUsageAdmin).
-
Service Networking Admin (
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
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 l'origine non si trova in Google Cloud o non si trova nello stesso progetto Google Cloud , devi configurare la connettività in modo diverso da quanto mostrato qui.
In questa guida rapida, configuriamo la connettività tramite il percorso più diretto. 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 privato (la destinazione) e una VM Compute Engine (l'origine). Utilizziamo la VM per installare e utilizzare gli strumenti necessari per connetterti dalla VM all'istanza Cloud SQL.
Esegui le seguenti azioni:
- Crea un'istanza Cloud SQL con un indirizzo IP privato.
Trova e salva l'
connection namedell'istanza per utilizzarlo in un secondo momento. - Crea una VM di Compute Engine.
- Apri due connessioni SSH nella VM di Compute Engine.
Utilizzerai la prima finestra per installare mysql e avviare il proxy di autenticazione Cloud SQL. Poi utilizzerai la seconda finestra per connetterti all'istanza Cloud SQL connettendoti al proxy di autenticazione Cloud SQL.
- Nella finestra SSH n. 1:
- Installa il client MySQL.
- Installa il proxy di autenticazione Cloud SQL.
Il proxy di autenticazione Cloud SQL funge da connettore tra il client mysql e l'istanza Cloud SQL.
- Avvia il proxy di autenticazione Cloud SQL.
In caso di esito positivo, il proxy di autenticazione Cloud SQL è in attesa di richieste di connessione.
- Nella finestra SSH n. 2, connettiti all'istanza Cloud SQL facendo in modo che il client MySQL si connetta al proxy di autenticazione Cloud SQL.
Se l'operazione va a buon fine, in questa finestra viene visualizzato il prompt mysql e un messaggio di connessione riuscita nella finestra SSH n. 1, in cui è in esecuzione il proxy di autenticazione Cloud SQL.
- Pulisci.
Crea un'istanza Cloud SQL con un indirizzo IP privato
Per creare un'istanza che utilizza connessioni con IP privato:
-
Nella console Google Cloud , vai alla pagina Istanze Cloud SQL.
- Seleziona la scheda MySQL e fai clic su Crea istanza sandbox nella casella Sandbox. In alternativa, puoi fare clic su Crea istanza e procedere nel seguente modo:
- Fai clic su Scegli MySQL.
- Seleziona la versione Enterprise.
- Scegli il preset Sandbox.
- Se ti viene chiesto di abilitare l'API Compute, fai clic sul pulsante Abilita API.
- Nella sezione Informazioni istanza, inserisci un nome per l'ID istanza.
- Inserisci una password per l'utente root. 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.
- Seleziona Accesso privato ai servizi (PSA).
- Dal menu a discesa Rete VPC, seleziona predefinita.
- Se utilizzi un nuovo progetto, viene visualizzato il messaggio: La connessione di rete non è configurata e una casella intitolata È richiesta la conferma della configurazione di rete ti indirizza alla documentazione del VPC per la configurazione di PSA.
- Nella console Google Cloud , vai alla pagina Reti VPC:
- Seleziona la rete VPC predefinita.
- Imposta una regola firewall che consenta l'accesso alla porta TCP 22:
- Seleziona la scheda Firewall.
- In Regole firewall VPC, seleziona Crea regola firewall VPC.
- Assegna un nome alla regola firewall.
- In Destinazioni, seleziona Tutte le istanze nella rete.
- In Intervalli IPv4 di origine, inserisci
0.0.0.0/0. - In Protocolli e porte, seleziona TCP e poi nella casella
Porte direttamente sotto, inserisci
22. - Seleziona Crea.
- Alloca un intervallo di indirizzi IP:
- Seleziona la scheda Accesso ai servizi privati.
- Nella scheda Accesso privato ai servizi, seleziona la scheda Intervalli IP allocati per i servizi.
- Fai clic su Assegna intervallo IP.
- Inserisci un Nome e, facoltativamente, una Descrizione per l'intervallo allocato.
- Per consentire a Google di selezionare un intervallo disponibile, seleziona Automatico.
- Inserisci una lunghezza del prefisso compresa tra
16e 124 (il numero di indirizzi allocati è pari a 2 elevato alla (32 - lunghezza del prefisso). - Fai clic su Alloca per creare l'intervallo allocato.
- Crea una connessione privata:
- Nella scheda Accesso privato ai servizi, passa alla scheda Connessioni private ai servizi.
- Fai clic sul pulsante Crea connessione.
- Nel menu a discesa Allocazione assegnata nella casella Crea una connessione privata, seleziona il nome dell'intervallo di indirizzi IP che hai appena creato.
- Fai clic su Connetti.
- Una volta creata la connessione, torna al punto in cui stavi creando l'istanza Cloud SQL e fai clic su Conferma connessione.
- Quando la connessione PSA viene creata correttamente, fai clic su Crea istanza.
Mentre viene creata la nuova istanza, si apre la pagina Panoramica dell'istanza.
Una volta completata la creazione dell'istanza, scorri fino alla sezione Connettiti a
questa istanza e salva il Nome connessione dell'istanza.
connection name è nel formato projectID:region:instanceID.
Utilizzerai questo connection name in un secondo momento quando avvierai il proxy di autenticazione Cloud SQL.
Crea una VM di Compute Engine
Per creare una VM:
-
Nella console Google Cloud , vai alla pagina Istanze VM.
- Fai clic su Crea istanza.
- Inserisci un nome per l'istanza.
- Seleziona Protezione dei dati nel riquadro di navigazione e poi Nessun backup.
- Seleziona Sicurezza nel riquadro di navigazione e, 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 mysql 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 di Compute Engine.
- Seleziona Apri nella finestra del browser per aprire la finestra SSH n. 1.
Potrebbero essere necessari alcuni secondi prima che la richiesta nella finestra diventi disponibile.
- Quando viene visualizzato il prompt, inserisci
pwdper verificare di trovarti nella directory/home/$USER.In questa finestra installerai il client mysql 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 n. 2.
Utilizzerai questa finestra per connetterti all'istanza Cloud SQL.
Installa il client mysql
Utilizza la finestra SSH n. 1 per questo passaggio.
Installa il client MySQL dal gestore dei pacchetti e arresta il server mysqld:
sudo apt-get update sudo apt-get install default-mysql-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 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:3306 for myInstance Ready for new connections
Connettiti all'istanza Cloud SQL
Utilizza la finestra SSH n. 2 per questo passaggio.
Esegui questo comando:
mysql -u root -p --host 127.0.0.1 --port 3306
Al prompt Enter password:, inserisci la password del tuo account utente root di MySQL.
Verifica che venga visualizzato il prompt MySQL. Ti sei connesso al database utilizzando il client mysql.
Torna alla finestra del terminale in cui hai avviato il proxy di autenticazione Cloud SQL. Dovresti visualizzare 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
myinstanceper 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 di pulizia facoltativi
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 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 MySQL e database per la tua istanza Cloud SQL.
Inoltre, puoi scoprire di più sulla connessione a un'istanza Cloud SQL da altre applicazioni: Google Cloud