

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
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx"></a>

*Manish Garg, T.V.R.L. Phani Kumar Dadi, Nishad Mankar y RAJNEESH TYAGI, Amazon Web Services*

## Resumen
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-summary"></a>

Si necesita migrar rápidamente un gran número de instancias de clúster de conmutación por error Always On de Microsoft SQL Server (FCIs), este patrón puede ayudarle a minimizar el tiempo de aprovisionamiento. Al utilizar la automatización y Amazon FSx for Windows File Server, se reducen 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 de SQL Server FCIs 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). 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)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) se realizan mediante PowerShell comandos.

Esta solución utiliza un sistema de archivos [Amazon FSx para Windows](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) Multi-AZ de alta disponibilidad como testigo compartido para almacenar los archivos de la base de datos de SQL Server. El sistema de FSx archivos de Amazon y las instancias de EC2 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
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-prereqs"></a>

**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
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-architecture"></a>

**Pila de tecnología de origen**
+ SQL Server local con el FCIs uso de una unidad compartida

**Pila de tecnología de destino**
+  EC2 Instancias de AWS
+ Servidor FSx de archivos Amazon para Windows
+ 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 EC2 instancia para un nodo de SQL Server en un grupo de seguridad de nodos, y un sistema de FSx archivos de Amazon 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.](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f09c0164-be2d-4665-a574-7ec29fd25082/images/543829a9-e130-4542-9c4e-7518c6cbe967.png)


**Automatización y escala**
+ Puede usar AWS Systems Manager para unirse a AWS Managed Microsoft AD y realizar la instalación de SQL Server.

## Tools (Herramientas)
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-tools"></a>

**Servicios de AWS**
+ [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 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](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) 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 FSx Amazon para Windows File Server.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) proporciona capacidad informática escalable en la nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) 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 AWS Lambda, 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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) 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](https://learn.microsoft.com/en-us/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](https://github.com/aws-samples/aws-windows-failover-cluster-automation).

## Prácticas recomendadas
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-best-practices"></a>
+ 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Siga las [prácticas CloudFormation recomendadas de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html).

## Epics
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-epics"></a>

### Implementación de la infraestructura
<a name="deploy-the-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente la CloudFormation pila Systems Manager. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingeniero | 
| Implemente la pila de infraestructuras. | Tras implementar correctamente la pila de Systems Manager, cree la `infra` pila, que incluye los nodos de EC2 instancia, los grupos de seguridad, el sistema de archivos Amazon FSx for Windows File Server y la función de IAM.[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingeniero | 

### Configure el Windows SQL Server Always On FCI
<a name="set-up-the-windows-sql-server-always-on-fci"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale las herramientas de Windows. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 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.](https://learn.microsoft.com/en-us/windows-server/failover-clustering/prestage-cluster-adds) | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 
| Cree el WSFC. | Para crear el Clúster de Conmutación por error de Windows Server (WSFC), haga lo siguiente:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, administrador de bases de datos, 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).[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)<pre>D:\setup.exe /Q  `<br />/ACTION=InstallFailoverCluster `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/FEATURES="SQL,IS,BC,Conn"  `<br />/INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"  `<br />/INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"  `<br />/RSINSTALLMODE="FilesOnlyMode"  `<br />/INSTANCEID="MSSQLSERVER" `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)"  `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node1>;Cluster Network 1;<subnet mask>"  `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>"  `<br />/INSTANCEDIR="C:\Program Files\Microsoft SQL Server"  `<br />/ENU="True"  `<br />/ERRORREPORTING=0  `<br />/SQMREPORTING=0  `<br />/SAPWD="<Domain User password>" `<br />/SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"  `<br />/SQLSYSADMINACCOUNTS="<domain\username>" `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="<domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/ISSVCACCOUNT="<domain\username>" /ISSVCPASSWORD="<Domain User password>"  `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher"  `<br />/INSTALLSQLDATADIR="\\<FSX DNS name>\share\Program Files\Microsoft SQL Server"  `<br />/SQLUSERDBDIR="\\<FSX DNS name>\share\data"  `<br />/SQLUSERDBLOGDIR="\\<FSX DNS name>\share\log" `<br />/SQLTEMPDBDIR="T:\tempdb"  `<br />/SQLTEMPDBLOGDIR="T:\log"  `<br />/SQLBACKUPDIR="\\<FSX DNS name>\share\SQLBackup" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 
| Agregue un nodo secundario al clúster. | Para añadir SQL Server al nodo secundario (nodo 2), ejecute el siguiente PowerShell comando.<pre>D:\setup.exe /Q  `<br />/ACTION=AddNode `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)" `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node2>;Cluster Network 2;<subnet mask>" `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>" `<br />/CONFIRMIPDEPENDENCYCHANGE=1 `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 
| Pruebe la FCI de SQL Server. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | DBA, ingeniero DevOps  | 

### Eliminar recursos
<a name="clean-up-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Eliminación de recursos. | Para limpiar los recursos, utilice el proceso de eliminación de CloudFormation pilas de AWS:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)<br />Una vez que se haya completado la eliminación de la pila, la pila estará en el estado `DELETE_COMPLETE`. De forma predeterminada, las pilas en ese `DELETE_COMPLETE` estado no se muestran en la CloudFormation consola. Para mostrar las pilas eliminadas, debe cambiar el filtro de vista de pilas tal y como se describe en [Visualización de las pilas eliminadas en la consola de AWS CloudFormation ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-deleted-stacks.html).<br />Si la eliminación ha fallado, la pila tendrá el estado `DELETE_FAILED`. Para obtener información sobre las soluciones, consulte los errores al [eliminar una pila](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails) en la CloudFormation documentación. | AWS DevOps, administrador de bases de datos, ingeniero DevOps  | 

## Resolución de problemas
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Fallo en CloudFormation la plantilla de AWS | Si la CloudFormation plantilla falla durante la implementación, haga lo siguiente:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 
| Error de conexión de AWS Managed Microsoft AD | Para solucionar los problemas de unión, siga estos pasos:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 

## Recursos relacionados
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-resources"></a>
+ [Simplifique las implementaciones de alta disponibilidad de Microsoft SQL Server con Amazon FSx for Windows File Server](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/)
+ [Uso FSx para Windows File Server con Microsoft SQL Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/sql-server.html)