Questa pagina descrive come connettersi a un'istanza Cloud SQL dall'esterno del Virtual Private Cloud (VPC) configurato.
Prima di iniziare
Prima di iniziare, assicurati di completare le seguenti azioni:
- Crei un'istanza Cloud SQL.
- Configuri l'istanza in modo che utilizzi un indirizzo IP interno anziché un indirizzo IP esterno.
Informazioni sulle connessioni esterne
L'istanza Cloud SQL è costituita da un numero di nodi all'interno di un VPC gestito da Google. Quando crei un'istanza, configuri anche l'accesso privato ai servizi o Private Service Connect tra uno dei tuoi VPC e il VPC gestito da Google contenente la nuova istanza. Questa connessione in peering ti consente di utilizzare indirizzi IP interni per accedere alle risorse nel VPC dell'istanza come se facessero parte del tuo VPC.
Nelle seguenti situazioni, connettiti all'istanza dall'esterno di un VPC connesso:
La tua applicazione viene eseguita al di fuori del VPC che hai utilizzato per connetterti all'istanza tramite l'accesso privato ai servizi o Private Service Connect.
La tua applicazione viene eseguita su un VPC che si trova al di fuori della rete di Google.
La tua applicazione viene eseguita su una macchina che si trova in un'altra posizione sulla rete internet pubblica.
In tutti questi casi, devi configurare un servizio aggiuntivo per abilitare questo tipo di connessione esterna alla tua istanza Cloud SQL.
A seconda delle tue esigenze, ti consigliamo le seguenti soluzioni per stabilire connessioni esterne:
Per lo sviluppo di progetti o la prototipazione o per un ambiente di produzione a costi relativamente bassi, configura una macchina virtuale (VM) intermedia, nota anche come bastion, all'interno del VPC. Esistono vari metodi per utilizzare questa VM intermedia per trasformarla in una connessione sicura tra un ambiente di applicazione esterno e la tua istanza Cloud SQL.
Per gli ambienti di produzione che richiedono un'alta affidabilità, valuta la possibilità di stabilire una connessione permanente tra il VPC e la tua applicazione tramite Cloud VPN o Cloud Interconnect.
Le sezioni seguenti descrivono queste soluzioni.
Connettiti tramite una VM intermedia
Per stabilire una connessione a un'istanza Cloud SQL dall'esterno del relativo VPC utilizzando strumenti open source e un numero minimo di risorse aggiuntive, esegui un servizio di proxy su una VM intermedia configurata all'interno del VPC. Puoi configurare una nuova VM o utilizzare una VM già in esecuzione all'interno del VPC della tua istanza Cloud SQL.
In quanto soluzione autogestita, l'utilizzo di una VM intermedia in genere costa meno e ha un tempo di configurazione più rapido rispetto all'utilizzo di un prodotto Connettività di rete. Presenta anche degli svantaggi: la disponibilità, la sicurezza e la velocità effettiva dei dati della connessione dipendono tutte dalla VM intermedia, che devi gestire nell'ambito del tuo progetto.
Connettiti tramite IAP
Utilizzando Identity-Aware Proxy (IAP), puoi connetterti alla tua istanza Cloud SQL in modo sicuro senza dover esporre l'indirizzo IP interno della VM intermedia. Utilizzi una combinazione di regole firewall e Identity and Access Management (IAM) per limitare l'accesso tramite questa route. Questo rende IAP una buona soluzione per utilizzi non di produzione, come lo sviluppo e la prototipazione.
In questo diagramma, IAP funge da gateway tra il client esterno che si trova al di fuori del VPC e la VM intermedia che si trova nel VPC. Il client crea un tunnel SSH verso IAP. Il proxy di autenticazione Cloud SQL cripta il traffico tra la VM e l'istanza Cloud SQL. Tramite questi due proxy, viene stabilita la comunicazione tra il client e l'istanza.
Per configurare l'accesso IAP alla tua istanza, segui questi passaggi:
Sul tuo client esterno, installa gcloud CLI.
Sulla VM intermediaria, scarica e installa il proxy di autenticazione Cloud SQL.
Nella VM intermedia, avvia il proxy di autenticazione Cloud SQL.
Poiché la VM è configurata con un indirizzo IP interno, quando avvii il proxy di autenticazione Cloud SQL, devi fornire l'opzione
--private-ip.Nel tuo progetto Google Cloud , abilita l'inoltro TCP di IAP.
Quando definisci la nuova regola firewall, consenti il traffico TCP in entrata alla porta
22(SSH). Se utilizzi la rete predefinita del progetto con la regoladefault-allow-sshprecompilata abilitata, non è necessario definire una regola aggiuntiva.Configura il port forwarding tra il client esterno e la VM intermediaria utilizzando SSH tramite IAP:
gcloud compute ssh VM_NAME \ --tunnel-through-iap \ --zone=ZONE_NAME \ --ssh-flag="-L 1433:localhost:1433"
Effettua le seguenti sostituzioni:
- VM_NAME:: il nome della VM
- ZONE_NAME: il nome della zona associata alla VM
Sul client esterno, testa la connessione utilizzando un client SQL Server.
Connettiti tramite un proxy SOCKS
L'esecuzione di un servizio SOCKS sulla VM intermedia fornisce una connessione flessibile e scalabile alla tua istanza Cloud SQL, con crittografia end-to-end fornita dal Cloud SQL Auth Proxy.
Per saperne di più sull'utilizzo di un proxy SOCKS per connetterti alla tua istanza Cloud SQL, consulta Connettiti utilizzando un proxy intermedio (SOCKS5).
Connettiti tramite un pooler
Se devi installare ed eseguire il Cloud SQL Auth Proxy sulla VM intermedia, anziché su un client esterno, puoi abilitare le connessioni sicure associandolo a un proxy sensibile al protocollo, noto anche come pooler. Un pooler open source molto utilizzato per SQL Server è ADO.NET.
In questa soluzione, esegui sia il proxy di autenticazione Cloud SQL sia il pooler sulla VM intermedia. Il client o l'applicazione può quindi connettersi direttamente al pooler in modo sicuro tramite SSL, senza la necessità di eseguire servizi aggiuntivi. Il pooler si occupa di trasmettere le query PostgreSQL all'istanza Cloud SQL tramite il proxy di autenticazione Cloud SQL.
Poiché ogni istanza Cloud SQL ha un indirizzo IP interno separato, ogni servizio di proxy può comunicare con una sola istanza specifica: l'istanza principale, l'istanza in standby o un pool di lettura. Pertanto, per ogni istanza, devi eseguire un servizio pooler separato con un certificato SSL configurato in modo appropriato.
Connettiti tramite Cloud VPN o Cloud Interconnect
Per il lavoro di produzione che richiede l'alta affidabilità (HA), consigliamo l'utilizzo di un prodotto di connettività di rete Google Cloud, come Cloud VPN o Cloud Interconnect, a seconda delle esigenze del servizio esterno e della topologia di rete. Poi, configura router Cloud per annunciare le route appropriate.
Per scoprire di più sulle soluzioni di connettività di rete, consulta Scelta di un prodotto per la connettività di rete.
Passaggi successivi
- Scopri di più sull'IP privato.
- Scopri di più sull'accesso privato ai servizi e sulla connettività on-premise nei VPC gestiti da Google.
- Scopri di più sull'utilizzo di Private Service Connect per connetterti a un'istanza Cloud SQL.