Configura el enrutamiento para interfaces de Private Service Connect

En esta página, se describe cómo configurar el enrutamiento para las interfaces de Private Service Connect virtuales y dinámicas.

Cómo enrutar el tráfico a través de una interfaz de Private Service Connect

Después de crear una interfaz de Private Service Connect, debes enrutar el tráfico a través de la interfaz configurando el sistema operativo invitado (SO invitado) en la VM de la interfaz.

Permite la conectividad SSH

Asegúrate de que las reglas de firewall estén configuradas para permitir conexiones SSH de entrada a la VM de tu interfaz de Private Service Connect.

Busca el nombre de tu interfaz de Private Service Connect Google Cloud

Para configurar el enrutamiento, debes conocer el nombre Google Cloud de tu interfaz de Private Service Connect.

Para encontrar el nombre de una interfaz de Private Service Connect dinámica, usa Google Cloud CLI. Google Cloud

Console

  1. En la consola de Google Cloud , ve a la página Instancias de VM:

    Ir a Instancias de VM

  2. Haz clic en el nombre de la VM que tiene tu interfaz de Private Service Connect.

  3. En la sección Interfaces de red, busca y anota el nombre de tu interfaz virtual de Private Service Connect, por ejemplo, nic1.

gcloud

  1. Usa el comando gcloud compute instances describe.

    gcloud compute instances describe VM_NAME \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • VM_NAME: Es el nombre de la VM que tiene la interfaz de Private Service Connect.
    • ZONE: La zona de la VM
  2. En el resultado del comando, busca y anota el nombre Google Cloud de tu interfaz de Private Service Connect.

    • En el caso de las interfaces virtuales de Private Service Connect, el nombre tiene el formato nic[interface_number], por ejemplo, nic0 o nic1.
    • En el caso de las interfaces dinámicas de Private Service Connect, el nombre tiene el formato nic[parent_interface_number.VLAN_ID], por ejemplo, nic0.10 o nic1.42.

Configura la administración automática de interfaces dinámicas de Private Service Connect

Si configuras el enrutamiento para una interfaz de Private Service Connect dinámica, habilita la administración automática de interfaces de red dinámicas. Solo debes hacerlo una vez por VM.

Busca el nombre del SO invitado de tu interfaz de Private Service Connect

Para configurar el enrutamiento, debes conocer el nombre del SO invitado de tu interfaz de Private Service Connect, que es diferente del nombre de la interfaz en Google Cloud.

Para encontrar el nombre de la interfaz en una VM de Debian, haz lo siguiente: Para VMs con otros sistemas operativos, consulta la documentación pública del sistema operativo.

  1. Conéctate a la VM de tu interfaz de Private Service Connect.
  2. Ejecuta el siguiente comando:

    ip address
    

    En la lista de interfaces de red, busca y anota el nombre de la interfaz asociada con la dirección IP de tu interfaz de Private Service Connect. Por ejemplo, si el agente invitado de Linux administra las interfaces de red de tu VM, los nombres tendrán los siguientes formatos:

    • Interfaces virtuales de Private Service Connect: ens[number], por ejemplo, ens5.
    • Interfaces dinámicas de Private Service Connect: gcp.ens[parent_interface_number].[VLAN_ID], por ejemplo, gcp.ens5.10.

Busca la dirección IP de la puerta de enlace de tu interfaz de Private Service Connect

Para configurar el enrutamiento, debes conocer la dirección IP de la puerta de enlace predeterminada de la interfaz de Private Service Connect.

  1. Conéctate a la VM de tu interfaz de Private Service Connect.
  2. Envía una solicitud GET desde la VM de tu interfaz al servidor de metadatos asociado.

    • Para las interfaces virtuales de Private Service Connect, envía la siguiente solicitud:

      curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google" && echo
      

      Reemplaza INTERFACE_NUMBER por el índice de tu interfaz. Por ejemplo, si el nombreGoogle Cloud de tu interfaz de Private Service Connect es nic1, usa un valor de 1.

    • Para las interfaces dinámicas de Private Service Connect, envía la siguiente solicitud:

      curl http://metadata.google.internal/computeMetadata/v1/instance/vlan-network-interfaces/PARENT_INTERFACE_NUMBER/VLAN_ID/gateway -H "Metadata-Flavor: Google" && echo
      

      Reemplaza lo siguiente:

      • PARENT_INTERFACE_NUMBER: Es el índice de la vNIC principal de la interfaz de Private Service Connect dinámica.

        Por ejemplo, si el nombre deGoogle Cloud para tu interfaz de Private Service Connect es nic1.5, usa un valor de 1.

      • VLAN_ID: Es el ID de VLAN de tu interfaz dinámica de Private Service Connect.

        Por ejemplo, si el nombre Google Cloud de tu interfaz de Private Service Connect es nic1.5, usa un valor de 5.

    El resultado de la solicitud muestra la dirección IP de la puerta de enlace.

Agrega rutas para las subredes del consumidor

Debes agregar una ruta a la puerta de enlace predeterminada de la interfaz de Private Service Connect para cada subred del consumidor que se conecte a la interfaz de Private Service Connect. Esto permite que el tráfico que está vinculado a la red del consumidor fluya a través de la interfaz de Private Service Connect.

Los siguientes pasos describen cómo actualizar temporalmente la tabla de enrutamiento para una VM que usa el sistema operativo Debian. Para actualizar la tabla de forma permanente o actualizar la ruta en un sistema operativo diferente, consulta la documentación pública del sistema operativo.

  1. Conéctate a la VM de tu interfaz de Private Service Connect.

  2. Ejecuta el siguiente comando para cada subred del consumidor que se conecte a tu interfaz de Private Service Connect:

    sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Reemplaza lo siguiente:

  3. Ejecuta el siguiente comando para quitar todas las entradas de la tabla de rutas de caché. Esto puede ser necesario si usas una instancia existente con tablas de rutas configuradas previamente.

    sudo ip route flush cache
    

Usa una interfaz de Private Service Connect con los Controles del servicio de VPC

Puedes usar interfaces de Private Service Connect con Controles del servicio de VPC. Esto permite que una red de VPC de productor acceda a los servicios y las APIs de Google a través de una red de VPC del consumidor, mientras que la organización del consumidor puede aplicar los beneficios de seguridad de los Controles del servicio de VPC.

Puedes implementar esta configuración con uno de los siguientes enfoques, que se describen en las siguientes secciones:

  • Configura el enrutamiento del SO invitado
  • Aísla la interfaz de Private Service Connect con espacios de nombres de red o VRF y, luego, configura el enrutamiento.

Configura el enrutamiento del SO invitado

Para usar una interfaz de Private Service Connect con Controles del servicio de VPC, configura el enrutamiento en el SO invitado de la VM de la interfaz. Dirige el tráfico destinado a los servicios y las APIs de Google a través de tu interfaz de Private Service Connect.

Los siguientes pasos describen cómo actualizar temporalmente la tabla de enrutamiento para una VM que usa el sistema operativo Debian. Para actualizar la tabla de forma permanente o actualizar la ruta en un sistema operativo diferente, consulta la documentación pública del sistema operativo.

Para configurar el enrutamiento, haz lo siguiente:

  1. Permite la conectividad SSH a la VM de tu interfaz de Private Service Connect.
  2. Conéctate a la VM.
  3. Para crear una tabla de rutas personalizada para tu interfaz de Private Service Connect, ejecuta el siguiente comando:

    echo "1 ROUTE_TABLE_NAME" | sudo tee -a /etc/iproute2/rt_tables
    

    Reemplaza ROUTE_TABLE_NAME por un nombre para la tabla de rutas.

  4. Agrega una ruta a tu tabla de rutas para el tráfico a las APIs y los servicios de Google. Por ejemplo, para agregar una ruta para el tráfico a la IP virtual (VIP) restricted.googleapis.com, usa el siguiente comando, que especifica el rango de direcciones IPv4 para restricted.googleapis.com:

    sudo ip route add 199.36.153.4/30 dev OS_INTERFACE_NAME table ROUTE_TABLE_NAME
    

    Reemplaza OS_INTERFACE_NAME por el nombre del SO invitado para tu interfaz de Private Service Connect, por ejemplo, ens5 o gcp.ens5.10.

  5. Para agregar una regla de enrutamiento que use la tabla de enrutamiento personalizada para los paquetes que se originan en tu interfaz de Private Service Connect, usa el siguiente comando:

    sudo ip rule add from INTERFACE_IP table ROUTE_TABLE_NAME
    

    Reemplaza INTERFACE_IP por la dirección IP de tu interfaz de Private Service Connect. Puedes encontrar la dirección IP de la interfaz describiendo la VM de la interfaz.

  6. Ejecuta el siguiente comando para quitar todas las entradas de la tabla de rutas de caché. Esto puede ser necesario si usas una instancia existente con tablas de rutas configuradas previamente.

    sudo ip route flush cache
    

Aísla las interfaces de Private Service Connect con espacios de nombres o VRF

Como alternativa, puedes configurar tu VM para que use espacios de nombres de red o enrutamiento y reenvío virtuales (VRF) para aislar la interfaz de Private Service Connect. Este enfoque es útil para las cargas de trabajo en contenedores, como las que se ejecutan en pods de Google Kubernetes Engine.

Configura el enrutamiento con el mismo contexto que usaste para aislar la interfaz y asegúrate de que las cargas de trabajo que usan tu interfaz de Private Service Connect existan dentro de este mismo contexto.