Scopri di più sull'utilizzo dell'IP privato

Questa pagina fornisce informazioni sull'uso 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 il networking Cloud SQL, vedi Soluzioni di networking semplificate.

Panoramica

Per configurare un'istanza Cloud SQL per utilizzare l'IP privato è necessario l'accesso privato ai servizi. L'accesso privato ai servizi consente di creare connessioni private tra la rete VPC e la rete VPC del producer di servizi Google sottostante. Le entità di Google che offrono servizi, come Cloud SQL, sono chiamate producer di servizi. Ogni servizio Google 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 connettersi a internet o utilizzare indirizzi IP esterni. Per questo motivo, l'IP privato fornisce una latenza di rete inferiore rispetto all'IP pubblico.

Puoi utilizzare l'accesso privato ai servizi per connetterti alle istanze Cloud SQL:

Puoi connetterti a indirizzi IP privati in più regioni. Puoi anche connetterti tramite un VPC condiviso tra i progetti.

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 questo VPC. Per organizzare le istanze Cloud SQL, può essere utile allocare più intervalli di indirizzi IP per la connessione privata. Quando configuri un'istanza Cloud SQL per l'IP privato, puoi selezionare sia la rete VPC sia l'intervallo di indirizzi IP allocati.

Dimensione intervallo allocato

Alloca intervalli IP sufficientemente grandi per Cloud SQL e altri servizi gestiti di Google che prevedi di utilizzare, ciascuno di essi richiederebbe 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
/2425650
/23512100
/221024200
/212048400
/204096800

Cloud SQL utilizza intervalli CIDR /24 come unità di intervallo e ogni unità può essere utilizzata solo per istanze Cloud SQL in una singola regione. Ad esempio, se crei due istanze Cloud SQL, ma per due regioni diverse, devono esserci 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 istanze MySQL e SQL Server e ne hanno bisogno in ogni regione. I progetti più recenti non sono soggetti a questa limitazione.

Configura l'accesso privato ai servizi per la tua rete

Quando configuri la connettività con IP privato 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 utilizzare l'IP privato o configurare l'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 delle applicazioni deve soddisfare i seguenti requisiti. Inoltre, la configurazione iniziale dell'IP privato richiede autorizzazioni IAM aggiuntive.

Requisiti dell'ambiente applicativo

  • Se ti connetti da GKE, devi eseguire GKE 1.8 o versioni successive su un cluster VPC-native.

Requisiti per API e IAM

  • Devi abilitare l' API Service Networking per il tuo progetto.
  • Se utilizzi una rete VPC condivisa, devi anche abilitare l'API Service Networking per il progetto host.

  • Per gestire una connessione di accesso privato ai servizi, l'utente deve disporre delle seguenti autorizzazioni IAM. Se l'utente non dispone delle autorizzazioni necessarie, puoi ricevere errori di 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.

Esempio

Nell'esempio seguente, la rete VPC del cliente ha allocato l'intervallo di indirizzi 10.240.0.0/16 per i servizi Google e ha stabilito una connessione privata che utilizza l'intervallo allocato. Ogni servizio Google (ad esempio Cloud SQL) crea una subnet dal blocco allocato per eseguire il provisioning di nuove risorse in una determinata regione, come le istanze Cloud SQL.

Panoramica dei diagrammi della configurazione dell'IP privato.

  • Alla connessione privata viene assegnato l'intervallo allocato 10.240.0.0/16. Da questa allocazione, i servizi Google possono creare subnet in cui viene eseguito il provisioning di nuove risorse.
  • Per quanto riguarda i servizi Google, nella connessione privata Google 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 di cui il cliente esegue il provisioning.
  • Ogni servizio Google 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. Non puoi modificare la subnet del producer di servizi. Un servizio esegue il provisioning di nuove risorse nelle subnet a livello di regione esistenti create in precedenza dal servizio. Se una subnet è piena, il servizio crea una nuova subnet nella stessa regione.
  • Le istanze VM nella rete del cliente possono accedere alle risorse di servizio in qualsiasi regione se il servizio le supporta. Alcuni servizi potrebbero non supportare le comunicazioni tra regioni. Per ulteriori informazioni, visualizza la documentazione del servizio pertinente.
  • Sono comunque applicabili i costi del trasferimento di dati in uscita per il traffico tra regioni diverse, quando un'istanza VM comunica con risorse in un'altra regione.
  • All'istanza Cloud SQL viene assegnato l'indirizzo IP 10.240.0.2. Nella rete VPC del cliente, le richieste con destinazione 10.240.0.2 vengono instradate alla connessione privata alla rete del producer di servizi. Dopo aver raggiunto la rete di servizi, quest'ultima contiene route che indirizzano la richiesta alla risorsa corretta.
  • Il traffico tra le reti VPC viaggia all'interno della rete Google, non attraverso la rete internet pubblica.

Problemi di rete

Cloud SQL alloca una subnet /24 dall'intervallo IP di accesso privato ai servizi per ogni regione. Ad esempio, per posizionare le istanze PostgreSQL in due regioni è necessario 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 vengono autorizzate automaticamente per gli intervalli di indirizzi RFC 1918. In questo modo tutti i client privati possono accedere al database senza usare il proxy di autenticazione Cloud SQL.

Cloud SQL non apprende le route di subnet non RFC 1918 dal tuo VPC per impostazione predefinita. Per esportare eventuali route non RFC 1918, devi aggiornare il peering di rete a Cloud SQL.

Sicurezza

Il traffico sull'accesso ai servizi privati prevede un determinato livello di crittografia. Per ulteriori informazioni, consulta Crittografia e autenticazione delle reti virtuali di Google Cloud.

Il proxy di autenticazione Cloud SQL può essere configurato per la connessione tramite IP privato e fornisce l'autenticazione mediante credenziali IAM e la crittografia end-to-end mediante un certificato SSL/TLS a rotazione.

Se i requisiti di sicurezza richiedono certificati SSL/TLS autogestiti che gestisci, consulta le istruzioni in Configurare SSL/TLS.

La creazione di una rete VPC per ogni istanza con un indirizzo IP privato offre un migliore isolamento della rete rispetto all'inserimento di tutte le istanze nella rete VPC "predefinita".

Connettività VPC multipla

Cloud SQL supporta gli indirizzi IP privati tramite l'accesso privato ai servizi. Quando crei un'istanza Cloud SQL, Cloud SQL la crea all'interno del proprio VPC (Virtual Private Cloud), chiamato VPC Cloud SQL. Per abilitare l'IP privato è necessario configurare una connessione in peering tra il VPC di Cloud SQL e la tua rete VPC. Ciò consente alle risorse della tua rete VPC di accedere agli indirizzi IP interni delle tue risorse Cloud SQL nella rete VPC di Cloud SQL.

Utilizzando il peering di rete VPC, Cloud SQL implementa internamente l'accesso privato ai servizi, che consente agli indirizzi IP interni di connettersi tra due reti VPC indipendentemente dalla loro appartenenza allo stesso progetto o alla stessa organizzazione. Tuttavia, poiché il peering di rete VPC non è transitivo, trasmette solo route tra i due VPC direttamente in peering. Se hai un VPC aggiuntivo, non sarà in grado di accedere alle tue risorse Cloud SQL utilizzando la connessione configurata con il VPC originale.

Per contenere questa limitazione e connettere l'istanza Cloud SQL a più VPC tramite indirizzi IP privati, puoi utilizzare le seguenti opzioni di connessione:

  • Connettiti utilizzando route annunciate personalizzate
  • Connettiti utilizzando un proxy intermedio (SOCKS5)
  • Connettiti utilizzando il proxy di autenticazione Cloud SQL come servizio

Per ulteriori informazioni su come connettere più VPC, consulta Connettere l'istanza a più VPC.

Riferimento rapido per gli argomenti relativi agli IP privati

Quando gestisci istanze Cloud SQL utilizzando l'IP privato, potrebbero interessarti alcuni dei seguenti argomenti:

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 legacy. Le reti legacy non supportano il peering di rete VPC o l'accesso privato ai servizi.
Rimozione di un IP privato Dopo aver configurato un'istanza Cloud SQL per utilizzare l'IP privato, non puoi rimuovere la funzionalità dell'IP privato da quell'istanza.
IP pubblico e privato Puoi utilizzare sia l'IP pubblico che l'IP privato per connetterti alla stessa istanza Cloud SQL. Nessuno dei due metodi di connessione interessa l'altro.
Istanze Cloud SQL esistenti Puoi configurare un'istanza in modo che utilizzi l'IP privato al momento della creazione dell'istanza. Puoi anche configurare un'istanza esistente in modo che utilizzi l'IP privato. La configurazione di un'istanza esistente in modo che utilizzi l'IP privato o la modifica della rete a cui è connessa comporta il riavvio dell'istanza, con conseguente 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 esterne, che sono sempre statici.
Repliche Una replica eredita lo stato di 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 devi creare una connessione privata VPC aggiuntiva per la replica, poiché viene ereditata anche dall'istanza principale.
Proxy di autenticazione Cloud SQL Per connettersi a un'istanza Cloud SQL utilizzando l'IP privato, il proxy di autenticazione Cloud SQL deve trovarsi su una risorsa con accesso alla stessa rete VPC dell'istanza. Se per l'istanza sono abilitati entrambi i tipi di IP, il proxy di autenticazione Cloud SQL utilizza per impostazione predefinita l'IP pubblico. Per assicurarti che venga utilizzato l'IP privato, devi passare il flag -ip_address_types=PRIVATE al proxy di autenticazione Cloud SQL. Scopri di più.
Accesso VPC serverless Per connetterti da un'origine serverless, come l'ambiente standard App Engine, Cloud Run o Cloud Functions, l'applicazione o la funzione si connettono direttamente all'istanza tramite l'accesso VPC serverless senza il proxy di autenticazione Cloud SQL.
Peering di rete VPC Una connessione che usa l'accesso privato ai servizi si basa sul peering di rete VPC. Tuttavia, non crei esplicitamente il peering di rete VPC, perché il peering è interno a Google Cloud. Dopo aver creato la connessione di accesso privato ai servizi, puoi vedere il relativo peering di rete VPC sottostante nella pagina Peering di rete VPC della console Google Cloud, ma non eliminarlo a meno che tu non voglia rimuovere la connessione privata.

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, puoi creare perimetri attorno all'istanza Cloud SQL. I Controlli di servizio VPC limitano l'accesso dall'esterno alle risorse all'interno del perimetro. 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. Esamina anche le limitazioni di Cloud SQL quando si utilizzano 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 in un progetto possono connettersi alle istanze Cloud SQL in più progetti utilizzando le VPC condiviso condivise.

Spostamento delle istanze Cloud SQL Le istanze Cloud SQL possono essere spostate solo tra le reti di proprietà del progetto in cui risiedono. Inoltre, le istanze Cloud SQL non possono essere spostate da un progetto all'altro né tra reti ospitate da progetti diversi.

Passaggi successivi