

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configurez une infrastructure multi-AZ pour un SQL Server Always On FCI à l'aide d'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 et RAJNEESH TYAGI, Amazon Web Services*

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

Si vous devez migrer rapidement un grand nombre d'instances de cluster Microsoft SQL Server Always On Failover (FCIs), ce modèle peut vous aider à réduire le temps de provisionnement. En utilisant l'automatisation et Amazon FSx pour Windows File Server, il réduit les efforts manuels, les erreurs causées par l'homme et le temps nécessaire au déploiement d'un grand nombre de clusters.

Ce modèle configure l'infrastructure de SQL Server FCIs dans un déploiement de zones de disponibilité multiple (multi-AZ) sur Amazon Web Services (AWS). Le provisionnement des services AWS requis pour cette infrastructure est automatisé à l'aide de CloudFormation modèles [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). L'installation de SQL Server et la création de nœuds de cluster sur une instance [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) sont effectuées à l'aide de PowerShell commandes.

Cette solution utilise un système de fichiers [Amazon FSx pour Windows](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) multi-AZ à haute disponibilité comme témoin partagé pour le stockage des fichiers de base de données SQL Server. Le système de FSx fichiers Amazon et les instances EC2 Windows qui hébergent SQL Server sont joints au même domaine AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD).

## Conditions préalables et limitations
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Un utilisateur AWS disposant des autorisations suffisantes pour provisionner des ressources à l'aide de CloudFormation modèles AWS
+ AWS Directory Service pour Microsoft Active Directory
+ Informations d'identification dans AWS Secrets Manager pour s'authentifier auprès d'AWS Managed Microsoft AD dans une paire clé-valeur :
  + `ADDomainName`: <Domain Name>
  + `ADDomainJoinUserName`: <Domain Username>
  + `ADDomainJoinPassword`: <Domain User Password>
  + `TargetOU`: <Target OU Value>
**Note**  
Vous utiliserez le même nom de clé dans l'automatisation d'AWS Systems Manager pour l'activité de jointure avec AWS Managed Microsoft AD.
+ Fichiers multimédia SQL Server pour l'installation de SQL Server et création de comptes de service ou de domaine Windows, qui seront utilisés lors de la création du cluster
+ Un cloud privé virtuel (VPC), avec deux sous-réseaux publics dans des zones de disponibilité distinctes, deux sous-réseaux privés dans les zones de disponibilité, une passerelle Internet, des passerelles NAT, des associations de tables de routage et un serveur de saut

**Versions du produit**
+ Windows Server 2012 R2 et Microsoft SQL Server 2016

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

**Pile technologique source**
+ SQL Server sur site avec FCIs utilisation d'un lecteur partagé

**Pile technologique cible**
+  EC2 Instances AWS
+ Serveur FSx de fichiers Amazon pour Windows
+ Manuel d'utilisation d'AWS Systems Manager Automation
+ Configurations réseau (VPC, sous-réseaux, passerelle Internet, passerelles NAT, serveur de saut, groupes de sécurité)
+ AWS Secrets Manager
+ AWS Managed Microsoft AD
+ Amazon EventBridge
+ AWS Identity and Access Management (IAM)

**Architecture cible**

Le schéma suivant montre un compte AWS dans une seule région AWS, avec un VPC comprenant deux zones de disponibilité, deux sous-réseaux publics avec des passerelles NAT, un serveur de saut dans le premier sous-réseau public, deux sous-réseaux privés, chacun avec une EC2 instance pour un nœud SQL Server dans un groupe de sécurité de nœuds, et un système de FSx fichiers Amazon se connectant à chacun des nœuds SQL Server. AWS Directory Service, Amazon EventBridge, AWS Secrets Manager et AWS Systems Manager sont également inclus.

![\[Architecture multi-AZ avec des ressources dans des sous-réseaux publics et privés, avec des groupes de sécurité de nœuds.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f09c0164-be2d-4665-a574-7ec29fd25082/images/543829a9-e130-4542-9c4e-7518c6cbe967.png)


**Automatisation et mise à l'échelle**
+ Vous pouvez utiliser AWS Systems Manager pour rejoindre AWS Managed Microsoft AD et effectuer l'installation de SQL Server.

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

**Services AWS**
+ [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) vous CloudFormation aide à configurer les ressources AWS, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie sur l'ensemble des comptes et des régions AWS.
+ [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) propose plusieurs manières d'utiliser Microsoft Active Directory (AD) avec d'autres services AWS tels qu'Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) pour SQL Server et FSx Amazon pour Windows File Server.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) est un service de bus d'événements sans serveur qui vous permet de connecter vos applications à des données en temps réel provenant de diverses sources. Par exemple, les fonctions AWS Lambda, les points de terminaison d'appel HTTP utilisant des destinations d'API ou les bus d'événements dans d'autres comptes AWS.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) vous aide à remplacer les informations d'identification codées en dur dans votre code, y compris les mots de passe, par un appel d'API à Secrets Manager pour récupérer le secret par programmation.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) vous aide à gérer vos applications et votre infrastructure exécutées dans le cloud AWS. Il simplifie la gestion des applications et des ressources, réduit le délai de détection et de résolution des problèmes opérationnels et vous aide à gérer vos ressources AWS en toute sécurité à grande échelle.

**Autres outils**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)est un programme d'automatisation et de gestion de configuration Microsoft qui s'exécute sous Windows, Linux et macOS. Ce modèle utilise des PowerShell scripts.

**Référentiel de code**

Le code de ce modèle est disponible dans le référentiel GitHub [aws-windows-failover-cluster-automation](https://github.com/aws-samples/aws-windows-failover-cluster-automation).

## Bonnes pratiques
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-best-practices"></a>
+ Les rôles IAM utilisés pour déployer cette solution doivent respecter le principe du moindre privilège. Pour plus d’informations, consultez [la documentation IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Suivez les [ CloudFormation meilleures pratiques d'AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html).

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

### Déployer l'infrastructure
<a name="deploy-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Déployez la CloudFormation pile Systems Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingénieur | 
| Déployez la pile d'infrastructure. | Après le déploiement réussi de la pile Systems Manager, créez la `infra` pile, qui inclut les nœuds d' EC2 instance, les groupes de sécurité, le système de fichiers Amazon FSx pour Windows File Server et le rôle IAM.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingénieur | 

### Configurer le système Windows SQL Server Always On (FCI)
<a name="set-up-the-windows-sql-server-always-on-fci"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez les outils Windows. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingénieur, DBA | 
| Préinstallez les objets informatiques du cluster dans les services de domaine Active Directory. | [Pour préparer l'objet de nom de cluster (CNO) dans les services de domaine Active Directory (AD DS) et préparer un objet d'ordinateur virtuel (VCO) pour un rôle de cluster, suivez les instructions de la documentation de Windows Server.](https://learn.microsoft.com/en-us/windows-server/failover-clustering/prestage-cluster-adds) | AWS DevOps, DBA, ingénieur DevOps  | 
| Créez le WSFC. | Pour créer le cluster Windows Server Failover Clustering (WSFC), procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DBA, ingénieur DevOps  | 
| Installez le cluster de basculement SQL Server. | Une fois le cluster WSFC configuré, installez le cluster SQL Server sur l'instance principale (node1).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/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, DBA, ingénieur DevOps  | 
| Ajoutez un nœud secondaire au cluster. | Pour ajouter SQL Server au nœud secondaire (nœud 2), exécutez la PowerShell commande suivante.<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, DBA, ingénieur DevOps  | 
| Testez le SQL Server FCI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | DBA, ingénieur DevOps  | 

### nettoyer des ressources ;
<a name="clean-up-resources"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| nettoyer les ressources. | Pour nettoyer les ressources, utilisez le processus de suppression de la CloudFormation pile AWS :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)Une fois la suppression des piles terminée, les piles seront dans leur `DELETE_COMPLETE` état actuel. Les piles dans `DELETE_COMPLETE` cet état ne sont pas affichées dans la CloudFormation console par défaut. Pour afficher les piles supprimées, vous devez modifier le filtre de vue des piles comme décrit dans [Afficher les piles supprimées sur la console AWS CloudFormation ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-deleted-stacks.html).Si la suppression a échoué, une pile sera dans `DELETE_FAILED` cet état. Pour les solutions, consultez la section [Supprimer les échecs de la pile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails) dans la CloudFormation documentation. | AWS DevOps, DBA, ingénieur DevOps  | 

## Résolution des problèmes
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Défaillance CloudFormation du modèle AWS | Si le CloudFormation modèle échoue pendant le déploiement, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 
| Échec de la jointure avec AWS Managed Microsoft AD | Pour résoudre les problèmes de jointure, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 

## Ressources connexes
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-resources"></a>
+ [Simplifiez vos déploiements de haute disponibilité de Microsoft SQL Server à l'aide d'Amazon FSx pour Windows File Server](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/)
+ [Utilisation FSx d'un serveur de fichiers Windows avec Microsoft SQL Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/sql-server.html)