Configurar el enrutamiento de interfaces Private Service Connect
En esta página se describe cómo configurar el enrutamiento para interfaces de Private Service Connect virtuales y dinámicas.
Dirigir 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 máquina virtual de la interfaz.
Permitir la conectividad SSH
Asegúrate de que las reglas de cortafuegos estén configuradas para permitir conexiones SSH entrantes a la VM de tu interfaz de Private Service Connect.
Buscar el Google Cloud nombre de tu interfaz de Private Service Connect
Para configurar el enrutamiento, debes conocer el Google Cloud nombre de tu interfaz de Private Service Connect.
Para encontrar el Google Cloud nombre de una interfaz de Private Service Connect dinámica, usa la CLI de Google Cloud.
Consola
En la Google Cloud consola, ve a la página Instancias de VM:
Haz clic en el nombre de la VM que tenga tu interfaz de Private Service Connect.
En la sección Interfaces de red, busca y anota el nombre de tu interfaz de Private Service Connect virtual. Por ejemplo,
nic1
.
gcloud
Usa el comando
gcloud compute instances describe
.gcloud compute instances describe VM_NAME \ --zone=ZONE
Haz los cambios siguientes:
VM_NAME
: el nombre de la VM que tiene tu interfaz de Private Service ConnectZONE
: la zona de la VM
En la salida del comando, busca y anota el Google Cloud nombre 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
onic1
. - 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
onic1.42
.
- En el caso de las interfaces virtuales de Private Service Connect, el nombre tiene el formato
Configurar la gestión automática de interfaces Private Service Connect dinámicas
Si estás configurando el enrutamiento de una interfaz dinámica de Private Service Connect, habilita la gestión automática de interfaces de red dinámicas. Solo tienes que hacerlo una vez por cada VM.
Buscar 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 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, sigue estos pasos. En el caso de las máquinas virtuales con otros sistemas operativos, consulta la documentación pública del sistema operativo.
- Conéctate a la VM de tu interfaz de Private Service Connect.
Ejecuta el siguiente comando:
ip address
En la lista de interfaces de red, busca y anota el nombre de la interfaz asociada a la dirección IP de tu interfaz Private Service Connect. Por ejemplo, si el agente invitado de Linux gestiona las interfaces de red de tu máquina virtual, los nombres tendrán los siguientes formatos:
- Interfaces de Virtual 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
.
- Interfaces de Virtual Private Service Connect:
Buscar la dirección IP de la puerta de enlace de tu interfaz Private Service Connect
Para configurar el enrutamiento, debes conocer la dirección IP de la pasarela predeterminada de tu interfaz de Private Service Connect.
- Conéctate a la VM de tu interfaz de Private Service Connect.
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
Sustituye
INTERFACE_NUMBER
por el índice de tu interfaz. Por ejemplo, si el Google Cloud nombre de tu interfaz de Private Service Connect esnic1
, usa el valor1
.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
Haz los cambios siguientes:
PARENT_INTERFACE_NUMBER
: el índice de la vNIC principal de la interfaz de Private Service Connect dinámicaPor ejemplo, si el Google Cloud nombre de tu interfaz de Private Service Connect es
nic1.5
, usa el valor1
.VLAN_ID
: el ID de VLAN de tu interfaz de Private Service Connect dinámicaPor ejemplo, si el Google Cloud nombre de tu interfaz de Private Service Connect es
nic1.5
, usa el valor5
.
El resultado de la solicitud muestra la dirección IP de la pasarela.
Añadir rutas para subredes de consumidor
Debes añadir una ruta a la puerta de enlace predeterminada de tu interfaz de Private Service Connect para cada subred de consumidor que se conecte a tu interfaz de Private Service Connect. De esta forma, el tráfico destinado a la red del consumidor puede fluir a través de la interfaz de Private Service Connect.
En los pasos que se indican a continuación se describe cómo actualizar temporalmente la tabla de enrutamiento de una máquina virtual que usa el sistema operativo Debian. Para actualizar la tabla de forma permanente o para actualizar la ruta en otro sistema operativo, consulta la documentación pública del sistema operativo.
Conéctate a la VM de tu interfaz de Private Service Connect.
Ejecuta el siguiente comando para cada subred de 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
Haz los cambios siguientes:
CONSUMER_SUBNET_RANGE
: el intervalo de direcciones IP de tu subred de consumidorGATEWAY_IP
: la dirección IP de la pasarela predeterminada de la subred de tu interfazOS_INTERFACE_NAME
: el nombre del SO invitado de tu interfaz de Private Service Connect, por ejemplo,ens5
ogcp.ens5.10
Ejecuta el siguiente comando para eliminar todas las entradas de la tabla de rutas de la caché. Esto puede ser necesario si usas una instancia con tablas de rutas configuradas anteriormente.
sudo ip route flush cache
Usar una interfaz de Private Service Connect con Controles de Servicio de VPC
Puedes usar interfaces de Private Service Connect con Controles de Servicio de VPC. De esta forma, una red VPC de productor puede acceder a las APIs y los servicios de Google a través de una red VPC de consumidor, mientras que la organización de consumidor puede aplicar las ventajas de seguridad de Controles de Servicio de VPC.
Puedes implementar esta configuración de una de las siguientes formas, que se describen en las secciones siguientes:
- Configurar el enrutamiento del SO invitado
- Aísla la interfaz de Private Service Connect con espacios de nombres de red o VRF y, a continuación, configura el enrutamiento.
Configurar el enrutamiento del SO invitado
Para usar una interfaz de Private Service Connect con Controles de Servicio de VPC, configura el enrutamiento en el SO invitado de la VM de la interfaz. Dirige el tráfico destinado a las APIs y los servicios de Google a través de tu interfaz de Private Service Connect.
En los pasos que se indican a continuación se describe cómo actualizar temporalmente la tabla de enrutamiento de una máquina virtual que usa el sistema operativo Debian. Para actualizar la tabla de forma permanente o para actualizar la ruta en otro sistema operativo, consulta la documentación pública del sistema operativo.
Para configurar el enrutamiento, haz lo siguiente:
- Permite la conectividad SSH a la máquina virtual de tu interfaz de Private Service Connect.
- Conéctate a la VM.
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
Sustituye
ROUTE_TABLE_NAME
por el nombre de la tabla de rutas.Añade una ruta a tu tabla de rutas para el tráfico a las APIs y los servicios de Google. Por ejemplo, para añadir una ruta para el tráfico a la IP virtual (VIP)
restricted.googleapis.com
, usa el siguiente comando, que especifica el intervalo de direcciones IPv4 de restricted.googleapis.com:sudo ip route add 199.36.
153.4/30 dev OS_INTERFACE_NAME table ROUTE_TABLE_NAME Sustituye
OS_INTERFACE_NAME
por el nombre del SO invitado de tu interfaz de Private Service Connect. Por ejemplo,ens5
ogcp.ens5.10
.Para añadir una regla de enrutamiento que use la tabla de rutas personalizada para los paquetes que procedan de tu interfaz de Private Service Connect, usa el siguiente comando:
sudo ip rule add from INTERFACE_IP table ROUTE_TABLE_NAME
Sustituye
INTERFACE_IP
por la dirección IP de tu interfaz Private Service Connect. Puedes encontrar la dirección IP de la interfaz describiendo la máquina virtual de la interfaz.Ejecuta el siguiente comando para eliminar todas las entradas de la tabla de rutas de la caché. Esto puede ser necesario si usas una instancia con tablas de rutas configuradas anteriormente.
sudo ip route flush cache
Aislar interfaces de Private Service Connect con espacios de nombres o VRF
También puedes configurar tu máquina virtual 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 has usado para aislar la interfaz y asegúrate de que las cargas de trabajo que usan tu interfaz Private Service Connect se encuentran en este mismo contexto.