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.
Configuration d'une infrastructure multi-AZ pour un SQL Server Always On FCI à l'aide d'Amazon FSx
Créée par Manish Garg (AWS), T.V.R.L.Phani Kumar Dadi (AWS), Nishad Mankar (AWS) et RAJNEESH TYAGI (AWS)
Référentiel de code : aws-windows-failover-cluster -automation | Environnement : PoC ou pilote | Source : base de données SQL Server locale |
Cible : Microsoft SQL Server sur EC2 | Type R : Rehost | Charge de travail : Microsoft |
Technologies : migration ; infrastructure ; DevOps | Services AWS : Microsoft AD géré par AWS ; Amazon EC2 ; Amazon FSx ; AWS Systems Manager |
Récapitulatif
Si vous devez migrer rapidement un grand nombre d'instances de cluster Microsoft SQL Server Always On Failover (FCI), ce modèle peut vous aider à réduire le temps de provisionnement. En utilisant l'automatisation et Amazon FSx for 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 pour les FCI SQL Server 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. L'installation de SQL Server et la création de nœuds de cluster sur une instance Amazon Elastic Compute Cloud (Amazon EC2) sont effectuées à l'aide de commandes. PowerShell
Cette solution utilise un système de fichiers multi-AZ Amazon FSx pour Windows à haute disponibilité comme témoin partagé pour le stockage des fichiers de base de données SQL Server. Le système de fichiers Amazon FSx et les instances Windows EC2 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
Prérequis
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>
Remarque : 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
Pile technologique source
SQL Server sur site avec FCI utilisant un lecteur partagé
Pile technologique cible
Instances AWS EC2
Amazon FSx for Windows File Server
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 instance EC2 pour un nœud SQL Server dans un groupe de sécurité de nœuds, et un système de fichiers Amazon FSx 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.](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
Services AWS
AWS 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 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 Amazon FSx for Windows File Server.
Amazon Elastic Compute Cloud (Amazon 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 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) 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 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 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
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
Bonnes pratiques
Les rôles IAM utilisés pour déployer cette solution doivent respecter le principe du moindre privilège. Pour de plus amples informations, veuillez consulter la documentation IAM.
Suivez les CloudFormation meilleures pratiques d'AWS.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Déployez la CloudFormation pile Systems Manager. |
| 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
| AWS DevOps, DevOps ingénieur |
Tâche | Description | Compétences requises |
---|---|---|
Installez les outils Windows. |
| AWS DevOps, DevOps ingénieur, DBA |
Préinstallez les objets informatiques du cluster dans les services de domaine Active Directory. | AWS DevOps, DBA, ingénieur DevOps | |
Créez le WSFC. | Pour créer le cluster Windows Server Failover Clustering (WSFC), procédez comme suit :
| 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).
| 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.
| AWS DevOps, DBA, ingénieur DevOps |
Testez le SQL Server FCI. |
| DBA, ingénieur DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Nettoyez les ressources. | Pour nettoyer les ressources, utilisez le processus de suppression de la CloudFormation pile AWS :
Une fois la suppression des piles terminée, les piles seront dans leur Si la suppression a échoué, une pile sera dans | AWS DevOps, DBA, ingénieur DevOps |
Résolution des problèmes
Problème | Solution |
---|---|
Défaillance CloudFormation du modèle AWS | Si le CloudFormation modèle échoue pendant le déploiement, procédez comme suit :
|
Échec de la jointure avec AWS Managed Microsoft AD | Pour résoudre les problèmes de jointure, procédez comme suit :
|