Taller: interconectando nubes con VPN s2s entre AWS y Azure

Redes Taller

Una de las estrategias disponibles para la utilización de las nubes publicas para nuestro negocio, es diversificar nuestra capacidad entre diferentes proveedores (evitando el vendor lock-in, ganando resiliencia, independizando circuitos e infraestructuras subyacentes…).

Para ello, una de las primeras soluciones que debemos tener implementada y resuelta es la conectividad entre nuestros inquilinos para poder interconectar nuestras cargas.

En este post, veremos cómo conectar nuestras nubes cifrando nuestro tráfico a través de VPN Site to Site IKEv2.

Criterio de aceptación: desde una máquina virtual en AWS, conectarnos al servidor web de otra vm desplegada en Azure.

Esquema del laboratorio:


PASO 1: CONFIGURACIÓN DE AZURE

1.1. Creamos un grupo de recursos.

1.2. Creamos la red vnet-vpn y sus subredes

  • Nombre red: vnet-01
  • Espacio direccionamiento: 172.100.0.0/16
    • Subred para los servidores -> ServerSubnet: 172.100.2.0/24
    • Subnet para el Gateaway -> GatewaySubnet: 172.100.1.0/27 (debe tener ese nombre y la notación CIDR se recomienda en /27 para este tipo de subnet ).


1.3. Creamos la VPN Gateway

Utilizaremos os recursos creados anteriormente. El grupo de recursos, la vnet-01 y GatewaySubnet y crearemos una nueva IP pública (pip-vpn) para la terminación en Azure de nuestro túnel.


PASO 2: CONFIGURACIÓN DE AWS

2.1. Creamos nuestra VPC

  • Nombre: vpc-vpn
  • Espacio direcciones: 10.10.0.0/16
  • Subred: 10.10.1.0/24

2.2. Creamos una subnet dentro del VPC


2.3. Creamos nuestra Customer Gateway (nombre: cgw) apuntando a la IP pública del extremo de Azure. (pip-vpn)

2.4. Creamos nuestra Virtual Private Gateway (nombre: vgGateway) y la asociamos al VPC (vpc-vpn)


2.5. Creamos la conexión VPN site-to-site.

  • Fijamos, como prefijo de IP estática la subred de los servidores en Azure. 172.100.1.0/24


Después de la creación del túnel, debe quedarnos así:


2.6. Descargamos el fichero de configuración desde el botón de la parte superior.


NOTA: el formato de descarga debe ser de proveedor Genérico, Azure no tiene como tal una defición de fabricante.

  • El fichero descargado (.txt) contiene información de 2 túneles, debemos anotarnos la IP y la PSK del IPSec Tunnel #1. Estos datos los introduciremos en Azure a continuación.
  • Nota: contiene información de 2 túneles ya que AWS ofrece la posibilidad de tener disponibilidad activo/activo pero nosotros sólo estableceremos un túnel en esta prueba de concepto.


PASO 3: TERMINAMOS LA CONFIGURACIÓN DE AZURE

3.1 Creamos una Local Network Gateway. Apuntará al extremo de AWS y será la IP que tenemos en el fichero de AWS de referencia a Virtual Private Gateway. Añadiremos el espacio de direcciones de la subred de AWS donde se alojará el servidor: en nuestro caso 10.10.0.0/16.

thumbnail image 29 of blog post titled 
	
	
	 
	
	
	
				
		
			
				
						
							How to create a VPN between Azure and AWS using only managed solutions
thumbnail image 30 of blog post titled 
	
	
	 
	
	
	
				
		
			
				
						
							How to create a VPN between Azure and AWS using only managed solutions


3.2. Por último, creamos la conexión entre ambos extremos.


Tras unos minutos, la conexión entre extremos debería establecerse. (Status=Connected)


En AWS veríamos el Túnel 1 levantado. (Notar que el Túnel 2 no lo hemos configurado)


Adicionalmente, en AWS, debemos configurar la propagación de rutas. Debería mostrarse como a continuación:


Deberíamos poder ver desde la vm en Azure, como en las rutas Estáticas consta el camino para legar a AWS.


PASO 4: PROBEMOS!!

  1. En AWS, crearemos primero que nada un Gateway de Internet, sólo para poder conectarnos a la vm y lanzar el testeo a través del túnel.
  2. Lanzaremos un instancia EC2 con Linux, asociada al VPC creado anteriormente y le daremos una IP Pública.
  3. En el extremo de Azure, se ha creado un máquina virtual (vm-iis01) con un servidor web escuchando en el puerto 80 que muestra como página por defecto, el hostname, es decir, vm-iis01. Se ha seguido este artículo con powershell para la creación.
  4. Una vez ambas máquina creadas y en ejecución, probaremos a pingear a la vm en Azure y con curl a acceder al servidor web.

……y…funciona!!

Esperamos que os haya resultado útil y os animamos a compartir vuestras opiniones.

Importante: si no es necesario su uso, recordar borrar todos los recursos de ambos directorios creados con anterioridad.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *