Configura il routing per le interfacce Private Service Connect
Questa pagina descrive come configurare il routing per le interfacce Private Service Connect virtuali e dinamiche.
Instradare il traffico tramite un'interfaccia Private Service Connect
Dopo aver creato un'interfaccia Private Service Connect, devi instradare il traffico tramite l'interfaccia configurando il sistema operativo guest (guest OS) sulla VM dell'interfaccia.
Consenti la connettività SSH
Assicurati che le regole firewall siano configurate per consentire le connessioni SSH in entrata alla VM dell'interfaccia Private Service Connect.
Trova il nome dell'interfaccia Private Service Connect Google Cloud
Per configurare il routing, devi conoscere il nome dell'interfaccia Private Service Connect. Google Cloud
Per trovare il nome di un'interfaccia Private Service Connect dinamica, utilizza Google Cloud CLI. Google Cloud
Console
Nella Google Cloud console, vai alla pagina Istanze VM.
Fai clic sul nome della VM che ha l'interfaccia Private Service Connect.
Nella sezione Interfacce di rete, individua e annota il nome dell'interfaccia Private Service Connect virtuale, ad esempio
nic1
.
gcloud
Utilizza il comando
gcloud compute instances describe
.gcloud compute instances describe VM_NAME \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome della VM che ha l'interfaccia Private Service ConnectZONE
: la zona della VM
Nell'output del comando, trova e annota il nome dell'interfaccia Private Service Connect Google Cloud .
- Per le interfacce virtuali Private Service Connect, il nome
ha il formato
nic[interface_number]
, ad esempionic0
onic1
. - Per le interfacce Private Service Connect dinamiche,
il nome ha il formato
nic[parent_interface_number.VLAN_ID]
, ad esempionic0.10
onic1.42
.
- Per le interfacce virtuali Private Service Connect, il nome
ha il formato
Configura la gestione automatica delle interfacce Private Service Connect dinamiche
Se stai configurando il routing per un'interfaccia Private Service Connect dinamica, Attiva la gestione automatica delle interfacce di rete dinamiche. Devi farlo solo una volta per ogni VM.
Trova il nome del sistema operativo guest dell'interfaccia Private Service Connect
Per configurare il routing, devi conoscere il nome del sistema operativo guest dell'interfaccia Private Service Connect, che è diverso dal nome dell'interfaccia in Google Cloud.
Per trovare il nome dell'interfaccia su una VM Debian: Per le VM con altri sistemi operativi, consulta la documentazione pubblica del sistema operativo.
- Connettiti alla VM dell'interfaccia Private Service Connect.
Esegui questo comando:
ip address
Nell'elenco delle interfacce di rete, individua e annota il nome dell'interfaccia associata all'indirizzo IP dell'interfaccia Private Service Connect. Ad esempio, se l'agente guest Linux gestisce le interfacce di rete della tua VM, i nomi hanno i seguenti formati:
- Interfacce Private Service Connect virtuali:
ens[number]
, ad esempioens5
. - Interfacce Private Service Connect dinamiche:
gcp.ens[parent_interface_number].[VLAN_ID]
, ad esempio,gcp.ens5.10
.
- Interfacce Private Service Connect virtuali:
Trova l'indirizzo IP del gateway dell'interfaccia Private Service Connect
Per configurare il routing, devi conoscere l'indirizzo IP del gateway predefinito dell'interfaccia Private Service Connect.
- Connettiti alla VM dell'interfaccia Private Service Connect.
Invia una richiesta
GET
dalla VM dell'interfaccia al server di metadati associato.Per le interfacce Private Service Connect virtuali, invia la seguente richiesta:
curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google" && echo
Sostituisci
INTERFACE_NUMBER
con l'indice della tua interfaccia. Ad esempio, se il Google Cloud nome dell'interfaccia Private Service Connect ènic1
, utilizza un valore di1
.Per le interfacce Private Service Connect dinamiche, invia la seguente richiesta:
curl http://metadata.google.internal/computeMetadata/v1/instance/vlan-network-interfaces/PARENT_INTERFACE_NUMBER/VLAN_ID/gateway -H "Metadata-Flavor: Google" && echo
Sostituisci quanto segue:
PARENT_INTERFACE_NUMBER
: l'indice della vNIC principale dell'interfaccia Private Service Connect dinamicaAd esempio, se il Google Cloud nome dell'interfaccia Private Service Connect è
nic1.5
, utilizza un valore di1
.VLAN_ID
: l'ID VLAN dell'interfaccia Private Service Connect dinamicaAd esempio, se il nome Google Cloud della tua interfaccia Private Service Connect è
nic1.5
, utilizza un valore di5
.
L'output della richiesta mostra l'indirizzo IP del gateway.
Aggiungere route per le subnet consumer
Devi aggiungere una route al gateway predefinito dell'interfaccia Private Service Connect per ogni subnet consumer che si connette all'interfaccia Private Service Connect. In questo modo, il traffico destinato alla rete consumer passa attraverso l'interfaccia Private Service Connect.
I seguenti passaggi descrivono come aggiornare temporaneamente la tabella di routing per una VM che utilizza il sistema operativo Debian. Per aggiornare la tabella in modo permanente o per aggiornare la route su un altro sistema operativo, consulta la documentazione pubblica del sistema operativo.
Connettiti alla VM dell'interfaccia Private Service Connect.
Esegui questo comando per ogni subnet consumer che si connette all'interfaccia Private Service Connect:
sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
Sostituisci quanto segue:
CONSUMER_SUBNET_RANGE
: l'intervallo di indirizzi IP della tua subnet consumerGATEWAY_IP
: l'indirizzo IP del gateway predefinito per la subnet dell'interfacciaOS_INTERFACE_NAME
: il nome del sistema operativo guest per l'interfaccia Private Service Connect, ad esempioens5
ogcp.ens5.10
Esegui questo comando per rimuovere tutte le voci dalla tabella di routing della cache. Ciò potrebbe essere necessario se utilizzi un'istanza esistente con tabelle di routing configurate in precedenza.
sudo ip route flush cache
Utilizzare un'interfaccia Private Service Connect con Controlli di servizio VPC
Puoi utilizzare le interfacce Private Service Connect con i controlli di servizio VPC. In questo modo, una rete VPC producer può accedere alle API e ai servizi di Google tramite una rete VPC consumer, mentre l'organizzazione consumer può applicare i vantaggi di sicurezza dei Controlli di servizio VPC.
Puoi implementare questa configurazione utilizzando uno dei seguenti approcci, descritti nelle sezioni seguenti:
- Configura il routing del sistema operativo guest
- Isola l'interfaccia Private Service Connect con gli spazi dei nomi di rete o VRF e poi configura il routing.
Configura il routing del sistema operativo guest
Per utilizzare un'interfaccia Private Service Connect con i Controlli di servizio VPC, configura il routing nel sistema operativo guest della VM dell'interfaccia. Dirigi il traffico destinato alle API e ai servizi Google tramite l'interfaccia Private Service Connect.
I seguenti passaggi descrivono come aggiornare temporaneamente la tabella di routing per una VM che utilizza il sistema operativo Debian. Per aggiornare la tabella in modo permanente o per aggiornare la route su un altro sistema operativo, consulta la documentazione pubblica del sistema operativo.
Per configurare il routing:
- Consenti la connettività SSH alla VM dell'interfaccia Private Service Connect.
- Connettiti alla VM.
Per creare una tabella di routing personalizzata per l'interfaccia Private Service Connect, esegui questo comando:
echo "1 ROUTE_TABLE_NAME" | sudo tee -a /etc/iproute2/rt_tables
Sostituisci
ROUTE_TABLE_NAME
con un nome per la tabella di routing.Aggiungi una route alla tabella di routing per il traffico verso le API e i servizi Google. Ad esempio, per aggiungere una route per il traffico all'IP virtuale (VIP)
restricted.googleapis.com
, utilizza il seguente comando, che specifica l'intervallo di indirizzi IPv4 per restricted.googleapis.com:sudo ip route add 199.36.
153.4/30 dev OS_INTERFACE_NAME table ROUTE_TABLE_NAME Sostituisci
OS_INTERFACE_NAME
con il nome del sistema operativo guest per l'interfaccia Private Service Connect, ad esempioens5
ogcp.ens5.10
.Per aggiungere una regola di routing che utilizza la tabella di routing personalizzata per i pacchetti provenienti dall'interfaccia Private Service Connect, utilizza il seguente comando:
sudo ip rule add from INTERFACE_IP table ROUTE_TABLE_NAME
Sostituisci
INTERFACE_IP
con l'indirizzo IP della tua interfaccia Private Service Connect. Puoi trovare l'indirizzo IP dell'interfaccia descrivendo la VM dell'interfaccia.Esegui questo comando per rimuovere tutte le voci dalla tabella di routing della cache. Ciò potrebbe essere necessario se utilizzi un'istanza esistente con tabelle di routing configurate in precedenza.
sudo ip route flush cache
Isolare le interfacce Private Service Connect con spazi dei nomi o VRF
In alternativa, puoi configurare la VM in modo che utilizzi spazi dei nomi di rete o VRF (virtual routing and forwarding) per isolare l'interfaccia Private Service Connect. Questo approccio è utile per i carichi di lavoro containerizzati, come quelli in esecuzione nei pod di Google Kubernetes Engine.
Configura il routing utilizzando lo stesso contesto che hai utilizzato per isolare l'interfaccia e assicurati che i carichi di lavoro che utilizzano l'interfaccia Private Service Connect esistano all'interno di questo stesso contesto.