Tablas de enrutamiento de subred - Amazon Virtual Private Cloud

Tablas de enrutamiento de subred

Su VPC tiene un enrutador implícito y utiliza las tablas de ruteo para controlar dónde se dirige el tráfico de red. Cada subred de la VPC debe estar asociada a una tabla de enrutamiento que controla el direccionamiento de la subred (tabla de enrutamiento de la subred). Puede asociar de forma explícita una subred con una tabla de enrutamiento particular. De lo contrario, la subred se asocia de forma implícita con la tabla de enrutamiento principal. La subred solo puede asociarse a una tabla de enrutamiento a la vez. Sin embargo, puede asociar varias subredes a la misma tabla de enrutamiento de la subred.

Rutas

Cada ruta en una tabla especifica un destino y un objetivo. Por ejemplo, para permitir que su subred acceda a Internet a través de una puerta de enlace de Internet, añada la siguiente ruta a su tabla de enrutamiento de la subred. El destino de la ruta es 0.0.0.0/0, que representa todas las direcciones IPv4. El objetivo es la puerta de enlace de Internet que se conecta a su VPC.

Destino Objetivo
0.0.0.0/0 igw-id

Los bloques de CIDR para las direcciones IPv4 e IPv6 se tratan de forma individual. Por ejemplo, una ruta con un CIDR de destino de 0.0.0.0/0 no incluye de forma automática todas las direcciones IPv6. Por ello, debe crear una ruta con un CIDR de destino de ::/0 para todas las direcciones IPv6.

Si hace referencia con frecuencia al mismo conjunto de bloques de CIDR en sus recursos de AWS, puede crear una lista de prefijos administrada por el cliente para agruparlos. A continuación, puede especificar la lista de prefijos como destino en la entrada de la tabla de enrutamiento.

Cada tabla de enrutamiento contiene una ruta local para la comunicación con la VPC. Esta ruta se agrega de forma predeterminada a todas las tablas de ruteo. Si la VPC tiene varios bloques de CIDR IPv4, las tablas de ruteo contienen una ruta local para CAD bloque de CIDR IPv4. Si ha asociado un bloque de CIDR IPv6 a su VPC, las tablas de ruteo contendrán una ruta local para el bloque de CIDR IPv6. Puede reemplazar o restaurar el destino de cada ruta local según sea necesario.

Reglas y consideraciones
  • No puede agregar una ruta a sus tablas de enrutamiento que es más específica que la ruta local. El destino debe coincidir con todo el bloque de CIDR IPv4 o IPv6 de una subred en su VPC. El destino debe ser una puerta de enlace NAT, una interfaz de red o un punto de enlace del equilibrador de carga de la puerta de enlace.

  • Si su ruta tiene varias rutas, para determinar cómo dirigir tráfico, se utiliza la ruta más específica que coincida con el tráfico en cuestión (coincidencia del prefijo más largo).

  • No se pueden agregar rutas a direcciones IPv4 que coincidan de forma exacta o que sean un subconjunto del siguiente rango: 169.254.168.0/22. Este rango se encuentra dentro del espacio de direcciones locales de enlace y está reservado para ser utilizado por los servicios de AWS. Por ejemplo, Amazon EC2 utiliza direcciones en este rango para servicios a los que solo se puede acceder desde instancias de EC2, como el servicio de metadatos de instancia (IMDS) y el servidor DNS de Amazon. Puede utilizar un bloque de CIDR que sea mayor que el rango 169.254.168.0/22, pero se solape con este. No obstante, los paquetes destinados a las direcciones de 169.254.168.0/22 no se reenviarán.

  • No se pueden agregar rutas a direcciones IPv6 que coincidan de forma exacta o que sean un subconjunto del siguiente rango: fd00:ec2::/32. Este rango está dentro del espacio de direcciones locales únicas (ULA) y está reservado para que lo utilicen los servicios de AWS. Por ejemplo, Amazon EC2 utiliza direcciones en este rango para servicios a los que solo se puede acceder desde instancias de EC2, como el servicio de metadatos de instancia (IMDS) y el servidor DNS de Amazon. Puede utilizar un bloque de CIDR que sea mayor que el rango fd00:ec2::/32, pero se solape con este. No obstante, los paquetes destinados a las direcciones de fd00:ec2::/32 no se reenviarán.

  • Puede agregar dispositivos middlebox a las vías de enrutamiento de su VPC. Para obtener más información, consulte Enrutamiento para un dispositivo middlebox.

Ejemplo

En el siguiente ejemplo, suponga que la VPC tiene tanto un bloque de CIDR IPv4 como un bloque de CIDR IPv6. El tráfico IPv4 e IPv6 se tratan por separado, como se muestra en la siguiente tabla de enrutamiento.

Destino Objetivo
10.0.0.0/16 Local
2001:db8:1234:1a00::/56 Local
172.31.0.0/16 pcx-11223344556677889
0.0.0.0/0 igw-12345678901234567
::/0 eigw-aabbccddee1122334
  • El tráfico IPv4 que se enrutará dentro de la VPC (10.0.0.0/16) está cubierto por la ruta Local.

  • El tráfico IPv6 que se enrutará dentro de la VPC (2001:db8:1234:1a00::/56) está cubierto por la ruta Local.

  • La ruta para 172.31.0.0/16 envía tráfico a una conexión de emparejamiento.

  • La ruta de todo el tráfico IPv4 (0.0.0.0/0) envía el tráfico a una puerta de enlace de Internet. Por lo tanto, todo el tráfico IPv4, excepto el tráfico dentro de la VPC y hacia la interconexión, se enruta a la puerta de enlace de Internet.

  • La ruta para todo el tráfico IPv6 (::/0) envía tráfico a una puerta de enlace de Internet de solo salida. Por lo tanto, todo el tráfico IPv6, excepto el tráfico dentro de la VPC, se enruta a la puerta de enlace de Internet de solo salida.

Tabla de enrutamiento principal

Al crear una VPC, esta cuenta de manera automática con una tabla de enrutamiento principal. Si una subred no está asociada de forma explícita a una tabla de enrutamiento, se utilizará la tabla de enrutamiento principal de forma predeterminada. En la página Route tables (Tablas de enrutamiento) de la consola de Amazon VPC, puede consultar la tabla de enrutamiento de una VPC si busca el valor Yes (Sí) en la columna Main (Principal).

De forma predeterminada, cuando se crea una VPC no predeterminada, la tabla de enrutamiento principal contiene sólo una ruta local. Si Creación de una VPC y elija una puerta de enlace NAT, Amazon VPC añade automáticamente rutas a la tabla de enrutamiento principal de las puertas de enlace.

Las siguientes reglas se aplican a la tabla de enrutamiento principal:

  • De este modo, podrá añadir, quitar y modificar rutas en la tabla de enrutamiento principal.

  • La tabla de enrutamiento principal no se puede eliminar.

  • No puede establecer una tabla de enrutamiento de puerta de enlace como la tabla de enrutamiento principal.

  • Puede reemplazar la tabla de enrutamiento principal asociando una tabla de enrutamiento personalizada con una subred.

  • También podrá asociar de manera explícita una subred a la tabla de enrutamiento principal incluso si ya está asociada de manera implícita.

    Es posible que desee hacerlo si cambia qué tabla es la tabla de enrutamiento principal. Cuando modifica la tabla que se considerará como tabla de enrutamiento principal, también modifica la opción predeterminada de las nuevas subredes adicionales o para las subredes que no están explícitamente asociadas a ninguna otra tabla de enrutamiento. Para obtener más información, consulte Sustituir la tabla de enrutamiento principal.

Tablas de enrutamiento personalizadas

De forma predeterminada, una tabla de enrutamiento contiene una ruta local para la comunicación dentro de la VPC. Si Creación de una VPC y elija una subred pública, Amazon VPC crea una tabla de enrutamiento personalizada y agrega una ruta que apunta a la puerta de enlace de Internet. Una forma de proteger la VPC es dejar la tabla de enrutamiento principal en su estado predeterminado original. Después, asocie de forma explícita cada nueva subred que cree a una de las tablas de ruteo personalizadas que haya creado. De este modo, se asegurará de que controla de manera explícita el modo en que cada subred direcciona el tráfico.

De este modo, podrá añadir, quitar y modificar rutas en la tabla de enrutamiento personalizada. Sólo puede eliminar una tabla de enrutamiento personalizada si no tiene asociaciones.

Asociar una subred a la tabla de enrutamiento

Cada subred de su VPC debe estar asociada a una tabla de enrutamiento. Una subred se puede asociar de forma explícita a la tabla de enrutamiento personalizada o de manera implícita o explícita a la tabla de enrutamiento principal. Para obtener más información sobre la visualización de las asociaciones de la subred y la tabla de enrutamiento, consulte Determinar qué subredes o puertas de enlace están asociadas explícitamente.

Las subredes que se encuentran en VPC asociadas a Outposts pueden tener un tipo de objetivo adicional de una puerta de enlace local. Esta es la única diferencia de direccionamiento con respecto a las subredes que no son de Outposts.

Ejemplo 1: asociación implícita y explícita de la subred

El diagrama siguiente muestra el direccionamiento de una VPC con una puerta de enlace de Internet, una puerta de enlace privada virtual, una subred pública y una subred de solo VPN.

Diagrama de la subred privada asociada con tabla de enrutamiento principal y la subred pública con tabla de enrutamiento personalizada

La tabla de enrutamiento A es una tabla de enrutamiento personalizada asociada de forma explícita a la subred pública. Tiene una ruta que envía todo el tráfico a la puerta de enlace de Internet, que es lo que convierte a la subred en una subred pública.

Destino Objetivo
CIDR DE VPC Local
0.0.0.0/0 igw-id

La tabla de enrutamiento B es la tabla de enrutamiento principal. Está asociado implícitamente a la subred privada. Tiene una ruta que envía todo el tráfico a la puerta de enlace privada virtual, pero ninguna ruta a la puerta de enlace de Internet, que es lo que hace que la subred sea una subred solo de VPN. Si crea otra subred en esta VPC y no asocia una tabla de enrutamiento personalizada, la subred también se asociará implícitamente con esta tabla de enrutamiento porque es la tabla de rutas principal.

Destino Objetivo
CIDR DE VPC Local
0.0.0.0/0 vgw-id
Ejemplo 2: sustitución de la tabla de enrutamiento principal

Es posible que desee realizar cambios en la tabla de enrutamiento principal. Para evitar cualquier interrupción en el tráfico, le recomendamos que pruebe primero los cambios de la ruta mediante una tabla de enrutamiento personalizada. De este modo, cuando esté satisfecho con las pruebas, puede sustituir la tabla de enrutamiento principal con la nueva tabla personalizada.

El siguiente diagrama muestra dos subredes y dos tablas de enrutamiento. La subred A está asociada implícitamente a la tabla de enrutamiento A, la tabla de enrutamiento principal. La subred B está implícitamente asociada con la tabla de enrutamiento a la tabla de enrutamiento B, una tabla de enrutamiento personalizada, no está asociada con ninguna de las subredes.

Dos subredes con asociaciones implícitas con la tabla de enrutamiento A, la tabla de enrutamiento principal.

Para reemplazar la tabla de enrutamiento principal, comience por crear una asociación explícita entre la subred B y la tabla de rutas B. Pruebe la tabla de rutas B.

La subred B ahora está asociada explícitamente a la tabla de enrutamiento B, una tabla de enrutamiento personalizada.

Una vez probada la tabla de enrutamiento B, podrá convertirla en tabla de enrutamiento principal. La subred B todavía tiene una asociación explícita con la tabla de enrutamiento B. Sin embargo, la subred A ahora tiene una asociación implícita con la tabla de enrutamiento B, porque la tabla de enrutamiento B es la nueva tabla de enrutamiento principal. La tabla de enrutamiento A ya no está asociada a ninguna de las subredes.

Diagrama de la subred A asociada a la tabla de enrutamiento principal B y la subred B asociada a la tabla de enrutamiento B

(Opcional) Si desasocia la subred B de la tabla de enrutamiento B, aún existe una asociación implícita entre la subred B y la tabla de enrutamiento B. Si ya no necesita la tabla de enrutamiento A, puede eliminarla.

Ambas subredes están asociadas implícitamente a la tabla de enrutamiento B.