Configurare 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 (sistema operativo guest) sulla VM dell'interfaccia.

Consentire la connettività SSH

Assicurati che le regole firewall siano configurate per consentire le connessioni SSH in entrata alla VM dell'interfaccia Private Service Connect.

Trovare il Google Cloud nome dell'interfaccia Private Service Connect

Per configurare il routing, devi conoscere il Google Cloud nome dell' interfaccia Private Service Connect.

Per trovare il Google Cloud nome di un'interfaccia Private Service Connect dinamica, utilizza Google Cloud CLI.

Console

  1. Nella Google Cloud console, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome della VM che ha l'interfaccia Private Service Connect.

  3. Nella sezione Interfacce di rete, individua e annota il nome dell'interfaccia Private Service Connect virtuale, ad esempio nic1.

gcloud

  1. 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 Connect
    • ZONE: la zona della VM
  2. Nell'output del comando, individua e annota il Google Cloud nome della tua interfaccia Private Service Connect.

    • Per le interfacce Private Service Connect virtuali, il nome ha il formato nic[interface_number], ad esempio nic0 o nic1.
    • Per le interfacce Private Service Connect dinamiche, il nome ha il formato nic[parent_interface_number.VLAN_ID], ad esempio nic0.10 o nic1.42.

Configurare 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 una sola volta per VM.

Trovare il nome del sistema operativo guest dell'interfaccia Private Service Connect

Per configurare il routing, devi conoscere il nome del sistema operativo guest della tua interfaccia Private Service Connect, che è diverso dal nome dell'interfaccia in Google Cloud.

Per trovare il nome dell'interfaccia su una VM Debian, procedi nel seguente modo. Per le VM con altri sistemi operativi, consulta la documentazione pubblica del sistema operativo.

  1. Connettiti alla VM dell'interfaccia Private Service Connect.
  2. Esegui questo comando:

    ip address
    

    Nell'elenco delle interfacce di rete, individua e annota il nome dell'interfaccia associato all'indirizzo IP dell'interfaccia Private Service Connect. Ad esempio, se l' agente guest Linux gestisce le interfacce di rete della VM, i nomi hanno i seguenti formati:

    • Interfacce Private Service Connect virtuali: ens[number], ad esempio ens5.
    • Interfacce Private Service Connect dinamiche: gcp.ens[parent_interface_number].[VLAN_ID], ad esempio gcp.ens5.10.

Trovare 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.

  1. Connettiti alla VM dell'interfaccia Private Service Connect.
  2. 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 dell'interfaccia. Ad esempio, se il Google Cloud nome dell'interfaccia Private Service Connect è nic1, utilizza il valore 1.

    • 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 dinamica

        Ad esempio, se il Google Cloud nome dell'interfaccia Private Service Connect è nic1.5, utilizza il valore 1.

      • VLAN_ID: l'ID VLAN dell'interfaccia Private Service Connect dinamica

        Ad esempio, se il Google Cloud nome dell' interfaccia Private Service Connect è nic1.5, utilizza il valore 5.

    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 scorre attraverso l'interfaccia Private Service Connect.

I passaggi seguenti 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 sistema operativo diverso, consulta la documentazione pubblica del sistema operativo.

  1. Connettiti alla VM dell'interfaccia Private Service Connect.

  2. 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:

  3. Esegui questo comando per rimuovere tutte le voci dalla tabella delle route della cache. Questa operazione potrebbe essere necessaria se utilizzi un'istanza esistente con tabelle di route configurate in precedenza.

    sudo ip route flush cache
    

Utilizzare un'interfaccia Private Service Connect con i 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 di Google e ai servizi 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:

  • Configurare il routing del sistema operativo guest
  • Isolare l'interfaccia Private Service Connect con gli spazi dei nomi di rete o VRF e poi configurare il routing

Configurare 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 passaggi seguenti 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 sistema operativo diverso, consulta la documentazione pubblica del sistema operativo.

Per configurare il routing:

  1. Consenti la connettività SSH alla VM dell'interfaccia Private Service Connect.
  2. Connettiti alla VM.
  3. Per creare una tabella di route 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 route.

  4. Aggiungi una route alla tabella di route per il traffico verso le API di Google e i servizi. Ad esempio, per aggiungere una route per il traffico verso l' restricted.googleapis.comIP virtuale (VIP), 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 esempio ens5 o gcp.ens5.10

  5. Per aggiungere una regola di routing che utilizza la tabella di route 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 dell'interfaccia Private Service Connect. Puoi trovare l' indirizzo IP dell'interfaccia descrivendo la VM dell'interfaccia.

  6. Esegui questo comando per rimuovere tutte le voci dalla tabella delle route della cache. Questa operazione potrebbe essere necessaria se utilizzi un'istanza esistente con tabelle di route 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 gli spazi dei nomi di rete o il routing e l'inoltro virtuali (VRF) 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 utilizzato per isolare l'interfaccia e assicurati che i carichi di lavoro che utilizzano l'interfaccia Private Service Connect esistano all'interno dello stesso contesto.