Informazioni su Cloud SQL Auth proxy

MySQL | PostgreSQL | SQL Server

Questa pagina fornisce un’introduzione di base al Cloud SQL Auth proxy e descrive le opzioni proxy.

Per istruzioni dettagliate sull’utilizzo del proxy di autenticazione SQL cloud, seguire il link per il proprio ambiente:

  • Quickstart per l’utilizzo del Cloud SQL Auth proxy
  • Modalità di connessione con il Cloud SQL Auth proxy
  • Modalità di connessione con il Cloud SQL Auth proxy da GKE

non È necessario utilizzare il Cloud SQL Auth proxy o configurare SSL destinato al Cloud SQL da App Engine standardor connettersi al Cloud SQL dall’App Engine ambiente flessibile.

Provalo tu stesso

Se sei nuovo di Google Cloud, crea un account per valutare le prestazioni di Cloud SQL in scenari reali. I nuovi clienti ricevono anche credits 300 in crediti gratuiti per eseguire, testare e distribuire carichi di lavoro.

Prova Cloud SQL free

Cosa fornisce il Cloud SQL Auth proxy

Il Cloud SQL Auth proxy fornisce un accesso sicuro alle istanze senza la necessità di reti autorizzateo per la configurazione di SSL.

L’accesso all’istanza Cloud SQL utilizzando il proxy di autenticazione Cloud SQL offre i seguenti vantaggi:

  • Connessioni sicure: il proxy di autenticazione SQL cloud crittografa automaticamente il traffico da e verso il database utilizzando TLS 1.2 con un codice AES a 128 bit; I certificati SSL vengono utilizzati per verificare le identità client e server.
  • Gestione più semplice delle connessioni: il proxy Cloud SQL Auth gestisce l’autenticazione concloud SQL, eliminando la necessità di fornire indirizzi IP statici.

Il proxy di autenticazione SQL Cloud non fornisce un nuovo percorso di connettività; si basa sulla connettività IP esistente. Per connettersi a un’istanza SQL Cloud utilizzando IP privato, il proxy di autenticazione SQL cloud deve trovarsi su una risorsa con accesso alla stessa rete VPC dell’istanza.

Come funziona il proxy di autenticazione SQL Cloud

Il proxy di autenticazione SQL cloud funziona facendo eseguire un client localenell’ambiente locale. L’applicazione comunica con Cloud SQL Auth proxy con il protocollo di database standard utilizzato dal database. Il proxy di autenticazione SQL cloud utilizzaun tunnel sicuro per comunicare con il suo processo associato in esecuzione sul server.

Mentre il proxy può ascoltare su qualsiasi porta, crea solo connessioni in uscitala tua istanza Cloud SQL sulla porta 3307. Se si dispone di una firewallpolicy in uscita, assicurarsi che consenta le connessioni alla porta 3307 sull’IP del Cloud SQLinstance.

Il diagramma seguente mostra come il Cloud SQL Auth proxy si collega al Cloud SQL:

Diagramma di Cloud SQL Auth proxy connessione da client software per l'istanza di SQL

Requisiti per l’utilizzo del Cloud SQL Auth proxy

Per utilizzare il Cloud SQL Auth proxy, è necessario soddisfare i seguenti requisiti:

  • Il Cloud SQL Admin API deve essere abilitato.
  • È necessario fornire le credenziali di autenticazione Cloud SQL Auth proxy withGoogle Cloud.
  • È necessario fornire al proxy di autenticazione SQL Cloud un account utente e una password validi per il database.
  • L’istanza deve avere un indirizzo IPv4 pubblico o essere configurata per utilizzare IP privato.

    L’indirizzo IP pubblico non deve essere accessibile a nessun indirizzo esterno(non deve essere aggiunto come indirizzo di rete autorizzato).

Cloud SQL Auth proxy opzioni di avvio

Quando si avvia il Cloud SQL Auth proxy, si forniscono le seguenti informazioni:

  • Ciò Cloud SQL istanze di stabilire connessioni a
  • Dove resterà in attesa per i dati provenienti dall’applicazione per essere sentto Cloud SQL
  • Dove troverà le credenziali verranno utilizzati per autenticare yourapplication di Cloud SQL
  • Se necessario, l’indirizzo IP che tipo di uso.

Le opzioni di avvio del proxy Cloud SQL Auth fornite determinano se verrà ascoltato su un TCPport o su un socket Unix. Se è in ascolto su un socket Unix, crea thesocket nella posizione scelta; di solito, la directory / cloudsql/.Per TCP, il proxy di autenticazione SQL cloud è in ascolto su localhost per impostazione predefinita.

Esegui l’eseguibile cloud_sql_proxy con l’argomento --help per visualizzare l’elenco completo delle opzioni di avvio.

È possibile installare il proxy di autenticazione SQL Cloud ovunque nell’ambiente locale. La posizione dei binari proxy Cloud SQL Auth non influisce sul luogo in cui ascolta i dati da yourapplication.

Utilizzo di un account di servizio per l’autenticazione

Il proxy di autenticazione SQL cloud richiede l’autenticazione. Il vantaggio di utilizzare un account di servizio per questo scopo è che è possibile creare un file di credenziali specifico per il proxy di autenticazione SQL Cloud ed è esplicitamente e permanentemente collegato al proxy di autenticazione SQL cloud fintanto che è in esecuzione. Per questo motivo, l’utilizzo di un account di servizio è il metodo consigliato per productioninstances non in esecuzione su un’istanza di Compute Engine.

Il file delle credenziali può essere duplicato in un’immagine di sistema se è necessario richiamare il proxy di autenticazione Cloud SQL da più macchine.

Per utilizzare questo metodo, è necessario creare e gestire il file delle credenziali. Solo gli utenti con l’autorizzazione resourcemanager.projects.setIamPolicy (ad esempio i proprietari di progetti) possono creare l’account di servizio. Se l’utente di yourGoogle Cloud non dispone di questa autorizzazione, è necessario che qualcuno crei l’account del servizio per te o utilizzi un altro metodo per autenticare il proxy di autenticazione SQL Cloud.

Per informazioni sulla creazione di un file di credenziali, vedere Creazione di un account di servizio.

Autorizzazioni necessarie per gli account di servizio

Quando si utilizza un account di servizio per fornire le credenziali per il proxy di autenticazione SQL Cloud, è necessario crearlo con autorizzazioni sufficienti. Se si utilizzano i ruoli fin (Finer-grainedIdentity Access and Management) per gestire le autorizzazioni SQL di yourCloud, è necessario assegnare all’account del servizio un ruolo che includa l’autorizzazione cloudsql.instances.connect. I ruoli SQL predefinedCloud che includono questa autorizzazione sono:

  • Cloud SQL Client
  • Cloud SQL Editor
  • Cloud SQL Admin

Se si utilizzano i ruoli di progetto legacy (Viewer, Editor, Owner), serviceaccount deve avere almeno il ruolo di Editor.

Opzioni per specificare le istanze Cloud SQL

Esistono diversi modi per indicare al proxy di autenticazione Cloud SQL a quali istanze si desidera connettersi. Alcuni sono espliciti e alcuni sono impliciti. In alcune configurazioni, non è necessario indicare in anticipo al proxy di autenticazione SQL Cloud quali istanze si desidera connettersi, poiché il proxy di autenticazione SQL Cloud si connette in base alle richieste di connessione.

Le tue opzioni, ad esempio, dipendono dal tuo sistema operativo e dall’ambiente:

Opzione Vantaggi Avvertenze e Prescrizioni Linux/macOS
(socket Unix)
Java Windows Note
FUSIBILE
(Filesystem in Spazio Utente)
Dinamico presa la creazione di base di richieste di connessione; nessun proxy riavvio necessario in quanto le istanze di cambiamento. FUSIBILE deve essere installato. Supportato No No Usa -fuse flag.
Rilevamento automatico delle istanze Non è necessario specificare le istanze; socket creati per tutte le istanze nel progetto predefinito. L’utilizzo di Cloud SQL Auth proxy API è aumentato. È necessario che Cloud SDK sia installato e autenticato, con un set di progetti predefinito. È necessario riavviare Cloud SQL Auth proxy per aggiungere una nuova istanza. Supportato No No Non raccomandato per le istanze di produzione.
Project discovery Non è necessario specificare le istanze; socket creati per tutte le istanze nei progetti specificati. L’utilizzo di Cloud SQL Auth proxy API è aumentato. Deve avere Cloud SDK installato e autenticato. È necessario riavviare Cloud SQL Auth proxy per aggiungere una nuova istanza. Supportato No No Utilizzare -projects parametro. Non raccomandato per le istanze di produzione.
Istanze specificate in Cloud SQL Auth proxy invocazione Elenco istanze note e statiche. Deve riavviare Cloud SQL Auth proxy per aggiungere nuova istanza. Supportato Supportato con socket TCP Supportato con socket TCP Utilizzare il parametro -instances. Per più istanze, utilizzare un elenco separato da virgole, senza spazi. Per saperne di più.
Le istanze specificate utilizzando i metadati di Compute Engine possono essere aggiornate modificando il valore dei metadati senza riavviare il proxy di autenticazione SQL cloud. Disponibile solo su Compute Engine. Supportato Supportato con socket TCP Supportato con socket TCP Usa -instances_metadata flag. Per saperne di più.

Vedere invocazioni di esempio e stringhe di connessione.

Mantenere aggiornato il proxy di autenticazione SQL Cloud

Google rilascia occasionalmente nuove versioni del proxy di autenticazione SQL Cloud. Puoi vedere qual è la versione corrente controllando la pagina di rilascio del proxy GitHub di autenticazione SQL di Cloud.Le future versioni proxy saranno notate anche nelGoogle Groups Cloud SQL announce forum.

Utilizzo API

Il proxy di autenticazione SQL Cloud invia richieste all’API di amministrazione SQL cloud. Queste richieste countagainst la quota API per il progetto.

L’utilizzo dell’API più elevato si verifica quando si avvia il proxy di autenticazione SQL cloud; ciò è particolarmente verose si utilizza il rilevamento automatico delle istanze o il parametro -projects. Mentre il proxy di autenticazione SQL di CLOUD è in esecuzione, emette 2 chiamate API all’ora per istanza connessa.

Informazioni sulla creazione di un account utente speciale per il proxy di autenticazione SQL Cloud

Quando ci si connette all’istanza utilizzando il proxy di autenticazione SQL Cloud, si fornisce un account utenteche viene utilizzato per accedere all’istanza. È possibile utilizzare qualsiasi account utente del database per questo scopo. Tuttavia, poiché il proxy di autenticazione SQL cloud si connette sempre da un hostname a cui non è possibile accedere se non dal proxy di autenticazione SQL cloud, è possibile creare un account utente che può essere utilizzato solo dal proxy di autenticazione SQL cloud. Il vantaggio di fare questo è che Lei canspecify questo conto senza una parola d’ordine senza compromettere la sicurezza ofyour istanza o i Suoi dati.

Per creare un account utente per le connessioni proxy Cloud SQL Auth, specificare il nome host come'cloudsqlproxy~'. È inoltre possibile utilizzare l’indirizzo ipwildcard, che risulterebbe in 'cloudsqlproxy~%'. Il nome completo dell’account utente sarebbe:

''@'cloudsqlproxy~%'

o

''@'cloudsqlproxy~'

Per informazioni sulla creazione di un utente, vedere Creazione e gestione degli utenti.Per informazioni sul funzionamento di Cloud SQL con gli account utente,vedere Utenti. Per informazioni sugli account utente MySQL, vederecurando gli account MySQL iniziali nella documentazione di theMySQL.

Cloud SQL Auth proxy parametri e flag

Il Cloud SQL Auth proxy accetta diversi flag e parametri quando viene avviato. Queste opzioni determinano dove e come il proxy di autenticazione SQL cloud crea i socket che utilizza per comunicare con Cloud SQL e come si autentica.

Per aiutare con il Cloud SQL Auth proxy opzioni, vedere le seguenti informazioni:

  • Opzioni per l’autenticazione Cloud SQL Auth proxy
  • Opzioni per la definizione di Cloud istanze di SQL
  • Esempio di Cloud SQL Auth proxy invocazioni
  • Cloud SQL Auth proxy pagina di GitHub
  • Il Cloud SQL Auth proxy aiuto, visualizzato con ./cloud_sql_proxy -help

Come si FUSE con il Cloud SQL Auth proxy

FUSIBILE sta per”Filesystem in Spazio Utente”.A seconda di come viene invocato il proxy di autenticazione SQL Cloud, può utilizzare facoltativamente FUSE per creare i socket che utilizza per connettersi con Cloud SQL.

Quando ci si connette da Compute Engine o ambienti di sviluppo locali, il proxy di autenticazione SQL Cloud utilizza FUSE per accedere alle istanze Cloud SQL come segue:

  • La directory “/ cloudsql ” è montata come Filesystem nello spazio utente, orFUSE, da Cloud SQL Auth proxy.

  • Un processo (ad esempio, mysql) tenta di cercare un file denominato INSTANCE INSTANCE.

  • Il proxy Cloud SQL Auth intercetta la richiesta e restituisce che /cloudsql/$INSTANCE è un collegamento asimbolico che punta a un socket Unix situato altrove sul filesystem.

  • Il processo (ad esempio, mysql) segue il collegamento e apre la presa Unix a cui conduce e si connette.

Installazione di FUSE

Per Linux:

FUSE richiede il programma fusermount e un modulo del kernel, tofunction. È possibile verificare se questo programma è installato cercando thefile, /dev/fuse/. Se fusermount non è sul tuo sistema, puoi installarlo usando il tuo gestore di pacchetti o compilandolo dal sorgente.

Per macOS:

Installare FUSE per macOS.

Utilizzo del proxy di autenticazione SQL cloud in un ambiente di produzione

Quando si utilizza il proxy di autenticazione SQL Cloud in un ambiente di produzione, è possibile eseguire alcuni passaggi per garantire che il proxy di autenticazione SQL cloud fornisca la disponibilità richiesta per l’applicazione.

Verificare che il proxy di autenticazione SQL Cloud sia eseguito come servizio persistente

Se il processo proxy di autenticazione SQL Cloud viene arrestato, tutte le connessioni esistenti vengono interrotte e l’applicazione non può creare ulteriori connessioni all’istanza SQL CLOUD con il proxy di autenticazione SQL Cloud. Per evitare questo scenario, assicurarsi di eseguire il proxy di autenticazione SQL Cloud come servizio persistente, in modo che se il proxy di autenticazione SQL cloud termina per anyreason, venga riavviato automaticamente. Questo può essere ottenuto utilizzando aservice come systemd, upstarto supervisor. Per il sistema operativo Windows, eseguire il proxy di autenticazione SQL cloud come servizio Windows. In generale, assicurarsi che il proxy di autenticazione SQL Cloud hagli stessi requisiti di uptime del processo di applicazione.

Quante copie del proxy di autenticazione SQL cloud di cui l’applicazione ha bisogno

Non è necessario creare un processo proxy per ogni processo di applicazione; molti processi di applicazione possono condividere un singolo processo proxy di autenticazione SQL Cloud. Eseguire un client proxy di autenticazione SQL cloudprocesso per workstation o macchina virtuale.

Se si utilizza il ridimensionamento automatico per le macchine virtuali, assicurarsi che il proxy di autenticazione SQL Cloud sia incluso nella configurazione della macchina virtuale, in modo che ogni volta che viene avviata una nuova macchina virtuale, abbia il proprio processo di proxy di autenticazione SQL Cloud.

Spetta a te gestire quante connessioni richiede l’applicazione,limitando o raggruppando le connessioni. Il proxy di autenticazione SQL Cloud non pone alcunilimitazioni sulle nuove velocità di connessione o sul conteggio delle connessioni persistenti.

Riduzione dell’output proxy Cloud SQL Auth

Se è necessario ridurre le dimensioni del registro proxy Cloud SQL Auth, è possibile farlo impostando-verbose=false all’avvio del proxy Cloud SQL Auth. Tieni presente, tuttavia, che doingso riduce l’efficacia dell’output proxy Cloud SQL Auth nella diagnosi di problemi di connessione.

Come il failover influisce sul proxy di autenticazione SQL Cloud

Se si esegue il proxy di autenticazione SQL Cloud su un’istanza configurata per l’alta disponibilità e si verifica un failover,le connessioni tramite il proxy di autenticazione SQL cloud vengono influenzate allo stesso modo come connessioni su IP: tutte le connessioni esistenti vengono perse e l’applicazionedeve stabilire nuove connessioni. Tuttavia, non è richiesto alcun intervento manuale; l’applicazione può continuare a utilizzare le stesse stringhe di connessione precedenti.

Mantenere aggiornata l’immagine Docker proxy Cloud SQL Auth

L’immagine Docker proxy Cloud SQL Auth si basa su una versione specifica del proxy Cloud SQL Auth.Quando una nuova versione del proxy Cloud SQL Auth diventa disponibile, estrarre la nuova versione dell’immagine Docker Cloud SQL Auth proxy per mantenere aggiornato l’ambiente. Youcan vedere la versione corrente del Cloud SQL Auth proxy controllando theCloud SQL Auth proxy GitHub rilascia pagina.

  • Ulteriori informazioni sul proxy di autenticazione SQL cloud.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.