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