Questa pagina fornisce informazioni sull'utilizzo dell'IP privato con Cloud SQL. Per istruzioni dettagliate sulla configurazione di un'istanza Cloud SQL per l'utilizzo dell'IP privato, consulta Configurazione dell'IP privato.
Per le soluzioni Terraform per la rete Cloud SQL, consulta Soluzioni di configurazione di Networking cloud semplificato.
Panoramica
La configurazione di un'istanza Cloud SQL per l'utilizzo di un IP privato richiede l'accesso privato ai servizi. L'accesso privato ai servizi consente di creare connessioni private tra la tua rete VPC e la rete VPC del producer di servizi Google Cloud sottostante. Le entità Google Cloud che offrono servizi, come Cloud SQL, sono chiamate produttori di servizi. Ogni servizio Google Cloud crea una subnet in cui eseguire il provisioning delle risorse. L'intervallo di indirizzi IP della subnet è in genere un blocco CIDR /24 scelto dal servizio e proviene dall'intervallo di indirizzi IP allocato.
Le connessioni private rendono i servizi raggiungibili senza passare da internet o utilizzare indirizzi IP esterni. Per questo motivo, l'IP privato offre una latenza di rete inferiore rispetto all'IP pubblico.
Utilizzi l'accesso privato ai servizi per connetterti alle istanze Cloud SQL:
Da origini interne con accesso alla tua rete VPC.
Da origini esterne tramite un tunnel VPN, un tunnel SSH inverso o un Cloud Interconnect alla tua rete VPC.
Puoi connetterti a indirizzi IP privati in più regioni. Puoi anche eseguire il collegamento tra i progetti utilizzando una rete VPC condivisa.
Intervalli di indirizzi IP allocati
Per utilizzare le istanze Cloud SQL in una rete VPC con IP privato, devi allocare intervalli di indirizzi IP per configurare l'accesso privato ai servizi per questa VPC. Per organizzare le istanze Cloud SQL, ti consigliamo di allocare più intervalli di indirizzi IP per la connessione privata. Quando configuri un'istanza Cloud SQL per IPv privato, puoi selezionare sia la rete VPC sia l'intervallo di indirizzi IP allocati.
Dimensione dell'intervallo assegnato
Assegna intervalli IP sufficientemente ampi per Cloud SQL e per gli altri servizi gestiti Google Cloud che prevedi di utilizzare. Ogni servizio richiede blocchi IP dedicati dagli intervalli allocati. La dimensione minima è un singolo blocco /24 (256 indirizzi), ma la dimensione consigliata è un blocco /16 (65.536 indirizzi).
Quando allochi un intervallo di indirizzi IP, devi prendere in considerazione il numero di istanze che prevedi di creare.
Subnet mask | Indirizzi | Istanze Cloud SQL utilizzabili |
---|---|---|
/24 | 256 | 50 |
/23 | 512 | 100 |
/22 | 1024 | 200 |
/21 | 2048 | 400 |
/20 | 4096 | 800 |
Cloud SQL utilizza gli intervalli CIDR /24 come unità di intervallo e ogni unità può essere utilizzata solo per le istanze Cloud SQL in un'unica regione. Ad esempio, se crei due istanze Cloud SQL, ma per due regioni diverse, devono essere presenti almeno due intervalli CIDR /24.
Inoltre, se un progetto ha iniziato a utilizzare Cloud SQL prima del 1° aprile 2021, le istanze Postgres non possono condividere la stessa unità di intervallo con le istanze MySQL e SQL Server e hanno bisogno di una propria unità in ogni regione. I progetti più recenti non sono soggetti a questa limitazione.
Configurare l'accesso ai servizi privati per la rete
Quando configuri la connettività IP privata per la prima volta su una rete VPC specifica, devi eseguire una procedura una tantum per configurare l'accesso privato ai servizi per Cloud SQL.
Dopo aver stabilito l'accesso privato ai servizi, puoi creare un'istanza Cloud SQL configurata per l'utilizzo di un IP privato o configurare un IP privato per un'istanza Cloud SQL esistente. Per istruzioni dettagliate, consulta Configurazione dell'IP privato.
Ogni volta che modifichi una connessione stabilita, devi anche
aggiornare vpc-peerings
.
Requisiti per l'IP privato
Per utilizzare l'IP privato, l'ambiente di rete e dell'applicazione deve soddisfare i seguenti requisiti. Inoltre, la configurazione dell'IP privato per la prima volta richiede autorizzazioni IAM aggiuntive.
Requisiti dell'ambiente di applicazione
- Se ti connetti da GKE, devi eseguire GKE 1.8 o versioni successive su un cluster native per VPC.
Requisiti relativi ad API e IAM
- Devi abilitare l' API Service Networking per il tuo progetto.
- Per gestire una connessione di accesso privato ai servizi, l'utente deve disporre delle seguenti autorizzazioni IAM. Se l'utente non dispone delle autorizzazioni richieste, potresti ricevere errori relativi a autorizzazioni insufficienti.
compute.networks.list
compute.addresses.create
compute.addresses.list
servicenetworking.services.addPeering
Se utilizzi una rete VPC condivisa, devi anche aggiungere lo stesso utente e assegnare le stesse autorizzazioni al progetto host.
Se utilizzi una rete VPC condivisa, devi anche attivare l'API Service Networking per il progetto host.
Esempio
Nell'esempio seguente, la rete VPC del cliente ha allocato l'intervallo di indirizzi 10.240.0.0/16
per i servizi Google Cloud e ha stabilito una connessione privata che utilizza l'intervallo allocato. Ogni servizio Google Cloud (ad esempio Cloud SQL) crea una sottorete dal blocco allocato per il provisioning di nuove risorse in una determinata regione, ad esempio le istanze Cloud SQL.
- Alla connessione privata viene assegnato l'intervallo
10.240.0.0/16
allocato. Da questa allocazione, i servizi Google Cloud possono creare sottoreti in cui viene eseguito il provisioning di nuove risorse. - Sul lato dei servizi Google Cloud della connessione privata, Google Cloud crea un progetto per il cliente. Il progetto è isolato, il che significa che nessun altro cliente lo condivide e al cliente vengono fatturate solo le risorse che provisiona.
- Ogni servizio Google Cloud crea una subnet in cui eseguire il provisioning delle risorse. L'intervallo di indirizzi IP della subnet è in genere un blocco CIDR di
/24
scelto dal servizio e proveniente dall'intervallo di indirizzi IP allocato. Non puoi modificare la subnet del producer di servizi. Un servizio esegue il provisioning di nuove risorse nelle sottoreti regionali esistenti create in precedenza dal servizio. Se una subnet è completa, il servizio ne crea una nuova nella stessa regione. - Le istanze VM nella rete del cliente possono accedere alle risorse di servizio in qualsiasi regione se il servizio lo supporta. Alcuni servizi potrebbero non supportare la comunicazione tra regioni. Per ulteriori informazioni, consulta la documentazione del servizio pertinente.
- Si applicano comunque i costi di trasferimento di dati in uscita per il traffico tra regioni, quando un'istanza VM comunica con risorse in una regione diversa.
- All'istanza Cloud SQL viene assegnato l'indirizzo IP
10.240.0.2
. Nella rete VPC del cliente, le richieste con destinazione10.240.0.2
vengono inoltrate alla connessione privata sulla rete del producer di servizi. Dopo aver raggiunto la rete di servizi, questa contiene i percorsi che indirizzano la richiesta alla risorsa corretta. - Il traffico tra le reti VPC viene inoltrato internamente all'interno della rete di Google Cloud, non tramite la rete internet pubblica.
Problemi di rete
Cloud SQL alloca una subnet /24 dall'intervallo IP di accesso ai servizi privati per ogni regione. Ad esempio, il posizionamento di istanze MySQL in due regioni richiede che gli intervalli di indirizzi IP allocati includano almeno due subnet disponibili di dimensione /24.
Le connessioni a un'istanza Cloud SQL che utilizzano un indirizzo IP privato sono autorizzate automaticamente per gli intervalli di indirizzi RFC 1918. In questo modo, tutti i client privati possono accedere al database senza passare per il proxy di autenticazione Cloud SQL.
Per impostazione predefinita, Cloud SQL non apprende le route delle subnet non RFC 1918 dalla VPC. Devi aggiornare il peering di rete con Cloud SQL per esportare eventuali route non RFC 1918.
Sicurezza
Il traffico tramite l'accesso ai servizi privati è fornito con un determinato livello di crittografia. Per ulteriori informazioni, consulta Crittografia e autenticazione della rete virtuale di Google Cloud.
Il proxy di autenticazione Cloud SQL può essere configurato per la connessione tramite IP privato e fornisce l'autenticazione utilizzando le credenziali IAM e la crittografia end-to-end utilizzando un certificato SSL/TLS con rotazione.
Se i tuoi requisiti di sicurezza richiedono certificati SSL/TLS con gestione indipendente che gestisci, consulta le istruzioni in Configurazione di SSL/TLS.
La creazione di una rete VPC per ogni istanza con un indirizzo IP privato offre un isolamento della rete migliore rispetto all'inserimento di tutte le istanze nella rete VPC "predefinita".
Connettività di più VPC
Cloud SQL supporta gli indirizzi IP privati tramite accesso ai servizi privati. Quando crei un'istanza Cloud SQL, Cloud SQL la crea all'interno del proprio Virtual Private Cloud (VPC), chiamato VPC Cloud SQL. L'attivazione dell'IP privato richiede la configurazione di una connessione in peering tra la VPC Cloud SQL e la tua rete VPC. In questo modo, le risorse nella tua rete VPC possono accedere agli indirizzi IP interni delle risorse Cloud SQL nella rete VPC Cloud SQL.
Utilizzando il peering di rete VPC, Cloud SQL implementa internamente l'accesso ai servizi privati, che consente agli indirizzi IP interni di connettersi su due reti VPC indipendentemente dal fatto che appartengano allo stesso progetto o alla stessa organizzazione. Tuttavia, poiché il peering di rete VPC non è transitivo, trasmette solo le route tra i due VPC in peering diretto. Se hai un VPC aggiuntivo, questo non potrà accedere alle risorse Cloud SQL utilizzando la connessione configurata con il VPC originale.
Per mitigare questa limitazione e connettere l'istanza Cloud SQL a più VPC utilizzando indirizzi IP privati, puoi utilizzare le seguenti opzioni di connessione:
- Effettuare la connessione utilizzando route annunciate personalizzate
- Connettiti utilizzando un proxy intermedio (SOCKS5)
- Eseguire la connessione utilizzando il proxy di autenticazione Cloud SQL come servizio
Per ulteriori informazioni su come connettere più VPC, consulta Connetti l'istanza a più VPC.
Riferimento rapido per gli argomenti IP privato
Quando gestisci le istanze Cloud SQL utilizzando l'IP privato, alcuni dei seguenti argomenti potrebbero essere di tuo interesse:
Argomento | Discussione |
---|---|
Reti VPC condivise | Puoi creare istanze Cloud SQL con indirizzi IP privati in una rete VPC condivisa. Tuttavia, non puoi assegnare un indirizzo IP privato in una rete VPC condiviso a un'istanza Cloud SQL esistente. |
Regioni | Puoi connetterti tramite IP privato tra regioni. |
Reti precedenti | Non puoi connetterti all'IP privato di un'istanza Cloud SQL da una rete precedente. Le reti legacy non supportano il peering di rete VPC o l'accesso ai servizi privati. |
Rimozione di un IP privato | Dopo aver configurato un'istanza Cloud SQL per l'utilizzo dell'IP privato, non puoi rimuovere la funzionalità di IP privato da quell'istanza. |
IP pubblico e privato | Puoi utilizzare sia l'IP pubblico sia l'IP privato per connetterti alla stessa istanza Cloud SQL. Nessuno dei due metodi di connessione influisce sull'altro. |
Istanze Cloud SQL esistenti | Puoi configurare un'istanza in modo che utilizzi l'IP privato al momento della sua creazione. Puoi anche configurare un'istanza esistente per l'utilizzo di un IP privato. La configurazione di un'istanza esistente per l'utilizzo di un IP privato o la modifica della rete a cui è collegata causa il riavvio dell'istanza, con un conseguente tempo di inattività di alcuni minuti. |
Indirizzi IP statici | Per gli indirizzi IP pubblici e privati, l'indirizzo in entrata dell'istanza Cloud SQL è statico e non cambia. L'indirizzo in uscita non è sempre statico, ad eccezione degli indirizzi IP pubblici in uscita delle repliche del server esterno, che sono sempre statici. |
Repliche | Una replica eredita lo stato dell'IP privato dall'istanza principale. Non puoi configurare l'IP privato direttamente su una replica. Se ti connetti a una replica utilizzando un indirizzo IP privato, non è necessario creare un'ulteriore connessione privata VPC per la replica, in quanto viene ereditata anche dall'istanza principale. |
Il proxy di autenticazione Cloud SQL | Per connetterti a un'istanza Cloud SQL utilizzando un IP privato, il proxy di autenticazione Cloud SQL deve trovarsi su una risorsa con accesso alla stessa rete VPC dell'istanza. Se nell'istanza sono abilitati entrambi i tipi di IP, per impostazione predefinita il proxy di autenticazione Cloud SQL utilizza l'IP pubblico. Per assicurarti che utilizzi l'IP privato, devi passare il flag -ip_address_types=PRIVATE a Cloud SQL Auth Proxy.
Scopri di più. |
Accesso VPC serverless | Per connetterti da un'origine serverless, ad esempio l'ambiente standard App Engine, Cloud Run o le funzioni Cloud Run, la tua applicazione o funzione si connette direttamente all'istanza tramite l'accesso VPC serverless senza il proxy di autenticazione Cloud SQL. |
Peering di rete VPC | Una connessione che utilizza l'accesso privato ai servizi si basa sul peering di rete VPC. Tuttavia, non crei il peering di rete VPC
esplicitamente, perché il peering è interno a Google Cloud. Dopo aver creato la connessione di accesso ai servizi privati, puoi visualizzare il peering della rete VPC sottostante nella
pagina Peering della rete VPC della console Google Cloud, ma non eliminarlo a meno che tu non voglia
rimuoverla.
Scopri di più sul peering di rete VPC. |
Controlli di servizio VPC | I Controlli di servizio VPC migliorano la tua capacità di mitigare il rischio di esfiltrazione di dati. Con i Controlli di servizio VPC, crei perimetri attorno all'istanza Cloud SQL. I Controlli di servizio VPC limitano l'accesso alle risorse all'interno del perimetro dall'esterno. Solo i client e le risorse all'interno del perimetro possono interagire tra loro. Per ulteriori informazioni, consulta la Panoramica dei Controlli di servizio VPC. Consulta anche le limitazioni di Cloud SQL quando utilizzi i Controlli di servizio VPC. Per utilizzare i Controlli di servizio VPC con Cloud SQL, consulta Configurazione dei Controlli di servizio VPC. |
Peering transitivo | Solo le reti in peering diretto possono comunicare. Il peering transitivo non è supportato. In altre parole, se la rete VPC N1 è in peering con N2 e N3, ma N2 e N3 non sono connesse direttamente, la rete VPC N2 non può comunicare con la rete VPC N3 tramite il
peering di rete VPC.
I client di un progetto possono connettersi alle istanze Cloud SQL di più progetti utilizzando le VPC condiviso condivise. |
Spostamento delle istanze Cloud SQL | Le istanze Cloud SQL possono essere spostate solo tra reti di proprietà del progetto in cui si trovano. Inoltre, le istanze Cloud SQL non possono essere spostate da un progetto all'altro né da una rete all'altra ospitata da progetti diversi. |
Passaggi successivi
- Scopri come configurare l'IP privato.
- Scopri di più sull'accesso ai servizi privati.
- Scopri come configurare l'accesso privato ai servizi per le istanze Cloud SQL.
- Scopri di più su Cloud VPN.
- Scopri di più sulle reti VPC.
- Scopri di più sul peering di rete VPC.
- Scopri di più sulla VPC condivisa.
- Scopri di più sul proxy di autenticazione Cloud SQL.