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.
Configure una infraestructura Multi-AZ para una FCI Always On de SQL Server mediante Amazon FSx
Creado por Manish Garg (AWS), T.V.R.L.Phani Kumar Dadi (AWS), Nishad Mankar (AWS) y RAJNEESH TYAGI (AWS)
Repositorio de código: -automation aws-windows-failover-cluster | Entorno: PoC o piloto | Origen: Base de datos de Microsoft SQL Server en las instalaciones |
Destino: Microsoft SQL Server en EC2 | Tipo R: volver a alojar | Carga de trabajo: Microsoft |
Tecnologías: migración; infraestructura; DevOps | Servicios de AWS: AWS Managed Microsoft AD; Amazon EC2; Amazon FSx; AWS Systems Manager |
Resumen
Si necesita migrar rápidamente una gran cantidad de instancias de clúster de conmutación por error (FCI) Always On de Microsoft SQL Server, este patrón puede ayudarle a minimizar el tiempo de aprovisionamiento. Al utilizar la automatización y Amazon FSx para Windows File Server, reduce los esfuerzos manuales, los errores cometidos por el hombre y el tiempo necesario para implementar una gran cantidad de clústeres.
Este patrón configura la infraestructura para las FCI de SQL Server en una implementación de zona de disponibilidad múltiple (Multi-AZ) en Amazon Web Services (AWS). El aprovisionamiento de los servicios de AWS necesarios para esta infraestructura se automatiza mediante CloudFormation plantillas de AWS. La instalación de SQL Server y la creación de nodos de clúster en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) se realizan mediante comandos. PowerShell
Esta solución utiliza un sistema de archivos Amazon FSx para Windows Multi-AZ de alta disponibilidad como testigo compartido para almacenar los archivos de la base de datos de SQL Server. El sistema de archivos Amazon FSx y las instancias EC2 de Windows que alojan SQL Server se unen al mismo dominio de AWS Directory Service para Microsoft Active Directory (AWS Managed Microsoft AD).
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa
Un usuario de AWS con permisos suficientes para aprovisionar recursos mediante CloudFormation plantillas de AWS
AWS Directory Service para Microsoft Active Directory
Credenciales en AWS Secrets Manager para autenticarse en AWS Managed Microsoft AD en un par clave-valor:
ADDomainName
: <Nombre del dominio>ADDomainJoinUserName
: <Nombre-de-usuario>ADDomainJoinPassword
: <Domain User Password>TargetOU
: <Target OU Value>
Nota: Utilizará el mismo nombre clave en la automatización de AWS Systems Manager para la actividad de unión a AWS Managed Microsoft AD.
Archivos multimedia de SQL Server para la instalación de SQL Server y la creación de cuentas de servicio o dominio de Windows, que se utilizarán durante la creación del clúster
Una nube privada virtual (VPC), con dos subredes públicas en zonas de disponibilidad independientes, dos subredes privadas en las zonas de disponibilidad, una puerta de enlace de Internet, puertas de enlace NAT, asociaciones de tablas de enrutamiento y un servidor Jump
Versiones de producto
Microsoft Windows Server 2012 R2 y Microsoft SQL Server 2016
Arquitectura
Pila de tecnología de origen
Servidor en las instalaciones de SQL Server con FCI que utilizan una unidad compartida
Pila de tecnología de destino
Instancias de AWS EC2
Amazon FSx para Windows File Server
Manual de procedimiento de Automatización de AWS Systems Manager
Configuraciones de red (VPC, subredes, puerta de enlace de Internet, puertas de enlace NAT, servidor de salto, grupos de seguridad)
AWS Secrets Manager
AWS Managed Microsoft AD
Amazon EventBridge
AWS Identity y Access Management (IAM)
Arquitectura de destino
El siguiente diagrama muestra una cuenta de AWS en una sola región de AWS, con una VPC que incluye dos zonas de disponibilidad, dos subredes públicas con puertas de enlace NAT, un servidor de salto en la primera subred pública, dos subredes privadas, cada una con una instancia EC2 para un nodo de SQL Server en un grupo de seguridad de nodos, y un sistema de archivos Amazon FSx que se conecta a cada uno de los nodos de SQL Server. También se incluyen AWS Directory Service EventBridge, Amazon, AWS Secrets Manager y AWS Systems Manager.
![Arquitectura Multi-AZ con recursos en subredes públicas y privadas, con grupos de seguridad de nodos.](images/pattern-img/f09c0164-be2d-4665-a574-7ec29fd25082/images/543829a9-e130-4542-9c4e-7518c6cbe967.png)
Automatizar y escalar
Puede usar AWS Systems Manager para unirse a AWS Managed Microsoft AD y realizar la instalación de SQL Server.
Herramientas
Servicios de AWS
AWS le CloudFormation ayuda a configurar los recursos de AWS, aprovisionarlos de forma rápida y coherente y gestionarlos durante todo su ciclo de vida en todas las cuentas y regiones de AWS.
AWS Directory Service ofrece varias formas de utilizar Microsoft Active Directory (AD) con otros servicios de AWS, como Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) para SQL Server y Amazon FSx para Windows File Server.
Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad de computación escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
Amazon EventBridge es un servicio de bus de eventos sin servidor que le ayuda a conectar sus aplicaciones con datos en tiempo real de diversas fuentes. Por ejemplo, las funciones de Lambda de AWS, los puntos de conexión de invocación HTTP que utilizan destinos de API o los buses de eventos de otras cuentas de AWS.
AWS Identity and Access Management (IAM) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
AWS Secrets Manager le permite reemplazar las credenciales codificadas en el código, incluidas las contraseñas, con una llamada a la API de Secrets Manager para recuperar el secreto mediante programación.
AWS Systems Manager le permite administrar las aplicaciones y la infraestructura que se ejecutan en la nube de AWS. Simplifica la administración de aplicaciones y recursos, reduce el tiempo requerido para detectar y resolver problemas operativos y ayuda a utilizar y administrar los recursos de AWS a escala de manera segura.
Otras herramientas
PowerShell
es un programa de administración de automatización y configuración de Microsoft que se ejecuta en Windows, Linux y macOS. Este patrón utiliza PowerShell scripts.
Repositorio de código
El código de este patrón está disponible en el repositorio GitHub aws-windows-failover-cluster-automation
Prácticas recomendadas
Las funciones de IAM que se utilizan para implementar esta solución deben cumplir con el principio de privilegios mínimos. Para obtener más información, consulte la documentación de IAM.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Implemente la CloudFormation pila Systems Manager. |
| AWS DevOps, DevOps ingeniero |
Implemente la pila de infraestructuras. | Tras la correcta implementación de la pila de Systems Manager, cree la pila
| AWS DevOps, DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Instale las herramientas de Windows. |
| AWS DevOps, DevOps ingeniero, administrador de bases de datos |
Preconfigure los objetos informáticos del clúster en los servicios de dominio de Active Directory. | Para preconfigurar el objeto de nombre de clúster (CNO) en los Servicios de dominio de Active Directory (AD DS) y preconfigurar un objeto de equipo virtual (VCO) para una función agrupada, siga las instrucciones de Documentación de Windows Server. | AWS DevOps, DBA, ingeniero DevOps |
Cree el WSFC. | Para crear el Clúster de Conmutación por error de Windows Server (WSFC), haga lo siguiente:
| AWS DevOps, DBA, ingeniero DevOps |
Instale el clúster de conmutación por error de SQL Server. | Una vez configurado el clúster de WSFC, instale el clúster de SQL Server en la instancia principal (node1).
| AWS DevOps, DBA, ingeniero DevOps |
Agregue un nodo secundario al clúster. | Para añadir SQL Server al nodo secundario (nodo 2), ejecute el siguiente PowerShell comando.
| AWS DevOps, DBA, ingeniero DevOps |
Pruebe la FCI de SQL Server. |
| DBA, ingeniero DevOps |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Eliminación de recursos. | Para limpiar los recursos, utilice el proceso de eliminación de CloudFormation pilas de AWS:
Una vez que se haya completado la eliminación de la pila, la pila estará en el estado Si la eliminación ha fallado, la pila tendrá el estado | AWS DevOps, DBA, ingeniero DevOps |
Resolución de problemas
Problema | Solución |
---|---|
Error de CloudFormation plantilla de AWS | Si la CloudFormation plantilla falla durante la implementación, haga lo siguiente:
|
Error de conexión de AWS Managed Microsoft AD | Para solucionar los problemas de unión, siga estos pasos:
|