Puoi utilizzare il peering di rete VPC per consentire a Datastream di comunicare privatamente con le risorse nella tua rete Virtual Private Cloud (VPC) .
Il peering di rete VPC è una connessione tra la tua rete VPC e la rete privata di Datastream, che consente a Datastream di comunicare con le risorse interne utilizzando indirizzi IP interni. L'utilizzo della connettività privata stabilisce una connessione dedicata sulla rete Datastream, il che significa che nessun altro cliente può condividerla.
La connessione di peering di rete VPC tra la tua rete VPC e la rete VPC di Datastream consente a Datastream di connettersi a:
- Risorse come macchine virtuali (VM) e bilanciatori del carico interni nella tua rete VPC.
- Risorse in altre reti connesse alla tua rete VPC utilizzando tunnel Cloud VPN, collegamenti VLAN Dedicated Interconnect, collegamenti VLAN Partner Interconnect, e Cloud Router NCC.
La connessione di peering di rete VPC tra la tua rete VPC e la rete VPC di Datastream non consente a Datastream di connettersi a:
- Endpoint Private Service Connect che si trovano nella tua rete VPC.
- Risorse che si trovano in un'altra rete VPC, in peering con la tua rete VPC, ma non in peering con la rete VPC di Datastream. Questo perché il peering di rete VPC non fornisce routing transitivo.
Per stabilire la connettività tra Datastream e una risorsa accessibile solo dalla tua rete VPC, puoi utilizzare una VM NAT (Network Address Translation) nella tua rete VPC. Un caso d'uso comune per una VM NAT è quando Datastream deve connettersi a un'istanza Cloud SQL.
Questa pagina descrive un esempio di configurazione di VM NAT che consente a Datastream di connettersi privatamente a un'istanza Cloud SQL.

Prerequisiti per il peering VPC
Prima di creare una configurazione di connettività privata, devi eseguire i passaggi riportati in basso affinché Datastream possa creare la connessione di peering VPC al tuo progetto:
- Assicurati di avere una rete VPC che possa eseguire il peering con la rete privata di Datastream e che soddisfi i requisiti descritti nella pagina Peering di rete VPC. Per saperne di più sulla creazione di questa rete, consulta Utilizzo del peering di rete VPC.
- Identifica un intervallo IP disponibile (con un blocco CIDR di /29) nella rete VPC. Non può essere un intervallo IP già esistente come subnet, un intervallo IP preallocato per l'accesso privato ai servizi o qualsiasi route (diversa dalla route predefinita 0.0.0.0) che includa l'intervallo IP. L'intervallo IP non può sovrapporsi agli intervalli IP interni riservati da Datastream (
10.1.0.0/16e10.2.2.0/24). Datastream utilizza questo intervallo IP per creare una subnet in modo da poter comunicare con il database di origine. La tabella seguente descrive gli intervalli IP validi.
| Intervallo | Descrizione |
|---|---|
10.0.0.0/8172.16.0.0/12192.168.0.0/16
|
Indirizzi IP privati RFC 1918 |
100.64.0.0/10 |
Spazio di indirizzi condiviso RFC 6598 |
192.0.0.0/24 |
Assegnazioni di protocolli IETF RFC 6890 |
192.0.2.0/24 (TEST-NET-1)198.51.100.0/24 (TEST-NET-2)203.0.113.0/24 (TEST-NET-3) |
Documentazione RFC 5737 |
192.88.99.0/24 |
Relay da IPv6 a IPv4 (ritirato) RFC 7526 |
198.18.0.0/15 |
Test di benchmark RFC 2544 |
Assicurati che le risorse nella tua rete VPC che comunicano con Datastream (come VM NAT, bilanciatori del carico interni o database di origine e di destinazione) non utilizzino indirizzi IP negli intervalli
10.1.0.0/16o10.2.2.0/24. Questi intervalli sono riservati all'infrastruttura interna di Datastream e il loro utilizzo per le tue risorse può causare conflitti di routing e guasti di connettività imprevedibili.Verifica che il firewall on-premise consenta il traffico dall' intervallo IP selezionato. Google Cloud In caso contrario, crea una regola firewall in entrata che consenta il traffico sulla porta del database di origine e assicurati che l'intervallo di indirizzi IPv4 nella regola firewall sia lo stesso dell'intervallo di indirizzi IP allocato durante la creazione della risorsa di connettività privata:
gcloud compute firewall-rules create FIREWALL-RULE-NAME \ --direction=INGRESS \ --priority=PRIORITY \ --network=PRIVATE_CONNECTIVITY_VPC \ --project=VPC_PROJECT \ --action=ALLOW \ --rules=FIREWALL_RULES \ --source-ranges=IP-RANGE
Sostituisci quanto segue:
- FIREWALL-RULE-NAME: il nome della regola firewall da creare.
- PRIORITY: la priorità della regola, espressa come numero intero compreso tra 0 e 65535 inclusi. Il valore deve essere inferiore a quello impostato per la regola di blocco del traffico, se esiste. I valori di priorità più bassi implicano una precedenza più alta.
- PRIVATE_CONNECTIVITY_VPC: la rete VPC che può eseguire il peering con la rete privata di Datastream e che soddisfa i requisiti descritti nella pagina Peering di rete VPC. Questa è la rete VPC che specifichi quando crei la configurazione di connettività privata.
- VPC_PROJECT: il progetto della rete VPC.
- FIREWALL_RULES: l'elenco dei protocolli e delle porte a cui si applica la regola firewall, ad esempio
tcp:80. La regola deve consentire il traffico TCP all'indirizzo IP e alla porta del database di origine o del proxy. Poiché la connettività privata può supportare più database, la regola deve tenere conto dell'utilizzo effettivo della configurazione. IP-RANGE: l'intervallo di indirizzi IP che Datastream utilizza per comunicare con il database di origine. Questo è lo stesso intervallo che indichi nel campo Alloca un intervallo IP quando crei la configurazione di connettività privata.
Potresti anche dover creare una regola firewall in uscita identica per consentire il traffico di ritorno a Datastream.
Vengono assegnati a un ruolo che contiene l'autorizzazione
compute.networks.list. Questa autorizzazione ti fornisce le autorizzazioni IAM necessarie per elencare le reti VPC nel tuo progetto. Puoi trovare i ruoli che contengono questa autorizzazione consultando la documentazione di riferimento sulle autorizzazioni IAM.
Prerequisiti per il VPC condiviso
Se utilizzi il VPC condiviso, devi completare le seguenti azioni oltre ai passaggi descritti nella sezione Prerequisiti per la rete VPC:
Nel progetto di servizio:
- Attiva l'API Datastream.
Recupera l'indirizzo email utilizzato per il service account Datastream service account. I service account Datastream vengono creati quando esegui una delle seguenti operazioni:
- Crei una risorsa Datastream, ad esempio un profilo di connessione o un flusso.
- Crei una configurazione di connettività privata, selezioni il VPC condiviso e fai clic su Crea service account Datastream. Il account di servizio viene creato nel progetto host.
Per recuperare l'indirizzo email utilizzato per il account di servizio Datastream, individua il numero di progetto nella Google Cloud home page della console. L'indirizzo email del account di servizio è
service-[project_number]@gcp-sa-datastream.iam.gserviceaccount.com.
Nel progetto host:
Concedi l'autorizzazione del ruolo IAM (Identity and Access Management)
compute.networkAdminal account di servizio Datastream. Questo ruolo è necessario solo quando crei il peering VPC. Una volta stabilito il peering, non hai più bisogno del ruolo.Se la tua organizzazione non consente di concedere l'autorizzazione, crea un ruolo personalizzato con le seguenti autorizzazioni minime per creare ed eliminare le risorse di connessione privata:
Per saperne di più sui ruoli personalizzati, consulta Creare e gestire ruoli personalizzati.
Configurare una VM NAT
Identifica l'indirizzo IP dell'istanza Cloud SQL a cui Datastream deve connettersi.
Identifica la tua rete VPC. Questa è la rete VPC connessa alla rete VPC di Datastream tramite il peering di rete VPC.
Se non l'hai già fatto, crea una configurazione di connettività privata in Datastream. Viene creata la connessione di peering di rete VPC che collega la tua rete VPC e la rete VPC di Datastream. Prendi nota dell'intervallo di indirizzi IP utilizzato dalla configurazione di connettività privata di Datastream.
Scegli un tipo di macchina da utilizzare per la VM NAT che crei nel passaggio successivo. Google Cloud applica un limite di larghezza di banda in uscita massima per istanza, per i pacchetti instradati dagli hop successivi all'interno di una rete VPC, in base al tipo di macchina dell'istanza VM. Per saperne di più, consulta Traffico in uscita verso destinazioni instradabili all'interno di una rete VPC e Larghezza di banda in uscita massima per istanza.
Crea la VM NAT nella tua rete VPC. Quando crei la VM, devi abilitare l'inoltro IP. Per saperne di più, consulta Abilitare l'inoltro IP per le istanze.
Se la tua rete VPC è una rete VPC condiviso, puoi creare la VM NAT nel progetto host o in qualsiasi progetto di servizio, a condizione che l'interfaccia di rete della VM NAT si trovi nella rete VPC condiviso.
- Per ridurre al minimo il tempo di round trip della rete, crea la VM NAT nella stessa regione di Datastream.
- Questo esempio presuppone che la VM NAT abbia una singola interfaccia di rete.
- Esegui lo script in una distribuzione Linux, ad esempio Debian 12.
- Utilizza il seguente script di avvio. Lo script di avvio viene eseguito da root ogni volta che la VM viene avviata. Questo script include commenti che spiegano cosa fa ogni riga dello script. Nello script, sostituisci CLOUD_SQL_INSTANCE_IP con l'indirizzo IP dell'istanza Cloud SQL e DATABASE_PORT con la porta di destinazione utilizzata dal software del database.
#! /bin/bash export DB_ADDR=CLOUD_SQL_INSTANCE_IP export DB_PORT=DATABASE_PORT # Enable the VM to receive packets whose destinations do # not match any running process local to the VM echo 1 > /proc/sys/net/ipv4/ip_forward # Ask the Metadata server for the IP address of the VM nic0 # network interface: md_url_prefix="http://169.254.169.254/computeMetadata/v1/instance" vm_nic_ip="$(curl -H "Metadata-Flavor: Google" ${md_url_prefix}/network-interfaces/0/ip)" # Clear any existing iptables NAT table entries (all chains): iptables -t nat -F # Create a NAT table entry in the prerouting chain, matching # any packets with destination database port, changing the destination # IP address of the packet to the SQL instance IP address: iptables -t nat -A PREROUTING \ -p tcp --dport $DB_PORT \ -j DNAT \ --to-destination $DB_ADDR # Create a NAT table entry in the postrouting chain, matching # any packets with destination database port, changing the source IP # address of the packet to the NAT VM's primary internal IPv4 address: iptables -t nat -A POSTROUTING \ -p tcp --dport $DB_PORT \ -j SNAT \ --to-source $vm_nic_ip # Save iptables configuration: iptables-save
Crea una regola firewall in entrata di tipo allow firewall rule (o una regola in una policy firewall di rete globale, policy firewall di rete regionale o policy firewall gerarchica) con queste caratteristiche:
- Direzione: in entrata
- Azione: allow
- Parametro di destinazione: almeno la VM NAT
- Parametro di origine: l'intervallo di indirizzi IP utilizzato dalla configurazione di connettività privata di Datastream
- Protocollo: TCP
- Porta: deve includere almeno DATABASE_PORT
La regola firewall in uscita di tipo allow implicita consente alla VM NAT di inviare pacchetti a qualsiasi destinazione. Se la tua rete VPC utilizza regole firewall in uscita di tipo deny, potresti dover creare una regola firewall in uscita di tipo allow per consentire alla VM NAT di inviare pacchetti all'istanza Cloud SQL. Se è necessaria una regola in uscita di tipo allow, utilizza questi parametri:
- Direzione: in uscita
- Azione: allow
- Parametro di destinazione: almeno la VM NAT
- Parametro di destinazione: l'indirizzo IP dell'istanza Cloud SQL
- Protocollo: TCP
- Porta: deve includere almeno DATABASE_PORT
Assicurati di aver configurato l'istanza Cloud SQL in modo che accetti le connessioni dall'indirizzo IPv4 interno principale utilizzato dall'interfaccia di rete della VM NAT. Per le indicazioni, consulta Autorizzare con le reti autorizzate nella documentazione di Cloud SQL.
Crea un profilo di connessione in Datastream. Nei dettagli della connessione del profilo, specifica l'indirizzo IPv4 interno principale della VM NAT che hai creato. Inserisci la porta del database di origine nel campo della porta del profilo di connessione.
Configurare una coppia di VM NAT e un bilanciatore del carico di rete passthrough interno
Per migliorare l'affidabilità di una soluzione VM NAT, prendi in considerazione la seguente architettura, che utilizza una coppia di VM NAT e un bilanciatore del carico di rete passthrough interno:
Crea due VM NAT in zone diverse della stessa regione. Segui le istruzioni riportate in Configurare una VM NAT per creare ogni VM e inserisci ogni VM nel proprio gruppo di istanze non gestite a livello di zona.
In alternativa, puoi creare un gruppo di istanze gestite a livello di regione. Nel modello del gruppo di istanze gestite, includi uno script di avvio come lo script di avvio di esempio nelle istruzioni riportate in Configurare una VM NAT.
Crea un bilanciatore del carico di rete passthrough interno il cui servizio di backend utilizza il gruppo o i gruppi di istanze del passaggio precedente come backend. Per un esempio di bilanciatore del carico di rete passthrough interno, consulta Configurare un bilanciatore del carico di rete passthrough interno con backend di gruppi di istanze VM backends.
Quando configuri il controllo di integrità del bilanciatore del carico, puoi utilizzare un controllo di integrità TCP che utilizza una porta TCP di destinazione corrispondente a DATABASE_PORT. I pacchetti di controllo di integrità vengono instradati a CLOUD_SQL_INSTANCE_IP in base alla configurazione della VM NAT. In alternativa, puoi eseguire un processo locale sulla VM NAT che risponde a un controllo di integrità TCP o HTTP su una porta personalizzata.
Crea regole firewall e configura le reti autorizzate di Cloud SQL come descritto nelle istruzioni riportate in Configurare una VM NAT. Assicurati che le reti autorizzate di Cloud SQL includano l'indirizzo IPv4 interno principale di entrambe le VM NAT.
Quando crei un profilo di connessione Datastream, specifica l'indirizzo IP della regola di forwarding del bilanciatore del carico di rete passthrough interno nei dettagli della connessione del profilo.
Passaggi successivi
- Scopri come creare una configurazione di connettività privata.
- Scopri come visualizzare la configurazione di connettività privata.
- Scopri come eliminare una configurazione di connettività privata.