Informazioni sulle connessioni Cloud SQL

Questa pagina fornisce una panoramica dei modi in cui puoi connetterti all'istanza Cloud SQL e descrive le opzioni di autenticazione e autorizzazione disponibili.

Panoramica

Quando decidi come connetterti all'istanza Cloud SQL, tieni presente che hai a disposizione molte opzioni, tra cui:

  • Vuoi che l'istanza Cloud SQL sia accessibile da internet, che sia privata all'interno di una rete Virtual Private Cloud (VPC) o che sia accessibile sia pubblicamente che privatamente?
  • Hai intenzione di scrivere il tuo codice di connessione o di connetterti tramite pubblicamente disponibili, come il proxy di autenticazione Cloud SQL o un client mysql?
  • Vuoi richiedere la crittografia tramite SSL/TLS o consentire il traffico non criptato?

Nelle sezioni seguenti vengono descritte le opzioni offerte da Cloud SQL per connettersi, autorizzare e autenticarsi al database.

  • Come connettersi: il percorso di rete utilizzato per raggiungere l'istanza:
    • Un indirizzo IP interno, solo VPC (privato).
    • Un indirizzo IP esterno accessibile da internet (pubblico).
  • Come autorizzare: le connessioni autorizzate e consentite per collegarsi all'istanza Cloud SQL:
    • Proxy di autenticazione Cloud SQL e librerie del connettore Cloud SQL per Java e Python: forniscono l'accesso in base a IAM.
    • Certificati SSL/TLS autogestiti: consentono solo connessioni basate su chiavi pubbliche specifiche.
    • Reti autorizzate: un elenco di indirizzi IP autorizzati a connettersi.
  • Modalità di autenticazione: il metodo per accedere al database.
    • Autenticazione database integrata: accedi con un nome utente/una password impostati nel motore del database.

Utilizza le informazioni che seguono per decidere quale connessione, autorizzazione le opzioni di autenticazione sono le più adatte alle tue esigenze.

Prima di iniziare

La concessione dell'accesso a un'applicazione non abilita automaticamente un database l'account utente per la connessione all'istanza. Prima di poterti connettere a un'istanza, devi disporre di un account utente del database con cui eseguire la connessione. Per le nuove istanze, devi aver configurato l'account utente predefinito. Per ulteriori informazioni, consulta la sezione Gestire gli utenti con l'autenticazione integrata.

Come connettersi a Cloud SQL

Le connessioni al database consumano risorse sul server e sull'applicazione di connessione. Utilizza sempre buone pratiche di gestione delle connessioni per ridurre al minimo l'impronta della tua applicazione e la probabilità di superare i limiti di connessione di Cloud SQL. Per ulteriori informazioni, vedi Gestione delle connessioni ai database

IP pubblico e privato

In Cloud SQL, IP pubblico significa che l'istanza è accessibile tramite nella rete internet pubblica. Al contrario, le istanze che utilizzano solo IP privati non sono accessibili tramite internet pubblico, ma sono accessibili tramite un Virtual Private Cloud (VPC). Le istanze Cloud SQL possono avere un'istanza Indirizzo IP.

IP privato

Un IP privato è un indirizzo IPv4 accessibile su un Virtual Private Cloud (VPC).

Puoi utilizzare questo indirizzo per connetterti da altre risorse con accesso al VPC. Le connessioni su IP privato in genere forniscono una latenza più bassa e un attacco limitato perché non richiedono la attraversamento di internet. Facoltativamente, puoi richiedono che tutte le connessioni utilizzino il proxy Cloud SQL o certificati SSL autogestiti.

È preferibile configurare l'istanza con un IP privato quando ti connetti da un su una risorsa con accesso a un VPC. Per ulteriori informazioni le risorse possono usare l'IP privato, Requisiti per l'IP privato.

Per i percorsi IP privati, si connettono i seguenti servizi e applicazioni direttamente alla tua istanza Accesso VPC serverless:

  • Ambiente standard di App Engine
  • Ambiente flessibile di App Engine
  • Funzioni Cloud Run
  • Cloud Run

Scopri di più sull'utilizzo dell'IP privato con Cloud SQL

Per istruzioni su come aggiungere un indirizzo IP privato all'istanza, consulta una delle seguenti risorse:

IP pubblico

Un IP pubblico è un indirizzo IPv4 disponibile esternamente al pubblico internet. Questo indirizzo può ricevere connessioni dai dispositivi all'interno e al di fuori della rete Google, ad esempio da luoghi come casa o l'ufficio.

Per contribuire a mantenere la tua istanza al sicuro, tutte le connessioni a un'istanza Cloud SQL che utilizzano un IP pubblico devono essere autorizzate utilizzando il proxy di autenticazione Cloud SQL o le reti autorizzate.

La configurazione dell'istanza con un indirizzo IP pubblico è consigliata quando ti connetti da un client che non soddisfa i requisiti per un VPC.

Per istruzioni sull'aggiunta di un IP pubblico all'istanza, consulta Configurazione della connettività IP pubblico.

Per informazioni su come connettere un client MySQL a un'istanza Cloud SQL tramite IP pubblico, consulta Connessione utilizzando un client di database.

Indirizzi IP assegnati dinamicamente

Alcune applicazioni devono connettersi all'istanza Cloud SQL utilizzando un indirizzo IP assegnato dinamicamente o temporaneo. È il caso, ad esempio, delle applicazioni PaaS (Platform as a Service).

La soluzione migliore per queste applicazioni è connettersi utilizzando Proxy di autenticazione Cloud SQL. Questa soluzione offre il miglior controllo dell'accesso per la tua istanza.

Come eseguire l'autorizzazione per Cloud SQL

Connettori di lingua Cloud SQL

I connettori di linguaggio Cloud SQL sono librerie client che forniscono crittografia e IAM quando ti connetti a un'istanza Cloud SQL. Cloud SQL consiglia di utilizzare i connettori dei linguaggi di Cloud SQL per connettersi all'istanza Cloud SQL rispetto ad altre opzioni di connessione.

Puoi utilizzare queste librerie direttamente dal linguaggio di programmazione supportato. Forniscono la stessa autenticazione del proxy di autenticazione Cloud SQL senza richiedere un processo esterno. In questo modo, la sicurezza viene migliorata e i requisiti di configurazione per connettersi a Cloud SQL vengono ridotti. I connettori di linguaggio Cloud SQL utilizzano lo stesso codice anche quando usando un indirizzo IP pubblico o privato.

Per iniziare, consulta Informazioni sui connettori di linguaggio Cloud SQL.

Proxy di autenticazione Cloud SQL

Il proxy di autenticazione Cloud SQL ti consente di autorizzare e proteggere le connessioni utilizzando Identity and Access Management (IAM) autorizzazioni aggiuntive. Il proxy di autenticazione Cloud SQL convalida le connessioni utilizzando le credenziali di un utente oppure l'account di servizio e il wrapping della connessione in un livello SSL/TLS per un'istanza Cloud SQL. Per ulteriori dettagli sul funzionamento del proxy di autenticazione Cloud SQL, consulta Informazioni sul proxy di autenticazione Cloud SQL.

L'utilizzo del proxy di autenticazione Cloud SQL è il metodo consigliato per autenticare le connessioni a un'istanza Cloud SQL perché è il metodo più sicuro.

Il proxy di autenticazione Cloud SQL è una libreria open source distribuita come file binario eseguibile. Il proxy di autenticazione Cloud SQL funge da server intermediario che ascolta le connessioni in entrata, le inserisce in SSL/TLS e poi le passa a un'istanza Cloud SQL.

Alcuni ambienti forniscono un meccanismo che si connette utilizzando il proxy di autenticazione Cloud SQL. Per istruzioni sulla connessione utilizzando questi ambienti, consulta le seguenti pagine:

Certificati SSL/TLS autogestiti

Anziché utilizzare il proxy di autenticazione Cloud SQL per criptare le connessioni, è possibile configurare certificati SSL/TLS client/server specifici per Cloud SQL in esecuzione in un'istanza Compute Engine. Questi certificati vengono utilizzati sia per convalidare il client che il server e crittografare le connessioni tra loro.

È vivamente consigliato utilizzare certificati SSL/TLS con gestione indipendente per fornire la crittografia quando non utilizzi il proxy di autenticazione Cloud SQL. Se non lo fai significa che i tuoi dati vengono trasmessi in modo non sicuro e potrebbero essere intercettati o ispezionati da una di terze parti.

Per iniziare a utilizzare i certificati SSL/TLS autogestiti, consulta Autorizzazione con certificati SSL/TLS.

Reti autorizzate

A meno che non si utilizzi il proxy di autenticazione Cloud SQL, le connessioni all'IP pubblico di un'istanza sono consentiti solo se la connessione proviene rete autorizzata. Le reti autorizzate sono indirizzi o intervalli IP che l'utente ha specificato l'autorizzazione per la connessione.

Per iniziare a utilizzare le reti autorizzate, consulta: Autorizzazione con reti autorizzate.

Come eseguire l'autenticazione in Cloud SQL

L'autenticazione consente di controllo dell'accesso verificando l'identità di un utente. Per gli utenti finali, l'autenticazione viene ottenuta quando l'utente inserisce le credenziali. (nome utente e password). Per le applicazioni, l'autenticazione si ottiene quando le credenziali dell'utente siano assegnate a un account di servizio.

Cloud SQL utilizza l'autenticazione integrata del database che autentica utilizzando un nome utente e una password. Per ulteriori informazioni, vedi creazione e gestione degli utenti MySQL.

Strumenti per la connessione a Cloud SQL

La tabella seguente contiene alcune opzioni per la connessione a Cloud SQL:

Opzione di connessione Ulteriori informazioni
Proxy di autenticazione Cloud SQL
gcloud CLI
Connettori di lingua Cloud SQL
Cloud Shell
Apps Script
Cloud Code
Connettiti utilizzando strumenti di amministrazione di database di terze parti
MySQL Workbench
Toad per MySQL
SQuirrel SQL
phpMyAdmin

Esempi di codice

Puoi connetterti al proxy di autenticazione Cloud SQL da qualsiasi linguaggio che ti consenta di connetterti a una socket Unix o TCP. Di seguito sono riportati alcuni snippet di codice di esempi completi su GitHub per aiutarti a comprendere come interagiscono nella tua applicazione.

Risoluzione dei problemi

Se hai problemi di connessione, consulta le seguenti pagine per ricevere assistenza eseguire il debug o trovare soluzioni a problemi noti:

Passaggi successivi