Blog de Amazon Web Services (AWS)

Cómo configurar y probar una VPN de sitio a sitio como conexión redundante para AWS Direct Connect

Por Silvio Nunes Junior, Arquitecto de Soluciones en Enterprise AWS Brasil

 

1. Introducción

En una estrategia de migración a la nube, algunas organizaciones optan por migrar todas sus cargas de trabajo existentes a AWS, mientras que otra parte termina manteniendo parte de su entorno en el centro de datos (local) y otra parte en AWS. La coexistencia de recursos locales y de AWS es lo que llamamos una nube híbrida, y la conexión entre estos dos entornos es lo que denominamos redes híbridas. Incluso cuando su organización decida mantener todos los recursos de TI en AWS, puede que sea necesario establecer conectividad con ubicaciones remotas.

Hay varios requisitos que se deben tener en cuenta para elegir el mejor tipo de conectividad, como el rendimiento (tasa de transferencia, latencia y jitter), el tiempo de implementación, seguridad, disponibilidad y costo.

Dependiendo de los requisitos de su aplicación, puede elegir entre diferentes formas de utilizar los servicios en AWS como establecer una VPN sitio a sitio o incluso utilizar un enlace dedicado.

El servicio VPN sitio a sitio de AWS (AWS Site-to-Site VPN) le permite establecer un túnel privado y seguro entre su red y la red global de AWS. Si necesita una alternativa al uso de Internet para conectar su red corporativa a AWS, AWS Direct Connect (DX) proporciona una conexión privada dedicada con anchos de banda de entre 50 Mbps y 40 Gbps (con soporte LAG — agregación de enlaces), lo que permite un mejor rendimiento y consistencia.

Importante  AWS Direct Connect ofrece ahora conexiones dedicadas nativas de 100 Gbps para satisfacer sus necesidades de conectividad privada a la nube. Las conexiones nativas de 100 Gbps proporcionan un mayor ancho de banda sin la sobrecarga operativa de administrar varias conexiones de 10 Gbps en un grupo de agregación de enlaces (LAG). Conexiones dedicadas de 100 Gbps disponibles  en estas ubicaciones  . Esta lista se actualizará a medida que las conexiones dedicadas de 100 Gbps estén disponibles en ubicaciones adicionales.

DX extiende el acceso de los clientes a los recursos de AWS de forma confiable, escalable y rentable. El siguiente enlace describe las prácticas recomendadas para garantizar una alta resiliencia con DX:

https://aws.amazon.com/directconnect/resiliency-recommendation/

En este blog, hablaremos sobre cómo configurar y probar AWS Site-to-Site VPN que funciona como una conexión de respaldo de DX. Supondremos que ya tiene un DX configurado, si necesita más detalles sobre cómo aprovisionarlo, consulte el enlace a continuación:

Redes híbridas, como establecer una conexión dedicada a AWS

Importante Las conexiones VPN no están diseñadas para proporcionar el mismo nivel de ancho de banda disponible para la mayoría de las conexiones DX. Asegúrese de que su caso de uso o aplicación puede tolerar un menor ancho de banda cuando use una VPN como respaldo para DX.

 

2. Escenario inicial con AWS Direct Connect 

Inicialmente, consideremos el siguiente escenario en el que la infraestructura local ya está conectada a AWS principalmente a través de un enlace DX.

 

 

En esta arquitectura, al conectar una interfaz de tránsito virtual (Transit VIF) a Direct Connect Gateway (DXGW), puede compartirla con hasta tres (3) AWS Transit Gateways (TGW) en diferentes regiones.

TGW se utiliza para proporcionar conectividad y enrutamiento transitivo entre diferentes VPC y su centro de datos corporativo; así como para permitir la terminación de VPN con velocidades de transferencia de hasta 50 Gbps mediante el uso de múltiples túneles IPSec con ECMP (Equal-Cost Multipath).

En la siguiente sección discutiremos cómo configurar una VPN sitio a sitio en AWS. Si ya tiene una VPN configurada o ya sabe cómo configurarla, puede ir directamente a la sección 5.

 

3. Configuración de una VPN sitio a sitio

y seguridad, lo que le permite crear conexiones independientes a través de dos túneles IPSec con AES-256, SHA-2 y grupos DH más recientes.

En el lado de AWS, la VPN se puede terminar en:

• Virtual Private Gateway (VGW) – Habilitación de la conectividad privada entre su infraestructura local y una única VPC.
• AWS Transit Gateway (TGW) – Habilitación de conectividad privada entre su infraestructura local y varias VPC conectadas a ella, incluido el enrutamiento transitivo.

En este blog, conectaremos AWS Site-to-Site VPN al TGW para proporcionar redundancia a Direct Connect ya configurado y operativo.

Puede consultar el siguiente blog si necesita ayuda para configurar un nuevo DX: Redes híbridas, como establecer una conexión dedicada a AWS

3.1. La VPN debe asociarse inicialmente con el TGW o conectarse a él, así que vaya a la sección de VPC en la consola de AWS y seleccione Create Transit Gateway Attachment que se encuentra en el submenu de Transit Gateways.

 

  • 3.2. En Transit Gateway ID seleccione su TGW de la lista disponible (puede usar un TGW existente o crear uno nuevo en este paso) y, a continuación, elija VPN en Attachment type:

 

 

3.3. En la seccion de VPN Attachment, elegir New para crear un nuevo Customer Gateway (CGW). CGW representa el enrutador de su centro de datos local.

3.4. Utilizaremos el direccionamiento IP presentado en la arquitectura a continuación solo para ejemplificar el proceso de aprovisionamiento de la VPN que se describirá en detalle en el punto 3.4. Debe asignarlos de acuerdo con su plan de direccionamiento en AWS y en el centro de datos local:

 

3.4.1. Dirección IP: 62.216.229.137 (representa la dirección IP pública configurada en la interfaz externa del router/CGW)
3.4.2. BGP ASN: 65000 (representa el número de sistema autónomo del router)
3.4.3. Para la configuración de túneles, aunque AWS puede asignar automáticamente las direcciones IP, las configuraremos manualmente para facilitar nuestro ejemplo:

• IP CIDR interior para el túnel 1 : 169.254.0.5/30
• Pre-shared key para túnel 1: key_tunnel
• IP CIDR interior para el túnel 2: 169.254.10.5/30
• Pre-shared key para túnel 2: key_tunnel

3.4.4. Haga clic en Create attachment.

 

 

4. Configuración de puerta de enlace de cliente (CGW)

Un Customer Gateway (CGW) es el dispositivo físico o virtualizado de su red local (no de lado de AWS), es el elemento(router o firewall) en donde se configurará la VPN en el centro de datos. Esta configuración de lado del dispositivo local es necesaria para establecer la VPN con AWS.

Para proporcionar una mayor disponibilidad para el acceso al entorno de nube, AWS configura dos túneles IPSec por conexión VPN, lo que permite que la conexión permanezca activa si falla uno de los túneles o incluso un dispositivo del lado de AWS.

Para obtener la configuración del Customer Gateway, vaya a la Site-to-Site VPN Connections y seleccione la conexión VPN que creó en el paso anterior. Luego haga click en Download Configuration.

 

 

Asegúrese de descargar la versión correspondiente al fabricante del customer gateway para aplicar esta configuración en su dispositivo.

 

 

 

5. Enrutamiento

Después de configurar la VPN tendremos un escenario como el siguiente:

 

 

 

Para que el tráfico pueda hacer uso de esta nueva ruta, debemos asociar la VPN con la tabla de enrutamiento del TGW. Para hacer esto:

5.1. Ir a Transit Gateway Route Tables.
5.2. Seleccione la tabla de enrutamiento, en nuestro caso, utilizaremos la tabla TGW predeterminada que también está asociada con VPC y Direct Connect Gateway.
5.3. Seleccione Associations y Create association.
5.4. A continuación, en Choose attachment to associate seleccione el attachment de tipo VPN.

 

 

5.5. En este momento tendrá la tabla de enrutamiento con los siguientes enlaces:

 

 

 

5.6. Siempre en la tabla de enrutamiento de TGW, ahora seleccione Propagations y, a continuación, Create propagation. Agregar una propagación permitirá que las rutas se propagen desde el attachment (VPN en nuestro caso) a la tabla de rutas de TGW. De esta manera, los prefijos de centro de datos serán conocidos por DXGW y AWS Site-to-Site VPN.

 

 

5.7. En la sección de Route Tables en el menu de VPC, seleccione la tabla de enrutamiento asociada a su VPC. En nuestro ejemplo utilizaremos VPC_123 y VPC_234, ya que queremos que ambas tengan conectividad a la red local a través de VPN.
5.8. Haga clic en Routes y, a continuación, en Edit Routes y finalmente en Add route;

 

 

5.9. En Destination agregue el rango CIDR de la red de destino (subred de la red del centro de datos) y en Target seleccione el TGW creado previamente para la terminación de la VPN. Haga click en Save routes.

 

 

 

6. Prueba de conmutación

En esta sección, simulará un error de DX y confirmará que aún puede enviar tráfico a través de la conexión de backup VPN sitio a sitio de AWS.

Antes de apagar la conexión DX, inspeccionemos las tablas de ruteo y el camino que está tomando el tráfico.

Vaya a la sección de VPC de la consola de AWS y seleccione Transit Gateway Route Tables utilizado anteriormente. Tenga en cuenta que incluso si hay dos rutas hacia el centro de datos (DX y VPN), sólo aparece la ruta preferida en la tabla de ruteo.

 

 

Por lo tanto, si el mismo prefijo se recibe a través de DX y VPN (como en nuestro caso), el TGW siempre preferirá la ruta a través de DX. Es por eso que solo se instala la ruta a través de DX en la tabla de rutas de TGW.

En la dirección opuesta, desde su centro de datos hasta AWS, usted tiene un control completo sobre su ruta preferida y puede utilizar mecanismos de BGP para gestionar el reenvío de tráfico.

Puede consultar el siguiente enlace para obtener más detalles sobre las opciones de enrutamiento VPN de sitio a sitio:

https://docs.aws.amazon.com/es_es/vpn/latest/s2svpn/VPNRoutingTypes.html

 

7. Simulación de falla de Direct Connect

El servicio DX incluye una funcionalidad que facilita la ejecución de pruebas de conmutación por fallas, Failover test. Esta opción le permite deshabilitar la sesión BGP configurada en cualquier interfaz virtual de DX durante un cierto período de tiempo.

7.1. Para iniciar la simulación, vaya a la sección de Direct Connect en la consola de AWS y seleccione Virtual interfaces.
7.2. En Actions, seleccione Bring down BGP.

 

 

7.3. Habilite el failure test durante un período comprendido entre 1 y 180 minutos y confirme.

 

 

7.4. La conexión entrará en el modo testing y la sesión de BGP terminará cayendo. Puede cancelar la prueba en cualquier momento para volver a restablecer la conectividad.

 

 

7.5. Aún con DX no disponible durante las pruebas de conmutación por falla, vuelva a la VPC en la consola y vuelva a comprobar las rutas en Transit Gateway Route Tables. La ruta a través de DX debe haber desaparecido y ahora debería ver la ruta a través de la VPN.
7.6. Dado que la conexión VPN consta de 2 túneles IPSEC, debería ver los attachments en la tabla de enrutamiento. Coloca el cursor sobre los attachments para ver cómo estan mapeados.

 

 

Teniendo en cuenta que se produzca una falla DX en un entorno productivo, el tiempo de convergencia para el uso de VPN dependerá principalmente de los temporizadores del BGP (timers). De forma predeterminada, la sesión BGP establecida a través de DX esperará 3 veces el valor keepalive (3 x 30 segundos), para que la sesión se caiga. Por lo tanto, se espera un tiempo aproximado de 90 segundos para que el tráfico comience a fluir a través de la conexión VPN. Este tiempo puede ser más largo dependiendo de la arquitectura y la topología de la red. Discutiremos formas de optimizarlo en un próximo blog

 

8. Conclusiones

Una buena estrategia de redes híbridas es importante para el éxito de su viaje a AWS. Dependiendo de sus requisitos de conectividad para rendimiento, seguridad, resiliencia, tiempo de implementación y costo, el uso de una conexión VPN como backup de Direct Connect puede ser una alternativa viable.
Al manipular la tabla de enrutamiento y usar BGP, puede automatizar el proceso de conmutación por fallas de tal manera que el uso de la ruta de backup a través de VPN se haga de forma automática.
Para probar y validar el proceso de conmutación por fallas, puede utilizar la funcionalidad de prueba (Failover test) en DX. Esta funcionalidad deshabilita la sesión BGP establecida por el enlace principal (DX) durante un tiempo especificado, permitiendo que el tráfico fluya a lo largo de la ruta de respaldo (AWS Site-to-Site VPN).
Dado que el perfil de volumen y tráfico pueden cambiar debido a nuevas aplicaciones y requisitos, se recomienda realizar pruebas de conmutación por fallas regularmente en las rutas de respaldo para asegurarse de que la arquitectura sigue cumpliendo los requisitos iniciales.

Acrônimos.

  • DX: AWS Direct Connect.
  • VPN: Virtual Private Network.
  • DXGW: AWS Direct Connect Gateway.
  • VGW: Virtual Private Gateway.
  • CGW: Customer Gateway.
  • TGW: Transit Gateway.
  • ASN: Autonomous System Number.
  • VIF: Virtual Interface.
  • BGP: Border Gateway Protocol.
  • SLA: Service Level Agreement.
  • ECMP: Equal-cost multi-path.

 

Este artículo fue traducido del Blog de AWS en Portugués.

 


Sobre el autor

Silvio Nunes Junior es Arquitecto de Soluciones en Enterprise AWS Brasil.

 

 

 

 

Revisores

Marcos Cotomacio es Arquitecto de Soluciones en Enterprise AWS Brasil.

 

 

 

 

Claudio Freire Junior es Arquitecto de Soluciones Startup en AWS US.

 

 

 

 

Michelle Bittencourt Perez es Arquitecta de Soluciones.

 

 

 

 

Gabriela Diaz es Arquitecta de Soluciones en AWS México.