Utilizar rutas
En esta página se describe cómo crear y gestionar rutas de redes de nube privada virtual (VPC) en Google Cloud. En esta página se da por hecho que conoces los distintos tipos de Google Cloud rutas y sus características, tal como se describe en Rutas.
Cada red nueva tiene dos tipos de rutas generadas por el sistema: una ruta predeterminada, que puedes quitar o sustituir, y una ruta de subred por cada una de sus subredes. No puedes eliminar una ruta de subred a menos que elimines la subred correspondiente.
Además de las rutas generadas por el sistema, puede crear otras rutas estáticas personalizadas.
Listar las rutas de una red de VPC
Puedes usar la CLI de Google Cloud o la API para enumerar y ver los detalles de los siguientes tipos de rutas:
- Rutas predeterminadas generadas por el sistema
- Rutas de subred
- Rutas de subred de emparejamiento
- Rutas de subred de Network Connectivity Center
- Rutas estáticas
Ni los comandos de la interfaz de línea de comandos de gcloud ni los métodos de la API muestran los siguientes tipos de rutas:
Para ver la ruta completa, usa la consola Google Cloud . Para enumerar y describir las rutas basadas en políticas, consulta Usar rutas basadas en políticas.
Consola
En la Google Cloud consola, ve a la página Rutas.
En la pestaña Rutas eficaces, haz lo siguiente:
- Elige una red de VPC.
- Elige una región.
Haz clic en Ver.
Puede filtrar por propiedades como el tipo de ruta, el intervalo de IPs de destino y el tipo de salto siguiente.
Opcional: Haz clic en el interruptor Mostrar rutas suprimidas para activarlo y ver las rutas que se han suprimido. Para ver el motivo por el que se ha suprimido una ruta, coloque el cursor sobre el icono de la columna Estado.
gcloud
Para enumerar y ver los detalles de las rutas de subred y las rutas estáticas, usa los comandos gcloud compute
routes
. Estos comandos no muestran otros tipos de rutas. Para ver todas las rutas, usa la Google Cloud consola.
Para enumerar las rutas, siga estos pasos:
gcloud compute routes list \ --filter="network=NETWORK_NAME" \ --project=PROJECT_ID
Para obtener información sobre una ruta, haz lo siguiente:
gcloud compute routes describe ROUTE_NAME \ --format="flattened()" \ --project=PROJECT_ID
Haz los cambios siguientes:
NETWORK_NAME
: el nombre de la red de VPCPROJECT_ID
: el ID del proyecto que contiene tu red VPCROUTE_NAME
: el nombre de la ruta
API
Para enumerar y ver los detalles de las rutas de subred y las rutas estáticas, usa los métodos routes.list y routes.get. Estos métodos no muestran otros tipos de rutas. Para ver todas las rutas, usa la Google Cloud consola.
Para enumerar las rutas, siga estos pasos:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes?filter=network="NETWORK_URL
Para obtener información sobre una ruta, haz lo siguiente:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes/ROUTE_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene tu red VPCNETWORK_URL
: la URL de la red de VPCROUTE_NAME
: el nombre de la ruta
Mostrar las rutas aplicables de una interfaz de red de una VM
Puedes usar la Google Cloud consola para ver las rutas aplicables a la interfaz de red de una VM. Esta vista acota la lista de rutas que puede usar para el tráfico de salida.
Para ver las rutas aplicables a una interfaz de red específica de una VM, sigue estos pasos.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
Busca una instancia de VM en la lista. En el menú
Más acciones situado al final de la fila, seleccione Ver detalles de la red.Si una instancia tiene varias interfaces de red, en la sección Detalles de la interfaz de red, selecciona la interfaz de red que quieras ver.
En la sección Detalles de cortafuegos y rutas, haga clic en la pestaña Rutas para ver todas las rutas que se aplican a la interfaz de red, ordenadas por nombre de ruta.
Añadir y eliminar rutas estáticas
Puede añadir o quitar rutas estáticas y rutas basadas en políticas que sean locales de su red de VPC. En esta sección se describe cómo añadir y eliminar rutas estáticas locales. Para obtener más información sobre cómo añadir y quitar rutas basadas en políticas, consulta el artículo Usar rutas basadas en políticas.
Las rutas de subred se añaden y se eliminan automáticamente cuando añades o eliminas una subred. Para obtener más información sobre cómo añadir y quitar subredes, consulta Trabajar con subredes.
Todas las rutas de una red de VPC conectada mediante el emparejamiento de redes de VPC deben manipularse en la red de VPC que exporta esas rutas. Para obtener más información, consulta las opciones de intercambio de rutas.
Antes de añadir una ruta estática
Antes de añadir una ruta estática, ten en cuenta lo siguiente:
- Asegúrate de entender los diferentes tipos de saltos siguientes que pueden usar las rutas estáticas. Para obtener información sobre los diferentes tipos de siguiente salto de ruta estática, incluidos los que admiten destinos IPv6, consulta Siguientes saltos y funciones.
- A menos que uses subredes híbridas, una ruta estática no puede tener un intervalo de destino que coincida con el intervalo de destino de una subred o una ruta de subred de peering, o que sea más específico que este. Para obtener más información, consulta las secciones Interacciones con rutas estáticas personalizadas en la descripción general de las rutas y Interacciones entre subredes y rutas estáticas en la documentación sobre el emparejamiento entre redes de VPC.
- Para evitar conflictos al usar una red de VPC en modo automático, no crees rutas estáticas
cuyos destinos se incluyan en
10.128.0.0/9
. Consulta los intervalos de IPv4 del modo automático para obtener más información. - Los destinos de las rutas estáticas personalizadas no pueden solaparse con ningún intervalo asignado interno.
- Antes de crear una ruta estática personalizada que use una VM como salto siguiente, familiarízate con las instancias como saltos siguientes. Google Cloud Solo se valida que una VM exista en el momento en que creas la ruta si eliges una instancia de salto siguiente.
- Si crea una ruta con una etiqueta de red, solo las VMs que tengan esa etiqueta recibirán la ruta. Sin embargo, las VMs etiquetadas siguen recibiendo todas las rutas que no tienen ninguna etiqueta de red.
Añadir una ruta estática
Añadir una ruta estática a una red. Para obtener más información sobre los diferentes tipos de saltos siguientes de ruta estática, incluidos los que admiten destinos IPv6, consulta Saltos siguientes y funciones.
Consola
En la Google Cloud consola, ve a la página Rutas.
Haga clic en la pestaña Gestión de rutas.
Haz clic en Crear ruta.
Especifica un nombre y una descripción para la ruta.
En la lista Red, selecciona una red para la ruta.
En la lista Tipo de ruta, selecciona Ruta estática.
En la lista Versión de IP, selecciona la versión de IP que necesites:
- Para crear una ruta estática IPv4, selecciona IPv4.
- Para crear una ruta estática IPv6, selecciona IPv6.
Especifica un intervalo de IPs de destino. El destino más amplio posible es
0.0.0.0/0
para IPv4 o::/0
para IPv6.Especifica una prioridad para la ruta. La prioridad puede ir de
0
(la más alta) a65535
(la más baja).Para que la ruta solo se aplique a las instancias seleccionadas con etiquetas de red coincidentes, especifíquelas en el campo Etiquetas de instancia. Deje el campo en blanco para que la ruta se aplique a todas las instancias de la red.
Selecciona un siguiente salto para la ruta:
- Pasarela de Internet predeterminada: envía paquetes a Internet y a las APIs y los servicios de Google.
- Especificar una instancia: envía paquetes a la interfaz de red de una instancia de VM. Especifica la instancia de VM por nombre y zona. Si el destino de la ruta es una dirección IPv6, la instancia de VM debe ser de pila dual o solo IPv6.
- Especificar la dirección IP de una instancia: especifica la dirección IP de una instancia ya creada en la red de VPC. En el caso de las rutas estáticas IPv6, la instancia debe ser de doble pila o de solo IPv6. Para consultar las restricciones importantes de las direcciones IP de siguiente salto válidas, consulta Siguientes saltos de rutas estáticas.
- Especificar túnel VPN: envía paquetes a un túnel de VPN clásica mediante enrutamiento estático.
- Especifica una regla de reenvío de un balanceador de carga de red de paso a través interno: envía paquetes a un balanceador de carga de red de paso a través interno que se especifica mediante su nombre de regla de reenvío interno y su región. La regla de reenvío puede tener una dirección IPv4 o IPv6. La versión de IP de la regla de reenvío que especifique debe coincidir con la versión de IP de la ruta estática que cree.
Haz clic en Crear.
gcloud
Crea una ruta estática personalizada con el siguiente comando de la CLI de gcloud:
gcloud compute routes create ROUTE_NAME \ --network=NETWORK \ --destination-range=DESTINATION_RANGE \ --priority=PRIORITY \ NEXT_HOP_SPECIFICATION
Haz los cambios siguientes:
ROUTE_NAME
: el nombre de la rutaNETWORK
: nombre de la red de VPC que contiene la rutaDESTINATION_RANGE
: las direcciones IPv4 o IPv6 de destino a las que se aplica esta ruta. El destino más amplio posible es0.0.0.0/0
para IPv4 o::/0
para IPv6.PRIORITY
: la ruta priority, que puede ser de0
(la prioridad más alta) a65535
(la prioridad más baja)NEXT_HOP_SPECIFICATION
: el siguiente salto de la ruta estática. Usa uno de los siguientes parámetros o una combinación de ellos:--next-hop-gateway=default-internet-gateway
: entrega paquetes a Internet y a las APIs y los servicios de Google.--next-hop-instance=INSTANCE_NAME
y--next-hop-instance-zone=ZONE
: entrega paquetes a la interfaz de red de una instancia de VM. Especifica la instancia de VM por nombre y zona. Si el destino de la ruta es una dirección IPv6, la instancia de VM debe ser de pila dual o de solo IPv6.--next-hop-address=ADDRESS
: especifica una dirección IP de una instancia que ya exista en la red de VPC. En el caso de las rutas estáticas IPv6, la instancia debe ser de doble pila o solo IPv6. Para ver las restricciones importantes de las direcciones IP del siguiente salto válidas, consulta Siguientes saltos y funciones.--next-hop-vpn-tunnel=VPN_TUNNEL_NAME
y--next-hop-vpn-tunnel-region=REGION
: envía paquetes a un túnel de VPN clásica mediante enrutamiento estático.--next-hop-ilb=FORWARDING_RULE
y--next-hop-ilb-region=REGION
: envía paquetes a un balanceador de carga de red de paso a través interno. Especifica la regla de reenvío por su nombre (o dirección IPv4 o IPv6) y región. La versión de IP de la regla de reenvío que especifique debe coincidir con la versión de IP de la ruta estática que cree. Para obtener más información sobre cómo configurar rutas estáticas en balanceadores de carga de red internos de tipo pasarela, consulta el artículo Crear rutas estáticas.
Para que la ruta estática personalizada se aplique solo a las VMs seleccionadas por etiqueta de red, añade la marca
--tags
y especifica una o varias etiquetas de red. Para obtener más información sobre cómo funcionan conjuntamente las etiquetas de red y las rutas estáticas personalizadas, consulta Rutas aplicables en la descripción general de las rutas. Puedes usar etiquetas con cualquier ruta estática personalizada.
Para obtener más información sobre la sintaxis de la CLI de gcloud, consulta la documentación del SDK.
API
Crea una ruta estática personalizada.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "name": "ROUTE_NAME", "network": "NETWORK_NAME", "destRange": "DESTINATION_RANGE", "priority": PRIORITY, "NEXT_HOP_SPECIFICATION" }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se crea la rutaROUTE_NAME
: el nombre de la rutaNETWORK
: el nombre de la red de VPC que contiene la ruta.DESTINATION_RANGE
: el intervalo de direcciones IPv4 o IPv6 de destino al que se aplica esta ruta. El destino más amplio posible es0.0.0.0/0
para IPv4 o::/0
para IPv6.PRIORITY
: la ruta priority, que puede ser de0
(la prioridad más alta) a65535
(la prioridad más baja)NEXT_HOP_SPECIFICATION
: el salto siguiente de la ruta estática. Usa uno de los siguientes parámetros o una combinación de ellos:nextHopGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/gateways/default-internet-gateway
: envía paquetes a Internet y a las APIs y los servicios de GooglenextHopInstance: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
: envía paquetes a la interfaz de red de una instancia de VM. Especifica la instancia de VM por nombre y zona. Si el destino de la ruta es una dirección IPv6, la instancia de VM debe ser de pila dual o solo IPv6.nextHopIp: ADDRESS
: especifica una dirección IP de una instancia que ya exista en la red de VPC. En el caso de las rutas estáticas IPv6, la instancia debe ser de doble pila o de solo IPv6. Para consultar las restricciones importantes de las direcciones IP del siguiente salto válidas, consulta Siguientes saltos y funciones.nextHopVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/VPN_TUNNEL_NAME
: envía paquetes a un túnel de VPN clásica mediante enrutamiento estático.nextHopIlb: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE
: envía paquetes a un balanceador de carga de red de paso a través interno. Especifica la regla de reenvío por su nombre (o dirección IPv4 o IPv6) y región. La versión de IP de la regla de reenvío que especifique debe coincidir con la versión de IP de la ruta estática que cree.
Para que la ruta estática personalizada se aplique solo a las VMs seleccionadas por etiqueta de red, añade el campo tags
y especifica una o varias etiquetas de red. Para obtener más información sobre cómo funcionan conjuntamente las etiquetas de red y las rutas estáticas personalizadas, consulta Rutas aplicables en la descripción general de las rutas. Puedes usar etiquetas con cualquier ruta estática personalizada.
Para obtener más información, consulta el método routes.insert
.
Terraform
Puedes crear una ruta estática mediante un módulo de Terraform.
Esta ruta estática crea una ruta predeterminada a Internet.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Go
Java
Python
Añadir una ruta predeterminada IPv4
La ruta estática predeterminada de IPv4 (0.0.0.0/0
) con next-hop-gateway
configurado como
default-internet-gateway
se configura automáticamente en cada red VPC. Sigue estos pasos para volver a crear la ruta si es necesario.
Consola
En la Google Cloud consola, ve a la página Rutas.
Haga clic en la pestaña Gestión de rutas.
Haz clic en Crear ruta.
Especifica un nombre y una descripción para la ruta.
Selecciona una red para la ruta.
En Intervalo de IP de destino, introduce
0.0.0.0/0
.Especifica una prioridad para la ruta. La prioridad puede ir de
0
(la más alta) a65535
(la más baja).En Siguiente salto, selecciona Pasarela de Internet predeterminada.
Haz clic en Crear.
gcloud
Recrea la ruta predeterminada de IPv4 de una red.
gcloud compute routes create ROUTE_NAME \ --destination-range=0.0.0.0/0 \ --network=NETWORK \ --next-hop-gateway=default-internet-gateway
Haz los cambios siguientes:
ROUTE_NAME
: nombre de la rutaNETWORK
: nombre de la red de VPC que contiene la ruta
API
Recrea la ruta predeterminada de IPv4 de una red.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "destRange": "0.0.0.0/0", "name": "ROUTE_NAME", "network": "NETWORK_NAME", "nextHopGateway": "projects/PROJECT_ID/global/gateways/default-internet-gateway" }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se crea la rutaROUTE_NAME
: nombre de la rutaNETWORK_NAME
: nombre de la red de VPC que contiene la ruta
Añadir una ruta predeterminada IPv6
La ruta estática predeterminada de IPv6 (::/0
) con next-hop-gateway
configurado como default-internet-gateway
se configura automáticamente en la red de VPC al crear una subred con el tipo de acceso IPv6 definido como externo. Puedes eliminar la ruta para bloquear todo el tráfico IPv6 de las VMs a Internet. También puedes volver a crear la ruta si lo necesitas.
Consola
En la Google Cloud consola, ve a la página Rutas.
Haga clic en la pestaña Gestión de rutas.
Haz clic en Crear ruta.
Especifica un nombre y una descripción para la ruta.
Selecciona una red para la ruta.
En Intervalo de IP de destino, introduce
::/0
.Especifica una prioridad para la ruta. La prioridad puede ir de
0
(la más alta) a65535
(la más baja).En Siguiente salto, selecciona Pasarela de Internet predeterminada.
Haz clic en Crear.
gcloud
Recrea la ruta predeterminada de IPv6 de una red.
gcloud compute routes create ROUTE_NAME \ --destination-range=::/0 \ --network=NETWORK \ --next-hop-gateway=default-internet-gateway
Haz los cambios siguientes:
ROUTE_NAME
: nombre de la ruta.NETWORK
: el nombre de la red de VPC que contiene la ruta.
API
Recrea la ruta predeterminada de IPv6 de una red.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "destRange": "::/0", "name": "ROUTE_NAME", "network": "NETWORK_NAME", "nextHopGateway": "projects/PROJECT_ID/global/gateways/default-internet-gateway" }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se crea la rutaROUTE_NAME
: nombre de la rutaNETWORK_NAME
: nombre de la red de VPC que contiene la ruta
Modificar una ruta estática
No puedes editar ni actualizar una ruta estática después de crearla. Para modificar una ruta estática, debes eliminarla y crear otra.
Eliminar una ruta estática
Para eliminar una ruta, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Rutas.
Haga clic en la pestaña Gestión de rutas.
Marca la casilla situada junto a la regla que quieras eliminar.
Haz clic en
Eliminar.Haz clic en Eliminar de nuevo para confirmar la acción.
gcloud
Elimina una ruta estática personalizada con el siguiente comando de la CLI de gcloud:
gcloud compute routes delete ROUTE_NAME
Sustituye ROUTE_NAME
por el nombre de la ruta que quieras eliminar.
API
Elimina una ruta estática personalizada para quitarla de tu red de VPC mediante el método routes.delete
:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes/ROUTE_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto en el que se encuentra tu ruta.ROUTE_NAME
: el nombre de la ruta que se va a eliminar.
Go
Java
Python
Propagación de los cambios de ruta
Cuando añades o eliminas una ruta estática, esta se propaga a todas las regiones y las instancias de máquina virtual de tu red de VPC. El estado de una operación de ruta PENDING
o RUNNING
indica que el cambio de ruta está en cola.
Después de ponerla en cola, el estado de la operación de ruta cambia a DONE
. Pueden pasar 30 segundos más antes de que todas las instancias de máquina virtual de tu red de VPC y de las redes de VPC emparejadas usen una ruta nueva o dejen de usar una ruta antigua.
Si añades o quitas varias rutas estáticas simultáneamente, los cambios se pueden aplicar en cualquier orden. No se garantiza que el orden en el que envíes los cambios de ruta sea el orden en el que se procesen. Es posible que las distintas instancias se den cuenta de los cambios en momentos diferentes.
Si necesitas hacer cambios en las rutas que dependen unos de otros, debes hacerlos de forma secuencial. Es decir, solo puedes hacer cambios posteriores cuando el estado del cambio anterior sea DONE
y hayan transcurrido 30 segundos.
Habilitar el reenvío de IP en las instancias
De forma predeterminada, el reenvío de IP está inhabilitado y Google Cloud realiza una comprobación estricta de la dirección de origen. En función de la configuración del cortafuegos de salida, una VM puede emitir paquetes con los siguientes orígenes:
- Dirección IPv4 interna principal de la interfaz de red (NIC) de una instancia.
- Cualquier intervalo de IP de alias configurado en la NIC de una instancia.
- Si se configura un intervalo de direcciones IPv6 en la subred y la instancia es de doble pila o solo IPv6, cualquiera de las direcciones IPv6 asignadas a la NIC.
- Una dirección IP interna o externa asociada a una regla de reenvío para el balanceo de carga de paso a través o el reenvío de protocolos, si la instancia es un backend de un balanceador de carga de red de paso a través interno o externo, o si una instancia de destino hace referencia a ella.
Para usar una VM como siguiente salto de una ruta, la VM debe reenviar los paquetes cuyas fuentes no coincidan con ninguna de las direcciones o intervalos IP de la lista anterior. Para reenviar paquetes con direcciones de origen arbitrarias, debes habilitar el reenvío de IP:
- Cuando creas o actualizas una VM, puedes habilitar el reenvío de IP siguiendo las instrucciones de esta sección. Habilitar el reenvío de IP se aplica a todas las NICs de la VM.
- Además de los pasos descritos en esta sección, debes habilitar el reenvío de IP en el sistema operativo invitado de la máquina virtual. Para hacerlo en Linux, asigna el valor
1
a uno o ambos de los siguientes parámetros del kernel:net.ipv4.ip_forward
(para IPv4) onet.ipv6.conf.all.forwarding
(para IPv6).
Para habilitar el reenvío de IP al crear una VM, sigue estos pasos.
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
Haz clic en Crear instancia.
En la sección Opciones avanzadas, despliega Redes, discos, seguridad, gestión y único cliente.
Despliega la sección Redes.
En la sección Reenvío de IP, selecciona la casilla Habilitar.
gcloud
Cuando crees una instancia, añade la marca --can-ip-forward
al comando:
gcloud compute instances create ... --can-ip-forward
API
Cuando cree una instancia, use el campo canIpForward
para habilitar el reenvío de IP:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "canIpForward": true, ...other fields }
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto que contiene la instanciaZONE
: la Google Cloud zona que contiene la instancia
Para obtener más información, consulta el método instances.insert
.
Terraform
Puedes usar el recurso de Terraform para crear una instancia de VM con el reenvío de IP habilitado.
En este ejemplo, los argumentos de Terraform tienen valores asignados que puedes cambiar.
Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.
Después de habilitar el reenvío de IP, continúa con el proceso de creación de la VM.
Para habilitar el reenvío de IP en una VM, actualiza la propiedad canIpForward
instance.
Siguientes pasos
- Para obtener información sobre las rutas, consulta Rutas.
- Para obtener información sobre las Google Cloud redes VPC, consulta la información general sobre la nube privada virtual (VPC).
- Para obtener instrucciones sobre cómo crear y modificar redes de VPC, consulta el artículo Crear y gestionar redes de VPC.