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

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

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.

  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 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 esempio ens5.
    • Interfacce Private Service Connect dinamiche: gcp.ens[parent_interface_number].[VLAN_ID], ad esempio, gcp.ens5.10.

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.

  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 della tua interfaccia. Ad esempio, se il Google Cloud nome dell'interfaccia Private Service Connect è nic1, utilizza un valore di 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 un valore di 1.

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

        Ad esempio, se il nome Google Cloud della tua interfaccia Private Service Connect è nic1.5, utilizza un valore di 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 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.

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

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

  4. 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 esempio ens5 o gcp.ens5.10.

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

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