Questa pagina descrive come connettersi a un'istanza Cloud SQL dall'esterno del VPC (Virtual Private Cloud) configurato.
Prima di iniziare
Prima di iniziare, assicurati di completare le seguenti azioni:
- Crea un'istanza Cloud SQL.
- Configura 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 sul 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 ai servizi privati o Private Service Connect.
La tua applicazione viene eseguita su un VPC che esiste al di fuori della rete di Google.
La tua applicazione viene eseguita su una macchina che si trova altrove su internet pubblico.
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 o la prototipazione di progetti oppure per un ambiente di produzione relativamente economico, configura una macchina virtuale (VM) intermedia, nota anche come bastion, all'interno del VPC. Esistono vari metodi per basarsi su questa VM intermedia e trasformarla in una connessione sicura tra un ambiente applicativo esterno e la tua istanza Cloud SQL.
Per gli ambienti di produzione che richiedono alta disponibilità, 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 intermediaria
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 proxy su una VM intermedia configurata all'interno di questo VPC. Puoi configurare una nuova VM o utilizzare una VM già in esecuzione all'interno del VPC dell'istanza Cloud SQL.
In quanto soluzione autogestita, l'utilizzo di una VM intermediaria in genere costa meno e ha un tempo di configurazione più rapido rispetto all'utilizzo di unaConnettività di reterk Connectivity. Ha anche degli svantaggi: la disponibilità, la sicurezza e la velocità effettiva dei dati della connessione dipendono dalla VM intermediaria, che devi gestire nell'ambito del tuo progetto.
Connettiti tramite IAP
Utilizzando Identity-Aware Proxy (IAP), puoi connetterti in modo sicuro alla tua istanza Cloud SQL senza dover esporre l'indirizzo IP interno della VM intermediaria. Utilizzi una combinazione di regole firewall e Identity and Access Management (IAM) per limitare l'accesso tramite questo percorso. Ciò 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 intermediaria che si trova nel VPC. Il client crea un tunnel SSH per 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 client esterno, installa gcloud CLI.
Sulla VM intermedia, scarica e installa il proxy di autenticazione Cloud SQL.
Sulla 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 tuo progetto con la regoladefault-allow-ssh
precompilata attivata, non devi definire una regola aggiuntiva.Configura l'inoltro delle porte 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.
Connessione tramite un proxy SOCKS
L'esecuzione di un servizio SOCKS sulla VM intermedia fornisce una connessione flessibile e scalabile all'istanza Cloud SQL, con la crittografia end-to-end fornita dal proxy di autenticazione Cloud SQL.
Per saperne di più sull'utilizzo di un proxy SOCKS per connetterti all'istanza Cloud SQL, consulta Connessione tramite un proxy intermedio (SOCKS5).
Connettersi tramite un pooler
Se devi installare ed eseguire il proxy di autenticazione Cloud SQL sulla VM intermedia, anziché su un client esterno, puoi attivare connessioni sicure associandolo a un proxy compatibile con il protocollo, noto anche come pooler. Un pooler open source popolare per SQL Server è ADO.NET.
In questa soluzione, esegui sia il proxy di autenticazione Cloud SQL sia il pooler sulla VM intermediaria. Il client o l'applicazione possono quindi connettersi in modo sicuro direttamente al pooler tramite SSL, senza la necessità di eseguire servizi aggiuntivi. Il pooler si occupa di passare 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 proxy può comunicare con una sola istanza specifica: l'istanza primaria, quella di standby o un pool di lettura. Pertanto, per ogni istanza devi eseguire un servizio di pooling separato con un certificato SSL configurato in modo appropriato.
Connettiti tramite Cloud VPN o Cloud Interconnect
Per il lavoro di produzione che richiede alta disponibilità (HA), consigliamo l'utilizzo di un prodotto Google Cloud Network Connectivity, come Cloud VPN o Cloud Interconnect, a seconda delle esigenze del servizio esterno e della topologia di rete. Poi configuri Cloud Router per annunciare le route appropriate.
Per scoprire di più sulle soluzioni di connettività di rete, consulta Scegliere un prodotto di connettività di rete.
Passaggi successivi
- Scopri di più sull'IP privato.
- Scopri di più sull'accesso ai servizi privati 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.