Migrar SQL Server a AWS mediante grupos de disponibilidad distribuidos - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Migrar SQL Server a AWS mediante grupos de disponibilidad distribuidos

Creado por Praveen Marthala (AWS)

Origen: SQL Server en las instalaciones

Destino: SQL Server en EC2

Tipo R: volver a alojar

Entorno: PoC o piloto

Tecnologías: bases de datos; migración

Carga de trabajo: Microsoft

Servicios de AWS: Amazon EC2

Resumen

Los grupos de disponibilidad Always On de Microsoft SQL Server proporcionan una solución de alta disponibilidad (HA) y recuperación de desastres (DR) para SQL Server. Un grupo de disponibilidad consta de una réplica principal que acepta tráfico de lectura/escritura y hasta ocho réplicas secundarias que aceptan tráfico de lectura. Un grupo de disponibilidad se configura en un clúster de conmutación por error de Windows Server (WSFC) con dos o más nodos.

Los grupos de disponibilidad distribuida Always On de Microsoft SQL Server proporcionan una solución para configurar dos grupos de disponibilidad independientes entre dos WFSC independientes. Los grupos de disponibilidad que forman parte del grupo de disponibilidad distribuida no tienen que estar en el mismo centro de datos. Un grupo de disponibilidad puede estar en las instalaciones y el otro en la nube de Amazon Web Services (AWS) en instancias de Amazon Elastic Compute Cloud (Amazon EC2) de un dominio diferente. 

Este patrón describe los pasos para usar un grupo de disponibilidad distribuido para migrar bases de datos de SQL Server locales que forman parte de un grupo de disponibilidad existente a SQL Server con grupos de disponibilidad configurados en Amazon EC2. Si sigue este patrón, puede migrar las bases de datos a la nube de AWS con un tiempo de inactividad mínimo durante la transición. Las bases de datos están altamente disponibles en AWS inmediatamente después de la transición. También puede usar este patrón para cambiar el sistema operativo subyacente de local a AWS y, al mismo tiempo, mantener la misma versión de SQL Server.

Requisitos previos y limitaciones

Requisitos previos 

  • Una cuenta de AWS activa

  • AWS Site-to-Site VPN de AWS Direct Connect

  • La misma versión de SQL Server instalada localmente y en los dos nodos de AWS

Versiones de producto

  • SQL Server versión 2016 y posteriores

  • SQL Server Enterprise Edition

Arquitectura

Pila de tecnología de origen

  • Base de datos de Microsoft SQL Server con grupos de disponibilidad Always On en las instalaciones

Pila de tecnología de destino

  • Base de datos de Microsoft SQL Server con grupos de disponibilidad Always On en Amazon EC2 en la nube de AWS

Arquitectura de migración

Terminología

  • WSFC 1: WSFC en las instalaciones

  • WSFC 2: WSFC en la nube de AWS

  • AG 1: primer grupo de disponibilidad, que se encuentra en el WSFC 1

  • AG 2: segundo grupo de disponibilidad, que se encuentra en el WSFC 2

  • Réplica principal de SQL Server: nodo del AG 1 que se considera el principal global para todas las escrituras

  • Reenviador de SQL Server: nodo de AG 2 que recibe datos de forma asíncrona desde la réplica principal de SQL Server

  • Réplica secundaria de SQL Server: nodos en el AG 1 o el AG 2 que reciben datos de forma sincrónica desde la réplica principal o el reenviador

Herramientas

  • AWS Direct Connect: AWS Direct Connect se utiliza para vincular su red interna con una ubicación de AWS Direct Connect de a través de cable de fibra óptica Ethernet de fibra óptica. Con esta conexión, puede crear interfaces virtuales directamente en servicios públicos de AWS, derivando a los proveedores de Internet a su ruta de acceso a la red.

  • Amazon EC2: Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad de computación escalable en la nube de AWS. Puede utilizar Amazon EC2 para lanzar tantos servidores virtuales como necesite, y puede escalar horizontalmente o reducir horizontalmente.

  • VPN Site-to-Site de AWS: la VPN Site-to-Site de AWS permite crear una red privada virtual (VPN). site-to-site Puede configurar la VPN para que transmita el tráfico entre las instancias que lance en AWS y su propia red remota.

  • Microsoft SQL Server Management Studio: Microsoft SQL Server Management Studio (SSMS) es un entorno integrado para administrar la infraestructura de SQL Server. Proporciona una interfaz de usuario y un grupo de herramientas con editores de scripts enriquecidos que interactúan con SQL Server.

Epics

TareaDescripciónHabilidades requeridas
Crear un WSFC en AWS.

Cree WSFC 2 en instancias de Amazon EC2 con dos nodos para HA. Utilizará este clúster de conmutación por error para crear el segundo grupo de disponibilidad (AG 2) en AWS.

Administrador de sistemas, administrador SysOps
Cree el segundo grupo de disponibilidad en el WSFC 2.

Con SSMS, cree el AG 2 en dos nodos del WSFC 2. El primer nodo del WSFC 2 actuará como reenviador. El segundo nodo del WSFC 2 actuará como réplica secundaria del AG 2.

En este momento, no hay bases de datos disponibles en AG 2. Este es el punto de partida para configurar el grupo de disponibilidad distribuida.

Administrador de base de datos, desarrollador
Crear bases de datos sin opción de recuperación en AG 2.

Realice copias de seguridad de las bases de datos en el grupo de disponibilidad local (AG 1). 

Restaurar las bases de datos tanto en el reenviador como en la réplica secundaria del AG 2 sin opción de recuperación. Al restaurar las bases de datos, especifique una ubicación con suficiente espacio en disco para los archivos de datos de la base de datos y los archivos de registro.

En este momento, las bases de datos se encuentran en estado de restauración. No forman parte del AG 2 ni del grupo de disponibilidad distribuida y no se sincronizan.

Administrador de base de datos, desarrollador
TareaDescripciónHabilidades requeridas
Cree el grupo de disponibilidad distribuida en AG 1.

Para crear el grupo de disponibilidad distribuida en el AG 1, utilice el CREATE AVAILABILITY GROUP con la DISTRIBUTED opción.

  1. Utilice las direcciones de LISTENER_URL punto de conexión para el AG 1 y el AG 2.

  2. ParaAVAILABILITY-MODE, use ASYNCHRONOUS_COMMIT para evitar la latencia de la red, si la hubiera. Esto no afectará al rendimiento de la base de datos.

  3. En FAILOVER_MODE, utilice MANUAL. Es el único modo de disponibilidad que funciona con grupos de disponibilidad distribuidos.

  4. Para restaurar las bases de datos manualmente en AG 2 y tener más control en bases de datos más grandes, utilice MANUAL para SEEDING_MODE.

Administrador de base de datos, desarrollador
Cree el grupo de disponibilidad distribuida en AG 2.

Para crear el grupo de disponibilidad distribuida en AG 2, utilice ALTER AVAILABILITY GROUP con la opción DISTRIBUTED.

  1. Utilice las direcciones de LISTENER_URL punto de conexión para el AG 1 y el AG 2.

  2. ParaAVAILABILITY-MODE, use ASYNCHRONOUS_COMMIT para evitar la latencia de la red, si la hubiera. Esto no afectará al rendimiento de la base de datos.

  3. En FAILOVER_MODE, utilice MANUAL. Es el único modo de disponibilidad que funciona con grupos de disponibilidad distribuidos.

  4. Para restaurar las bases de datos manualmente en AG 2 y tener más control en bases de datos más grandes, utilice MANUAL para SEEDING_MODE.

El grupo de disponibilidad distribuida se crea entre el AG 1 y el AG 2.

Las bases de datos del AG 2 aún no están configuradas para participar en el flujo de datos del AG 1 al AG 2.

Administrador de base de datos, desarrollador
Añadir bases de datos al reenviador y a la réplica secundaria en AG 2.

Agregue las bases de datos al grupo de disponibilidad distribuida utilizando ALTER DATABASE con la opción SET HADR AVAILABILITY GROUP tanto en el reenviador como en la réplica secundaria en el AG 2. 

Esto inicia un flujo de datos asíncrono entre las bases de datos de la AG 1 y la AG 2. 

La principal global realiza las escrituras, envía los datos de forma sincrónica a la réplica secundaria en la AG 1 y envía los datos de forma asíncrona al reenviador en la AG 2. El reenviador del AG 2 envía los datos de forma sincrónica a la réplica secundaria del AG 2.

Administrador de base de datos, desarrollador
TareaDescripciónHabilidades requeridas
Utilice registros de DMV y SQL Server.

Supervise el estado del flujo de datos entre dos grupos de disponibilidad mediante vistas de administración dinámica (DMV) y registros de SQL Server. 

Los DMV que son de interés para la supervisión incluyen sys.dm_hadr_availability_replica_states y sys.dm_hadr_automatic_seeding.

Para conocer el estado de la sincronización del reenviador, supervise el estado sincronizado en el registro de SQL Server del reenviador.

Administrador de base de datos, desarrollador
TareaDescripciónHabilidades requeridas
Detener todo el tráfico hacia la réplica principal.

Detenga el tráfico entrante a la réplica principal en la AG 1 para que no se produzca ninguna actividad de escritura en las bases de datos y las bases de datos estén listas para la migración.

Propietario de la aplicación, desarrollador
Cambie el modo de disponibilidad del grupo de disponibilidad distribuida en AG 1.

En la réplica principal, establezca el modo de disponibilidad del grupo de disponibilidad distribuido en sincrónico. 

Tras cambiar el modo de disponibilidad a sincrónico, los datos se envían de forma sincrónica desde la réplica principal de la AG 1 al reenviador de la AG 2.

Administrador de base de datos, desarrollador
Compruebe los LSN en ambos grupos de disponibilidad.

Compruebe los últimos números de secuencia de registro (LSN) tanto en el AG 1 como en el AG 2. Como no se está realizando ninguna escritura en la réplica principal del AG 1, los datos se sincronizan y los últimos LSN de ambos grupos de disponibilidad deberían coincidir.

Administrador de base de datos, desarrollador
Actualice AG 1 al rol secundario.

Al actualizar el AG 1 al rol secundario, el AG 1 pierde el rol de réplica principal y no acepta escrituras, y el flujo de datos entre dos grupos de disponibilidad se detiene.

Administrador de base de datos, desarrollador
TareaDescripciónHabilidades requeridas
Conmutar por error manualmente a AG 2.

En el reenviador de AG 2, modifique el grupo de disponibilidad distribuida para permitir la pérdida de datos. Como ya ha comprobado y confirmado que los últimos LSN del AG 1 y del AG 2 coinciden, la pérdida de datos no es motivo de preocupación.

Al permitir la pérdida de datos en el reenviador de AG 2, las funciones de AG 1 y AG 2 cambian:

  • AG 2 pasa a ser el grupo de disponibilidad con la réplica principal y la réplica secundaria.

  • El AG 1 pasa a ser el grupo de disponibilidad con el reenviador y la réplica secundaria.

Administrador de base de datos, desarrollador
Cambie el modo de disponibilidad del grupo de disponibilidad distribuida en AG 2.

En la réplica principal de AG 2, cambie el modo de disponibilidad a asíncrono.

Esto cambia el movimiento de datos del AG 2 al AG 1, de sincrónico a asíncrono. Este paso es necesario para evitar la latencia de la red entre el AG 2 y el AG 1, si existe, y no afectará al rendimiento de la base de datos.

Administrador de base de datos, desarrollador
Comience a enviar tráfico a la nueva réplica principal.

Actualice la cadena de conexión para utilizar el punto de conexión de la URL del oyente en la AG 2 para enviar el tráfico a las bases de datos.

El AG 2 ahora acepta escrituras y envía datos al reenviador en el AG 1, además de enviar los datos a su propia réplica secundaria en el AG 2. Los datos se mueven de forma asíncrona del AG 2 al AG 1.

Propietario de la aplicación, desarrollador
TareaDescripciónHabilidades requeridas
Elimine el grupo de disponibilidad distribuida en AG 2.

Supervise la migración durante el tiempo planificado. A continuación, coloque el grupo de disponibilidad distribuida en la AG 2 para eliminar la configuración del grupo de disponibilidad distribuida entre la AG 2 y la AG 1. Esto elimina la configuración del grupo de disponibilidad distribuida y se detiene el flujo de datos del AG 2 al AG 1. 

En este momento, AG 2 está altamente disponible en AWS, con una réplica principal que realiza escrituras y una réplica secundaria en el mismo grupo de disponibilidad.

Administrador de base de datos, desarrollador
Quite del servicio de los servidores en las instalaciones.

Retire del servicio los servidores locales del WSFC 1 que forman parte del AG 1.

Administrador de sistemas, SysOps administrador

Recursos relacionados