Scopri di più sull'utilizzo dell'IP privato

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 il networking di Cloud SQL, consulta Soluzioni di rete semplificate.

Panoramica

La configurazione di un'istanza Cloud SQL per l'utilizzo dell'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 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 dover passare attraverso internet o utilizzare indirizzi IP esterni. Per questo motivo, l'IP privato offre una latenza di rete inferiore rispetto all'IP pubblico.

Per connetterti alle istanze Cloud SQL, devi utilizzare l'accesso privato ai servizi:

Puoi connetterti a indirizzi IP privati in più regioni. Puoi anche connetterti tramite un VPC condiviso tra 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 opportuno 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 allocato.

Dimensione dell'intervallo allocato

Alloca intervalli IP sufficientemente ampi per Cloud SQL e altri servizi gestiti Google che intendi utilizzare. Ognuno di questi 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
/2425650
/23512100
/221024200
/212048400
/204096800

Cloud SQL utilizza intervalli CIDR di /24 come unità di intervallo e ogni unità può essere utilizzata solo per le istanze Cloud SQL in una singola regione. Quindi, anche se verranno create solo due istanze Cloud SQL, ma in regioni diverse devono essere presenti almeno 2 /24 intervalli CIDR.

Inoltre, se un progetto è stato avviato 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 devono averne una in ogni regione. I progetti più recenti non sono soggetti a questa limitazione.

Configurare l'accesso privato ai servizi per la rete

Quando configuri per la prima volta la connettività con IP privato 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 aggiornare anche vpc-peerings.

Requisiti per l'IP privato

Per utilizzare l'IP privato, l'ambiente di rete e dell'applicazione deve soddisfare i requisiti seguenti. Inoltre, la prima configurazione dell'IP privato richiede autorizzazioni IAM aggiuntive.

Requisiti dell'ambiente applicativo

  • Se esegui la connessione da GKE, devi eseguire GKE 1.8 o versioni successive su un cluster native VPC.

Requisiti di 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 avere le seguenti autorizzazioni IAM. Se l'utente non dispone delle autorizzazioni necessarie, puoi visualizzare 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, ad esempio le istanze Cloud SQL.

Panoramica del diagramma della configurazione dell'IP privato.

  • Alla connessione privata è 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 della connessione privata, Google crea un progetto per il cliente. Il progetto è isolato, vale a dire che nessun altro cliente lo condivide e al cliente vengono addebitate 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 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 subnet regionali esistenti create in precedenza dal servizio. Se una subnet è piena, 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 le supporta. Alcuni servizi potrebbero non supportare la comunicazione tra regioni. Per ulteriori informazioni, visualizza la documentazione del servizio pertinente.
  • I costi di trasferimento dati in uscita per il traffico tra regioni, in cui un'istanza VM comunica con risorse in una regione diversa, vengono comunque applicati.
  • 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, la rete di servizi contiene route che indirizzano la richiesta alla risorsa corretta.
  • Il traffico tra le reti VPC viaggia all'interno della rete Google e non attraverso 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 delle istanze SQL Server 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 utilizzando 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 passare per il proxy di autenticazione Cloud SQL.

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

Sicurezza

Il traffico sull'accesso privato ai servizi è fornito con un determinato livello di crittografia. Per maggiori 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 mediante credenziali IAM e la crittografia end-to-end mediante un certificato SSL/TLS a rotazione.

Se i tuoi requisiti di sicurezza impongono l'utilizzo di 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 fornisce un migliore isolamento di 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), denominato VPC Cloud SQL. L'abilitazione dell'IP privato richiede la configurazione di una connessione in peering tra il VPC di Cloud SQL e la tua rete VPC. In questo modo, le risorse nella tua rete VPC possono 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 l'accesso privato ai servizi internamente, consentendo agli indirizzi IP interni di connettersi tra 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 route tra i due VPC collegati direttamente in peering. Se disponi di un VPC aggiuntivo, non potrai accedere alle risorse Cloud SQL utilizzando la connessione configurata con il VPC originale.

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

  • Esegui il collegamento utilizzando annunci di route personalizzati
  • 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 IP privati

Quando gestisci le 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 ai servizi privati.
Rimuovere un IP privato Dopo aver configurato un'istanza Cloud SQL per l'utilizzo dell'IP privato, non puoi rimuovere la funzionalità dell'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 creazione. Puoi anche configurare un'istanza esistente per utilizzare l'IP privato. La configurazione di un'istanza esistente per l'utilizzo dell'IP privato o la modifica della rete a cui è connessa comporta il riavvio dell'istanza, con un 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 il proprio 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 è necessario creare una connessione privata VPC aggiuntiva per la replica poiché viene ereditata anche dall'istanza principale.
Il proxy di autenticazione Cloud SQL Per connettersi 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, il proxy di autenticazione Cloud SQL utilizza per impostazione predefinita l'IP pubblico. Per assicurarti che utilizzi un 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 di App Engine, Cloud Run o Cloud Functions, l'applicazione o la 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, il peering di rete VPC non viene creato in modo esplicito, poiché il peering è interno a Google Cloud. Dopo aver creato la connessione di accesso privato ai servizi, puoi vederne il 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 ridurre il rischio di esfiltrazione di dati. Con i Controlli di servizio VPC, puoi creare perimetri intorno 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 di un progetto possono connettersi alle istanze Cloud SQL in più progetti utilizzando VPC condiviso condivise.

Spostamento delle istanze Cloud SQL Le istanze Cloud SQL possono essere spostate solo tra 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