Configuración de la recuperación ante desastres para una aplicación web basada en IIS de niveles múltiples
El software de las aplicaciones es el motor que mantiene la productividad del negocio. En una organización, puede haber diversas aplicaciones web con diferentes propósitos. Algunas aplicaciones, como las que se usan para el procesamiento de nóminas, aplicaciones financieras y sitios web orientado al cliente, pueden resultar fundamentales para una organización. Para evitar la pérdida de productividad, es importante que la organización tenga estas aplicaciones continuamente en funcionamiento. Más importante aún, tener estas aplicaciones disponibles sistemáticamente puede ayudar a impedir que se perjudique la marca o la imagen de la organización.
Las aplicaciones web que resultan esenciales suelen configurarse como aplicaciones de capas múltiples: web, base de datos y aplicación. Además de abarcar diferentes capas, las aplicaciones también pueden usar diferentes servidores en cada nivel para equilibrar la carga del tráfico. Por otra parte, las asignaciones entre las diferentes capas y en el servidor web podrían basarse en direcciones IP estáticas. Si se produce una conmutación por error, algunas de estas asignaciones deben actualizarse, especialmente, si hay varios sitios web configurados en el servidor web. Si las aplicaciones web usan TLS, debe actualizar los enlaces de certificado.
Con los métodos de recuperación tradicionales que no se basan en la replicación, es necesario realizar la copia de seguridad de varios archivos de configuración, valores del Registro, enlaces, componentes personalizados (COM o .NET), contenido y certificados. Los archivos se recuperan mediante un conjunto de pasos manuales. Los métodos tradicionales de copia de seguridad y recuperación manual de los archivos son complicados, propensos a errores y no se pueden escalar. Por ejemplo, es fácil olvidarse de realizar una copia de seguridad de los certificados. Después de la conmutación por error, no le queda más remedio que comprar nuevos certificados para el servidor.
Una buena solución de recuperación ante desastres admite el modelado de planes para arquitecturas de aplicación complejas. También debe poder agregar pasos personalizados al plan de recuperación para controlar las asignaciones de aplicación entre capas. Si se produce un desastre, las asignaciones de aplicación proporcionan una solución infalible con un solo clic que conducen a un RTO inferior.
En este artículo se describe cómo proteger una aplicación web basada en Internet Information Services (IIS) mediante Azure Site Recovery. También se describen los procedimientos recomendados para replicar en Azure una aplicación web basada en IIS de tres capas, cómo llevar a cabo un simulacro de recuperación ante desastres y cómo conmutar por error la aplicación a Azure.
Prerrequisitos
Antes de comenzar, asegúrese de que sabe cómo realizar las tareas siguientes:
- Replicar una máquina virtual en Azure
- Diseñar una red de recuperación
- Realizar una conmutación por error de prueba en Azure
- Realizar una conmutación por error en Azure
- Replicar un controlador de dominio
- Replicación de SQL Server
Modelos de implementación
Por lo general, las aplicaciones web basadas en IIS se ajustan a uno de los siguientes patrones de implementación:
Patrón de implementación 1
Una granja de servidores web basados en IIS con Enrutamiento de solicitud de aplicaciones (ARR), un servidor IIS y SQL Server.
Patrón de implementación 2
Una granja de servidores web basados en IIS con ARR, un servidor IIS, un servidor de aplicaciones y SQL Server.
Compatibilidad de Site Recovery
En los ejemplos de este artículo, usamos máquinas virtuales de VMware con IIS 7.5 en Windows Server 2012 R2 Enterprise. Dado que la replicación de Site Recovery no es específica de la aplicación, se espera que las recomendaciones de este artículo se apliquen en los escenarios indicados en la siguiente tabla y para distintas versiones de IIS.
Origen y destino
Escenario | En un sitio secundario | En Azure |
---|---|---|
Hyper-V | Sí | Sí |
VMware | Sí | Sí |
Servidor físico | No | Sí |
Azure | N/D | Sí |
Replicación de máquinas virtuales
Para iniciar la replicación de todas las máquinas virtuales de la granja de servidores web IIS en Azure, siga las instrucciones de Conmutación por error de prueba a Azure en Site Recovery.
Si usa una dirección IP estática, puede especificar la dirección IP que quiere que se utilice con la máquina virtual. Para establecer la dirección IP, vaya a la configuración de red>IP DE DESTINO.
Creación de un plan de recuperación
Un plan de recuperación admite la secuenciación de distintas capas en una aplicación de varios niveles durante una conmutación por error. La secuenciación ayuda a mantener la coherencia de la aplicación. Cuando cree un plan de recuperación para una aplicación web de varios niveles, complete los pasos descritos en Creación de un plan de recuperación mediante Site Recovery.
Adición de máquinas virtuales a grupos de conmutación por error
Por lo general, una aplicación web de IIS de varias capas consta de los siguientes componentes:
- Una capa de base de datos que tiene máquinas virtuales de SQL.
- La capa web, que consta de un servidor IIS y una capa de aplicación.
Agregue máquinas virtuales a diferentes grupos según la capa:
- Cree un plan de recuperación. Agregue las máquinas virtuales de la capa de base de datos en el grupo 1. De esta forma, se garantiza que las máquinas virtuales de la capa de base de datos se apagan las últimas y se activan primero.
- Agregue las máquinas virtuales de la capa de aplicación en el grupo 2. De esta forma, se garantiza que las máquinas virtuales de la capa de aplicación se activan una vez que lo han hecho las de la capa de base de datos.
- Agregue las máquinas virtuales de la capa web en el grupo 3. De esta forma, se garantiza que las máquinas virtuales de la capa web se activan una vez que lo han hecho las de la capa de aplicación.
- Agregue las máquinas virtuales de equilibrio de carga en el grupo 4. De esta forma, se garantiza que las máquinas virtuales de equilibrio de carga se activan una vez que lo han hecho las de la capa web.
Para más información, consulte cómo personalizar el plan de recuperación.
Adición de un script al plan de recuperación
Es posible que tenga que realizar algunas operaciones en las máquinas virtuales de Azure tras la conmutación por error o durante una conmutación por error de prueba. Algunas de las operaciones posteriores a la conmutación por error se pueden automatizar. Por ejemplo, puede actualizar la entrada DNS, cambiar un enlace de sitio o cambiar una cadena de conexión mediante la adición de los scripts correspondientes al plan de recuperación. En Adición de scripts de VMM a los planes de recuperación se describe cómo configurar tareas automatizadas mediante un script.
Actualización de DNS
Si el DNS está configurado para que se actualice de forma dinámica, por lo general, las máquinas virtuales lo actualizarán con la nueva dirección IP al iniciarse. Si quiere incorporar un paso explícito para actualizar DNS con las nuevas direcciones IP de las máquinas virtuales, agregue un script para actualizar direcciones IP en DNS como una acción posterior a la conmutación por error en los grupos de planes de recuperación.
Cadena de conexión del archivo web.config de una aplicación
La cadena de conexión especifica la base de datos con la que se comunica el sitio web. Si la cadena de conexión contiene el nombre de la máquina virtual de la base de datos, no es necesario realizar ningún paso adicional después de realizar la conmutación por error. La aplicación puede comunicarse automáticamente con la base de datos. Asimismo, si la dirección IP de la máquina virtual de la base de datos no cambia, no será necesario actualizar la cadena de conexión.
Si la cadena de conexión hace referencia a la máquina virtual de la base de datos mediante una dirección IP, es necesario actualizarla después de realizar la conmutación por error. Por ejemplo, la siguiente cadena de conexión apunta a la base de datos con la dirección 127.0.1.2:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ConnStringDb1" connectionString="Data Source= 127.0.1.2\SqlExpress; Initial Catalog=TestDB1;Integrated Security=False;" />
</connectionStrings>
</configuration>
Para actualizar la cadena de conexión en la capa web, agregue un script de actualización de la conexión de IIS después del grupo 3 en el plan de recuperación.
Enlaces del sitio en la aplicación
Todos los sitios se componen de información de enlace. La información de enlace incluye el tipo de enlace, la dirección IP en la que el servidor IIS escucha las solicitudes del sitio, el número de puerto y los nombres de host del sitio. Durante la conmutación por error, puede ser necesario actualizar estos enlaces si hay un cambio en la dirección IP que tienen asociada.
Nota:
Si establece el enlace del sitio en Todas sin asignar, no es necesario actualizar este enlace después de la conmutación por error. Además, si la dirección IP asociada con un sitio no cambia después de la conmutación por error, no es necesario actualizar el enlace del sitio. (La retención de la dirección IP depende de la arquitectura de red y de las subredes asignadas a los sitios principal y de recuperación. Actualizarlos podría no ser factible para su organización).
Si la dirección IP está asociada con un sitio, actualice todos los enlaces de sitio con la nueva dirección IP. Para cambiar los enlaces de sitio, agregue un script de actualización de capa web de IIS después del grupo 3 en el plan de recuperación.
Actualización de la dirección IP del equilibrador de carga
Si tiene una máquina virtual de ARR, para actualizar la dirección IP, agregue un script de conmutación por error de ARR para IIS después al grupo 4.
Enlace de certificado TLS/SSL para una conexión HTTPS
Un sitio web puede tener un certificado TLS/SSL asociado que ayude a garantizar una comunicación segura entre el servidor web y el explorador del usuario. Si el sitio web tiene una conexión HTTPS y también tiene un enlace de sitio HTTPS asociado a la dirección IP del servidor IIS con un enlace de certificado TLS/SSL, debe agregar un nuevo enlace de sitio para el certificado con la dirección IP de la máquina virtual de IIS después de la conmutación por error.
El certificado TLS/SSL se puede emitir para estos componentes:
- El nombre de dominio completo del sitio web.
- El nombre del servidor.
- Un certificado comodín para el nombre de dominio.
- Una dirección IP. Si se emite el certificado TLS/SSL para la dirección IP del servidor IIS, se debe emitir otro certificado TLS/SSL para la dirección IP del servidor IIS en el sitio de Azure. Será necesario crear un enlace TLS adicional para este certificado. Por este motivo, se recomienda no usar un certificado TLS/SSL emitido para la dirección IP. Esta opción se usa mucho menos y dejará de utilizarse pronto con arreglo a los nuevos cambios del foro de entidad de certificación/explorador.
Actualización de la dependencia entre la capa web y la capa de aplicación
Si tiene una dependencia específica de la aplicación basada en la dirección IP de las máquinas virtuales, debe actualizarla tras la conmutación por error.
Ejecución de una conmutación por error de prueba
- En Azure Portal, seleccione el almacén de Recovery Services.
- Seleccione el plan de recuperación que creó para la granja de servidores web de IIS.
- Seleccione Conmutación por error de prueba.
- Para iniciar el proceso de conmutación por error de prueba, seleccione el punto de recuperación y la red virtual de Azure.
- Cuando el entorno secundario esté activo, podrá realizar validaciones.
- Cuando las validaciones hayan finalizado y quiera limpiar el entorno de conmutación por error de prueba, seleccione Validations complete (Validaciones finalizadas).
Para más información, consulte Conmutación por error de prueba a Azure en Site Recovery.
Ejecución de la conmutación por error
- En Azure Portal, seleccione el almacén de Recovery Services.
- Seleccione el plan de recuperación que creó para la granja de servidores web de IIS.
- Seleccione Failover (Conmutación por error).
- Para iniciar el proceso de conmutación por error, seleccione el punto de recuperación.
Para más información, consulte Conmutación por error en Site Recovery.
Pasos siguientes
- Aprenda más sobre la replicación de otras aplicaciones mediante Site Recovery.