Panoramica dell'accesso privato ai servizi in Cloud SQL

Questo documento spiega in che modo l'accesso privato ai servizi fornisce la connettività IP privata per Cloud SQL e tratta l'allocazione degli indirizzi IP, le considerazioni sulla rete e sulla sicurezza e la connettività multi-VPC.

L'accesso privato ai servizi viene implementato come una connessione di peering di rete VPC tra la rete VPC e la rete VPC del fornitore di servizi in cui risiede l'istanza Cloud SQL. Questa connessione di networking privato consente alle istanze VM nella rete VPC e ai Google Cloud servizi a cui accedi di comunicare esclusivamente utilizzando indirizzi IP privati con l'istanza Cloud SQL. Le istanze VM non richiedono l'accesso a internet o indirizzi IP esterni per raggiungere i servizi disponibili tramite l'accesso privato ai servizi.

Indirizzi IP

Per utilizzare l'accesso privato ai servizi in una rete VPC, è necessario che siano disponibili uno o più intervalli di indirizzi IP per il VPC (per ulteriori informazioni sugli indirizzi IP, consulta Indirizzi IP). Questi intervalli devono essere sufficientemente grandi per Cloud SQL e per tutti gli altri Google Cloud servizi gestiti che prevedi di utilizzare. Cloud SQL e altri Google Cloud servizi richiedono ciascuno blocchi IP dedicati dagli intervalli allocati. La dimensione minima per questi blocchi è di 256 indirizzi (lunghezza del prefisso /24), anche se la dimensione consigliata è di 65.536 indirizzi (lunghezza del prefisso /16).

Se intendi creare istanze in più regioni o per diversi tipi di database, devi avere a disposizione almeno un intervallo di indirizzi IP /24 per ogni regione o tipo di database. Sono incluse altre applicazioni come Filestore o Memorystore.

Quando configuri l'accesso privato ai servizi, puoi selezionare un intervallo esistente o allocarne uno nuovo. Se consenti a Google Cloud di allocare l'intervallo per te, come descritto nella sezione successiva, allora Google Cloud alloca un intervallo di lunghezza del prefisso /24 con il nome default-ip-range.

Quando utilizzare intervalli CIDR separati

Poiché Cloud SQL utilizza gli intervalli CIDR /24 come unità di intervallo IP, esistono diverse condizioni in cui sono necessari intervalli /24 separati.

  • Separazione regionale: se crei due istanze Cloud SQL in due regioni separate, devi allocare almeno due intervalli CIDR /24 separati. Ogni unità di intervallo IP può essere utilizzata solo per le istanze Cloud SQL all'interno di una singola regione.
  • Separazione forzata dell'architettura di rete: le istanze create utilizzando il flag --enforce-new-sql-network-architecture (o il campo API equivalente) non possono condividere la stessa unità di intervallo IP con le istanze nello stesso progetto che utilizzano la vecchia architettura di rete. Le istanze create con la nuova architettura di rete richiedono intervalli /24 dedicati in ogni regione.

Esempio di accesso privato ai servizi

In questo esempio, la rete VPC ha allocato l'intervallo di indirizzi 10.240.0.0/16 per Google Cloud i servizi e ha stabilito una connessione privata utilizzando questo intervallo. Ogni Google Cloud servizio (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.

Il diagramma illustra i seguenti aspetti della configurazione dell'accesso privato ai servizi:

  • Alla connessione privata viene assegnato l'intervallo allocato 10.240.0.0/16. Utilizzando questa allocazione, Google Cloud i servizi possono creare subnet in cui viene eseguito il provisioning di nuove risorse.
  • Sul lato dei Google Cloud servizi 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 addebitati solo i costi per le risorse di cui esegue il provisioning.
  • Ogni Google Cloud servizio crea una subnet in cui eseguire il provisioning delle risorse. L'intervallo di indirizzi IP della subnet è in genere un blocco di routing interdominio senza classi (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 regionali esistenti create in precedenza da quel 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 del 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.
  • I costi di trasferimento dei dati in uscita per il traffico tra regioni, in cui un'istanza VM comunica con le 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 sulla rete del producer di servizi. Dopo che la richiesta raggiunge la rete di servizi, quest'ultima contiene route che indirizzano la richiesta alla risorsa corretta.
  • Il traffico tra le reti VPC avviene internamente alla Google Cloud rete, non tramite internet pubblico.

Considerazioni sulla rete

Cloud SQL alloca una subnet /24 dall'intervallo IP di accesso privato ai servizi per ogni regione. Ad esempio, se inserisci le istanze MySQL in due regioni, gli intervalli di indirizzi IP allocati devono includere almeno due subnet disponibili di dimensioni /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 attraverso il proxy di autenticazione Cloud SQL.

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

Considerazioni sulla sicurezza

Il traffico tramite l'accesso privato ai servizi viene fornito con un determinato livello di crittografia. Per ulteriori informazioni, consulta Google Cloud Crittografia e autenticazione della rete virtuale.

Il Cloud SQL Auth Proxy può essere configurato per la connessione tramite l'accesso privato ai servizi e fornisce l'autenticazione utilizzando le credenziali IAM e la crittografia end-to-end utilizzando un certificato SSL/TLS rotante.

Se i tuoi requisiti di sicurezza richiedono certificati SSL/TLS autogestiti 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 di rete migliore rispetto all'inserimento di tutte le istanze nella rete VPC "default".

Connettività multi-VPC

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 della propria rete VPC, denominata Cloud SQL VPC. L'abilitazione dell'IP privato richiede la configurazione di una connessione di peering tra Cloud SQL VPC 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 Cloud SQL VPC.

Utilizzando il peering di rete VPC, Cloud SQL implementa internamente l'accesso privato ai servizi, il che consente agli indirizzi IP interni di connettersi a 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, non potrà accedere alle risorse Cloud SQL utilizzando la connessione configurata con il VPC originale.

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

  • Connessione tramite route pubblicizzate personalizzate
  • Connessione tramite un proxy intermedio (SOCKS5)
  • Connessione tramite il proxy di autenticazione Cloud SQL come servizio

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

Passaggi successivi