Configura el enrutamiento para interfaces de Private Service Connect

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

Enruta 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 Google Cloud nombredetu interfaz de Private Service Connect

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

Para encontrar el Google Cloud nombredel interfaz de Private Service Connect dinámico, usa Google Cloud CLI.

Console

  1. En la Google Cloud consola de, 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 de Private Service Connect virtual, 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 Google Cloud nombredetu interfaz de Private Service Connect.

    • Para las interfaces de Private Service Connect virtuales, el nombre tiene el formato nic[interface_number], por ejemplo, nic0 o nic1.
    • Para las interfaces de Private Service Connect dinámicas, 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 de Private Service Connect dinámicas

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 tienen los siguientes formatos:

    • Interfaces de Private Service Connect virtuales: ens[number], por ejemplo, ens5.
    • Interfaces de Private Service Connect dinámicas: 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 de Private Service Connect virtuales, 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 Google Cloud nombre de tu interfaz de Private Service Connect es nic1, usa un valor de 1.

    • Para las interfaces de Private Service Connect dinámicas, 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: El índice de la vNIC superior de la interfaz de Private Service Connect dinámica

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

      • VLAN_ID: El ID de VLAN de tu interfaz de Private Service Connect dinámica

        Por ejemplo, si el Google Cloud nombredetu 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 anteriormente.

    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 los 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 los servicios y las APIs de Google. Por ejemplo, para agregar una ruta para el tráfico a la restricted.googleapis.com IP virtual (VIP), 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 de SO invitado para la interfaz de Private Service Connect, por ejemplo, ens5 o gcp.ens5.10

  5. Para agregar una regla de enrutamiento que use la tabla de rutas 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 si describes 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 anteriormente.

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