Blog de Amazon Web Services (AWS)
Configurando un Plan de Recuperación de Desastres (DRP) entre AWS y Azure utilizando CloudEndure
Por Ebrahim (EB) Khiyami, Arquitecto de Soluciones de AWS
Introducción
Hoy en día existe una gran cantidad de clientes que siguen una estrategia multi-nube, con varios servicios críticos que necesitan ser protegidos, algunos de estos clientes hoy en día ejecutan cargas de trabajo en Azure y han seleccionado a AWS como su sitio de recuperación ante desastres.
Una vez que se tiene claro cual será el sitio de recuperación, la siguiente tarea es seleccionar la herramienta de migración y es en este punto en donde los clientes encuentran que las soluciones tradicionales de recuperación ante desastres requieren licencias duplicadas de hardware, computación, almacenamiento, redes y software para garantizar la integridad de los datos y un RPO casi nulo.
Es por esto que recomendamos utilizar CloudEndure Disaster Recovery, el cual proporciona una solución sencilla para replicar y recuperar cargas de trabajo de Azure a AWS. Ya que CloudEndure, habilita la replicación de datos a nivel de bloque entre distintas nubes publicas o desde su data center local, además convierte automáticamente las máquinas de origen para que arranquen y se ejecuten de forma nativa en AWS.
Vista General
CloudEndure Disaster Recovery replica continuamente sus máquinas (incluido el sistema operativo, la configuración del estado del sistema, las bases de datos, las aplicaciones y los archivos) en un área de preparación (Staging Area) de bajo costo en su cuenta de AWS de destino y región preferida. En el caso de un desastre, puede indicarle a CloudEndure Disaster Recovery que inicie automáticamente miles de sus máquinas en su estado de aprovisionamiento completo en minutos.
Al replicar sus máquinas en un área de preparación de bajo costo y al mismo tiempo poder lanzar máquinas completamente aprovisionadas en minutos, CloudEndure Disaster Recovery puede reducir significativamente el costo de su infraestructura de recuperación de desastres.
El siguiente diagrama arquitectónico muestra la solución descrita en este documento.
Procedimiento
A continuación, se muestran los pasos para implementar la solución de recuperación:
1. Establecimiento de conectividad entre Azure y AWS
Para mas información acerca de como configurar una VPN S2S entre Azure y AWS, siga el siguiente blog:
https://aws.amazon.com/es/blogs/aws-spanish/configurando-una-conexion-vpn-sitio-a-sitio-entre-aws-y-azure/
Una vez que tenemos conectividad entre Azure y AWS, ejecute los siguientes pasos:
En Azure
a. Crear un Virtual Network Gateway con enrutamiento estático
b. Tome nota de la dirección IP pública del Gateway creado. Lo usaremos en el siguiente paso.
En AWS
c. Crear un Virtual Private Gateway (VPG). Seleccione ASN predeterminado de Amazon para ASN.
d. Asocie la VPG creada a la VPC que planea utilizar para alojar la recuperación ante desastres.
e. Crear un Customer Gateway (CGW). Seleccione Estático para enrutamiento y proporcione la dirección IP pública para la Virtual Private Gateway de Azure que se indica en el paso (a-b). En Dirección IP estática, escriba la dirección de red del sitio primario en Azure.
f. Crear VPN Connection de sitio a sitio. Seleccione VGW y el Gateway del cliente creado en el paso anterior. Seleccione Enrutamiento estático y proporcione la dirección IP de la red vNET de Azure.
g. Descargar la plantilla de configuración
h. Debemos localizar la Pre-Shared key y la dirección IP del Virtual Private Gateway en el archivo de configuración. Revise el archivo cuidadosamente para comprender su contenido.
Vea el ejemplo en la siguiente imagen.
En Azure
i. Cree un Local Network Gateway. Proporcione la dirección IP externa indicada en el paso (h). En el campo Address space (Espacio de direcciones), proporcione la dirección de red de la VPC de DR del lado de AWS.
j. Cree una conexión. Debe proporcionar la clave previamente compartida anotada en el archivo de configuración en el paso (h).
k. Por último, recuerde modificar la tabla de enrutamiento (Rounting Table) de la subred en el lado de AWS para que direccione el tráfico de la VPN al VGW.
La conexión VPN que creamos en AWS tendrá 2 túneles. Te recomiendo configurar ambos túneles para alta disponibilidad. Usted debe seguir los mismos pasos para configurar el segundo túnel.
En este punto, tenemos una conexión VPN entre Azure y AWS. En el siguiente paso debemos añadir las tareas necesarias para la administración y replicación de CloudEndure entre Azure y AWS.
2. Completar los requisitos de red para CloudEndure
Ajuste la configuración de seguridad en ambos lados para permitir los puertos necesarios para la replicación y autenticación de CloudEndure DR.
Comunicación a través del puerto TCP 443:
- Entre las máquinas de origen y el Administrador de servicios CloudEndure.
- Entre el área de ensayo y el Administrador de servicios CloudEndure.
Comunicación a través del puerto TCP 1500:
- Entre las máquinas de origen y el área de ensayo
3. Regístrese para obtener una cuenta de Recuperación ante desastres de CloudEndure, cree un proyecto de recuperación ante desastres y obtenga un token de instalación del agente
Antes de utilizar CloudEndure DR, debe suscribirse al producto en el AWS Marketplace. El proceso de suscripción es el siguiente:
- Para crear una cuenta de Recuperación ante desastres de CloudEndure, proporcione una dirección de correo electrónico
- Confirme el registro enviado a su correo electrónico.
- Compruebe los detalles en Registro en CloudEndure Disaster Recovery
El primer paso en el uso de CloudEndure es crear un project. Tenemos dos tipos de proyectos:
- Migration
- Disaster Recovery
Seleccione Disaster Recovery.
Después de crear un proyecto, debe configurar los entornos de origen y de destino, Replication Settings y obtener un token de autenticación. Use el token para instalar el agente de CloudEndure en los servidores origen, en este caso es una máquina virtual de Azure. Para ello, proporcione las credenciales (clave de acceso y clave de acceso secreta) para un usuario de Identity and Access Management (IAM) de su cuenta de AWS que tenga los permisos necesarios para ejecutar la API de CloudEndure. Los detalles se enlistan en la CloudEndure IAM policy.
El siguiente paso es establecer el origen y el destino de la recuperación ante desastres. El origen puede ser una región de AWS, si desea realizar una recuperación ante desastres de región a región dentro de AWS. El origen es Other Infrastructure, si el entorno de origen es un centro de datos físico, un entorno virtual o cualquier otra nube pública.
Para Azure, elija Other Infrastructure. También debe proporcionar la subred en la que se lanzará el servidor de replicación de AWS en el área de ensayo y el grupo de seguridad que utilizará. Mantenga el tipo de instancia para el servidor de replicación como predeterminado.
Después de completar la configuración en la pantalla de configuración de replicación, se le presentará una página How to Add Machines que le dará las instrucciones de instalación del agente de CloudEndure y el token de instalación. Tome nota de estos detalles y prepárese para cambiarse al portal de Azure.
4. Instalar el agente de CloudEndure
Mi entorno de origen es una máquina virtual con Windows 2019 DC y tiene dos discos de tamaño 8 y 15 GB. Como se muestra en la captura de pantalla anterior, debemos descargar el instalador del agente para Windows y a continuación conectarse a través de RDP a la máquina virtual. Ejecute el comando para instalar el agente. Esta es la salida de pantalla:
Una vez que la instalación se haya completado correctamente, CloudEndure comenzará a crear el servidor de replicación en el área de ensayo mediante los parámetros que configuró en el Blueprint (más información sobre blueprint en el paso siguiente). Esto autenticará el servidor de replicación con el Administrador de servicios CloudEndure.
- Descargar el software de replicación
- Crear discos de ensayo
- Empareje el agente de CloudEndure en la máquina virtual de origen con el servidor de replicación
- Establezca la comunicación entre el agente de CloudEndure y el servidor de replicación
El tráfico de replicación se cifra en tránsito mediante AES 256 bit y se transporta en el puerto TCP 1500. Asegúrese de que tiene este puerto abierto en azure en la dirección de salida a AWS. A continuación, CloudEndure comenzará a iniciar la replicación y cuando finalice, la máquina virtual de origen se mostrará en el panel con el estado Continuous Data Protection CDP en la columna progreso. La máquina virtual en este momento está lista para probarse para la recuperación ante desastres.
5. Configurar el blueprint
Mientras espera a que se complete la sincronización de datos inicial y cambie al estado Continuous Data Protection, elija Machines en el panel de CloudEndure para ir a la página Blueprint.
El Blueprint es un conjunto de instrucciones sobre cómo lanzar una maquina destino (target machine). Puede definir propiedades de Blueprint como el tipo de instancia, la subred, el grupo de seguridad, la dirección IP y otros.
Seleccione la target VM para que se ejecute en un tipo de máquina que sea una copia del origen. Esto significa que CloudEndure coincidirá con un tipo de instancia en AWS que proporcione al menos las propiedades de CPU y memoria en la máquina virtual de Azure. También selecciono una subred que ya había creado en mi VPC de recuperación ante desastres y elijo una nueva IP que se asignará al servidor de destino desde esa subred.
6. Ejecute failover de Azure a AWS
El proceso general de Failover comienza con la replicación. Como vimos en el paso anterior, la replicación comienza con la sincronización inicial y, a continuación, entra en el estado de Continuous Data Protection.
A continuación, se crearán snapshots de varios puntos en el tiempo (PIT). Antes de realizar un failover real, le recomiendo que inicie primero el servidor de destino en modo de prueba.
Para ello, seleccione la máquina y a continuación, seleccione Launch Target Machine> Test Mode. A continuación, debe seleccionar el snapshot de la maquina que desea recuperar. CloudEndure DR le permite seleccionar de forma predeterminada entre 60 snapshots por disco por mes. Seleccione Latest y luego Recover.
Una vez que la máquina de prueba se haya creado correctamente, la columna Disaster Recovery Lifecycle mostrará «Tested Recently» con una barra verde a la izquierda del nombre de la máquina. Esto significa que la máquina ya está lista para el failover.
Pasos para el failover
- Inicie la máquina en Recovery Mode. Esto es similar al lanzamiento de máquinas en modo de prueba. Seleccione latest snapshot.
- Realice el failover. En este paso dirigirá el tráfico de los usuarios de Azure a AWS. Los pasos aquí varían dependiendo de la herramienta que utilice para dirigir el tráfico.
- CloudEndure creará la máquina final de failover utilizando las configuraciones que proporcionó en el Blueprint en el paso 5. En este punto, la columna Disaster Recovery Lifecycle mostrará «Failed Over».
7. Ejecute failback de Azure a AWS
Ya sea que realice un DR failover como parte de un ejercicio anual de pruebas de recuperación ante desastres o como parte de un desastre real, es posible que desee regresar al entorno de origen una vez finalizada la interrupción o el desastre. Esta funcionalidad se denomina failback.
CloudEndure DR realiza el failback restableciendo el proyecto e invirtiendo la dirección de replicación de AWS a Azure. Todos los datos que se escribieron en la máquina de recuperación (en AWS) durante el desastre se copiarán de nuevo en las máquinas de la infraestructura de origen original (Azure).
Los pasos reales para el failback dependen de la infraestructura de origen. En caso de que su entorno de origen sea AWS o VMWare, los pasos están completamente orquestados. Si la infraestructura de origen es física u otros proveedores de nube pública, será necesario un cliente de failback.
Pasos para failback
- Prepare el proyecto el failback seleccionando la opción Prepare for Failback en el menú Project Actions de la consola de usuario.
El proyecto mostrará “Preparing for failback to original Source” junto al tipo de proyecto. Después de unos minutos, la columna Data Replication Progress mostrará “Pair the CloudEndure Agent with the Replication Server”. Este estado solo cambiará después de completar la instalación del cliente de failback en Azure en el paso siguiente.
Descargue el cliente failback desde Replication Settings. El cliente de failback es una imagen ISO de ubuntu que actúa como un servidor de replicación independiente. Debe instalarlo en la máquina virtual de origen y arrancar desde ella para que comience a iniciar la conexión necesaria para iniciar la replicación en la dirección inversa, de AWS a Azure.
Prepare el cliente de failback en Azure
Actualmente, Azure admite la creación de máquinas virtuales desde VHD. Para usar el cliente de failback de CloudEndure, primero debe convertirlo de ISO al formato VHD. Los pasos detallados para hacer esto están fuera del alcance de este post, pero, en un alto nivel, esto es lo que haces:
- Implemente la imagen ISO de failback en una estación de trabajo VMWare.
- Una vez completada la instalación, apague la máquina virtual y copie el archivo VMDK resultante
- Use el siguiente script de PowerShell para convertir el archivo VMDK en VHD. (Debe cambiar las ubicaciones de los archivos para reflejar sus entornos reales)
1. Import-Module 'C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1<br /> 2. ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath 'C:\Users\Administrator\Documents\Virtual Machines\failbackdvd\failbackdvd.vmdk' -VhdType FixedHardDisk -VhdFormat Vhd -DestinationLiteralPath C:\DR
- Cargar el archivo VHD resultante en la cuenta de almacenamiento en Azure siguiendo los pasos descritos en Create an Azure Storage Account
- Crear una imagen con el archivo VHD que cargó
- Cree una nueva máquina virtual con la imagen que ha creado. Esto actuará como el servidor de replicación. Más adelante lo usaré para restaurar los datos de la máquina de AWS a Azure una vez completada la replicación. Asegúrese de que ha conectado los mismos discos que en la máquina de origen en AWS descrita en el paso 4.
- Cuando inicie la máquina virtual recién creada, vera la siguiente pantalla que indica que el cliente de failback de CloudEndure se ha cargado y está esperando a que el token de autenticación de CloudEndure se autentique con la consola de CloudEndure. Los detalles sobre dónde recuperar el token de autenticación de la consola de CloudEndure están disponibles en Installing the Agents.
Introduzca el token de autenticación y luego el ID de la máquina que quiere replicar. Los detalles para comprobar un ID de máquina en la consola de CloudEndure están disponibles en Machines Page. El servidor de replicación se autenticará con la consola de CloudEndure y se conectará a la máquina de origen en AWS en el puerto TCP 1500 para iniciar la replicación. Asegúrese de que tiene un grupo de seguridad que permita permitir esta conectividad en Azure y AWS.
Espere a que se complete la replicación y entro en el estado Continuous Data Protection en la consola de CloudEndure. Esto indica que la dirección de replicación se ha invertido correctamente.
Vuelva a CloudEndure y siga los mismos pasos que en el paso 6 para lanzar un Test y, a continuación, Recovery Instance. Algo a tener en cuenta es que al lanzar el Test/Recovery Instance, el cliente de failback se reiniciará como parte del proceso de lanzamiento. Asegúrese de desasociar manualmente el volumen que contiene el cliente de conmutación por recuperación.
La consola de CloudEndure ahora mostrará “Pair with CloudEndure Agent”. Este estado solo cambiará cuando devuelva el proyecto al funcionamiento normal en el paso siguiente.
8. Volver a la operación normal
En este punto, hicimos failover de Azure a AWS como parte de un ejercicio de recuperación ante desastres o un desastre real. A continuación, realizamos failback de AWS a Azure invirtiendo la dirección de replicación para que todos los datos escritos durante la interrupción o el desastre en AWS se repliquen de nuevo en Azure.
El último paso en el proceso es volver a las operaciones normales. Esto revertirá de nuevo la replicación de la ubicación principal original en Azure al destino de recuperación original en AWS. Para ello, seleccione Project Actions> Return to Normal Operation.
El failback ya se ha completado y la replicación se ha invertido a su dirección original de Azure a AWS.
Beneficios
- Ahorro promedio del 80% en el costo total de propiedad (TCO, Total Cost of Ownership) en comparación con las soluciones tradicionales de recuperación ante desastres
- Sub-seconds RPO
- RTO de minutos, soporta todos los tipos de aplicaciones, incluidas las bases de datos y otras cargas de trabajo de escritura intensiva
- Failover automatizado al sitio de destino durante un desastre
- Recuperación a punto en el tiempo, lo que permite el failover a versiones anteriores de servidores replicados
- failback con un solo clic, restaurando las operaciones en los servidores de origen automáticamente
- Ejercicios de recuperación ante desastres ilimitados y no disruptivos
Costo potencial
CloudEndure Disaster Recovery se factura por hora por cada servidor de origen registrado, independientemente de la capacidad de almacenamiento aprovisionado. Los precios incluyen replicación continua de datos, ejercicios de recuperación ante desastres prácticamente ilimitados, recuperación en un punto en el tiempo, failover y failback automatizados.
Además de la cuota de suscripción a CloudEndure Disaster Recovery, usted paga por los recursos de almacenamiento provisional de bajo costo que CloudEndure Disaster Recovery crea (por ejemplo, EC2, EBS) durante la replicación continua. El pago de los recursos totalmente aprovisionados solo es necesario durante los ejercicios de recuperación ante desastres o el modo de recuperación.
Conclusión
En este blog, creamos un entorno de prueba para demostrar la funcionalidad de DR de CloudEndure entre Azure como un sitio de origen de DR y AWS como el destino de DR. Le mostré cómo crear un túnel VPN entre ambas nubes, iniciar la replicación, el failover de Azure a AWS y luego el failback de AWS a Azure (utilizando el cliente de recovery failback de CloudEndure). Finalmente, le mostramos cómo regresar su proyecto a su funcionamiento normal revirtiendo la replicación a su dirección original como comenzamos de Azure a AWS. Se pueden encontrar más detalles en CloudEndure Disaster Recovery
Este artículo fue traducido del Blog de AWS en Inglés
Sobre los autores
Ebrahim (EB) Khiyami es un arquitecto de soluciones especializado en migración empresarial. Apoya a los clientes de AWS en su viaje para modernizar, transformar y migrar cargas de trabajo locales a la nube de AWS. Fuera del trabajo, a menudo se le encuentra corriendo, leyendo y persiguiendo a sus hijos por la casa.