DRP Windows Server with AWS DRS (Elastic Disaster Recovery)
Published: 2023-07-19 17:31:13

**Descripción**
Este documento fue confeccionando con el fin de poder compartir el conocimiento adquirido mientras se ponía a prueba las capacidades de recuperación ante desastres de la herramienta AWS Elastic Disaster Recovery (DRS).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6bayk8hyytvi4vx7j1h4.png)

**¿Qué es Elastic Disaster Recovery?**
Es una solución de AWS que minimiza el tiempo de inactividad y pérdida de datos con una recuperación rápida y confiable de las aplicaciones locales y basadas en la nube mediante almacenamiento asequible, computo mínimo y recuperación puntual.
Puede aumentar la resiliencia de TI cuando utiliza AWS Elastic Disaster Recovery para replicar aplicaciones locales o basadas en la nube que se ejecutan en sistemas operativos compatibles. 
Use la Consola de administración de AWS para configurar los ajustes de replicación y lanzamiento, monitorear la replicación de datos y lanzar instancias para simulacros o recuperación.
Configure AWS Elastic Disaster Recovery en sus servidores de origen para iniciar la replicación segura de datos. Sus datos se replican en una subred del área de preparación en su cuenta de AWS, en la región de AWS que seleccione. El diseño del área de preparación reduce los costos mediante el uso de almacenamiento asequible y recursos informáticos mínimos para mantener la replicación continua.
Puede realizar pruebas no disruptivas para confirmar que la implementación está completa. Durante el funcionamiento normal, mantenga la preparación supervisando la replicación y ejecutando periódicamente simulacros de recuperación y conmutación por recuperación sin interrupciones. AWS Elastic Disaster Recovery convierte automáticamente sus servidores para que arranquen y se ejecuten de forma nativa en AWS cuando lanza instancias para simulacros o recuperación. Si necesita recuperar aplicaciones, puede lanzar instancias de recuperación en AWS en cuestión de minutos, utilizando el estado del servidor más actualizado o un momento anterior. Una vez que sus aplicaciones se ejecutan en AWS, puede optar por mantenerlas allí o puede iniciar la replicación de datos en su sitio principal cuando se resuelva el problema. Puede volver a su sitio principal cuando esté listo.

**Instalación VM Onpremise**
Para este demo empleamos una instancia creada en una máquina local con Hyper-v como hipervisor. (sistema operativo a usar es una versión de Trial de Windows Server 2019)
Al comenzar la instalación, nos pide generar un usuario, para esto nos autenticamos con la cuenta **example.usuario@dominio.com** perteneciente a un dominio de Azure AD. 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ote86xiymc3gkb5h0edv.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zh1nzisc44u5m3fz2su5.png)

**IAM Policy**
Mientras se realiza la instalación del sistema operativo y las actualizaciones de seguridad necesarias, nos dirigimos a la consola de AWS para agregar la política necesaria (AWSElasticDisasterRecoveryAgentInstallationPolicy) la cual nos permitirá instalar el agente y comenzar la replicación con la herramienta AWS DRS.
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ohilmen3y0uaz4k65lbf.png)

**Instalación del Agente DRS**
Una vez terminadas las actualizaciones de seguridad de nuestra VM procedemos a descargar el agente; en este caso utilizaremos: https://aws-elastic-disaster-recovery-us-east-1.s3.amazonaws.com/latest/windows/AwsReplicationWindowsInstaller.exe
Al seguir los pasos que indica la documentación, nos pedirá especificar la región donde utilizaremos AWS RDS, nuestra Access key y securty Access key de nuestro usuario que ya cuenta con la política necesaria para este fin.

Ejecutamos la sincronización con DRS, esta puede variar según los recursos que tenga VM, espacio usado en storage y ancho de banda del origen.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abn2ypavua08qnj280bx.png)
 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k3skz47kpbtoesfswx38.png)

**Proceso de Recuperación**

Una vez terminada la replicación ejecutamos una prueba de recuperación.
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ptmqgmnvnrr2xkcqamp0.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tsin2zbruo9vmb6x9b02.png)


 
**Una vez terminada la replicación:**
Nos dirigimos al panel de administración de EC2 y agregamos una Elastic IP para poder acceder. Posterior a esto agregamos la creamos las reglas nescesarias en el Security Group, luego de esto podemos establecer la conexión por medio del cliente RDP (para producción se recomienda usar AWS System Mangeger Fleet manager), pero al momento de autenticarnos con el usuario y contraseña de AZURE AD nos indica que no son correctos y no permite acceder a la instancia.
Lo extraño es que las credenciales funcionan en la VM sin problemas.


**Troubleshooting**

Borramos todo lo relacionado a la instancia en el panel de administración de AWS DRS, una vez realizado esto nos dirigimos la VM Onpremise y habilitamos el usuario Administrador local que viene desactivado por defecto en Windows, abrimos un terminal de PowerShell como administrador utilizamos los siguientes comandos: **Net user administrador /active:yes** y luego el siguiente comando: **control userpasswords2** para reestablecer la contraseña, reiniciamos el VM y procedemos a iniciarla con el usuario creado.
Ejecutamos nuevamente la instalación del agente para comenzar la replicación y ejecutamos los mismos pasos mencionados anteriormente.

Esta vez con el usuario Administrador podemos arrancar la instancia EC2 sin problemas en AWS.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sp5nkbf04koeku5q5tw3.png)