Tutoriel : Configurer manuellement un groupe de disponibilité - SQL Server sur des machines virtuelles Azure

S’applique à : SQL Server sur la machine virtuelle Azure

Conseil

Il existe de nombreuses méthodes pour déployer un groupe de disponibilité. Simplifiez votre déploiement pour éviter d’utiliser un équilibreur de charge Azure ou un nom de réseau distribué (DNN) pour votre groupe de disponibilité Always On, et créez vos machines virtuelles SQL Server dans plusieurs sous-réseaux au sein du même réseau virtuel Azure. Si vous avez déjà créé votre groupe de disponibilité dans un seul sous-réseau, vous pouvez le migrer vers un environnement multi-sous-réseau.

Ce tutoriel explique comment créer un groupe de disponibilité Always On pour SQL Server sur des machines virtuelles Azure dans un même sous-réseau. Il crée un groupe de disponibilité avec un réplica de base de données sur deux instances SQL Server.

Cet article configure manuellement l’environnement du groupe de disponibilité. Il est également possible d’automatiser les étapes en utilisant le portail Azure, PowerShell ou Azure CLI ou encore des modèles de démarrage rapide Azure.

Durée estimée : ce tutoriel prend environ 30 minutes une fois les prérequis remplis.

Prérequis

Le tutoriel suppose que vous avez des notions de base des groupes de disponibilité Always On SQL Server. Pour plus d’informations, consultez Vue d’ensemble des groupes de disponibilité AlwaysOn (SQL Server).

Avant de commencer les procédures de ce tutoriel, vous devez remplir les prérequis relatifs à la création de groupes de disponibilité Always On dans des machines virtuelles Azure. Si ces prérequis sont déjà remplis, vous pouvez passer à l’étape Créer le cluster.

Le tableau suivant récapitule les prérequis dont vous devez disposer avant de pouvoir suivre ce tutoriel :

Condition requise Description
Deux instances SQL Server - Dans un groupe à haute disponibilité Azure
- Dans un domaine
- Avec le clustering de basculement installé
Windows Server Partage de fichiers pour un témoin de cluster
Compte de service SQL Server Compte du domaine
Compte du service SQL Server Agent Compte du domaine
Ports du pare-feu ouverts - SQL Server : 1433 pour une instance par défaut
- Point de terminaison de mise en miroir de bases de données : 5022 ou n’importe quel port disponible
- Sonde d’intégrité d’adresse IP d’équilibreur de charge pour un groupe de disponibilité : 59999 ou n’importe quel port disponible
- Sonde d’intégrité d’adresse IP d’équilibreur de charge pour le cluster principal : 58888 ou n’importe quel port disponible
Clustering de basculement Obligatoire pour les deux instances SQL Server
Compte du domaine d’installation - Administrateur local sur chaque instance SQL Server
- Membre du rôle serveur fixe sysadmin pour chaque instance SQL Server
Groupes de sécurité réseau (NSG) Si l’environnement utilise des groupes de sécurité réseau, vérifiez que la configuration actuelle autorise le trafic réseau via les ports décrits dans la section Configurer le pare-feu.

Créer le cluster

La première tâche consiste à créer un cluster de basculement Windows Server avec des machines virtuelles SQL Server et un serveur témoin :

  1. Utilisez le protocole RDP (Remote Desktop Protocol) pour vous connecter à la première machine virtuelle SQL Server. Utilisez un compte de domaine administrateur sur les machines virtuelles SQL Server et le serveur témoin.

    Conseil

    Dans les prérequis, vous avez créé un compte appelé CORP\Install. Utilisez ce compte.

  2. Dans le tableau de bord Gestionnaire de serveur, sélectionnez Outils, puis Gestionnaire du cluster de basculement.

  3. Dans le volet gauche, cliquez-droit sur Gestionnaire du cluster de basculement, puis sélectionnez sur Créer un cluster.

    Capture d’écran du Gestionnaire du cluster de basculement et de l’option de création d’un cluster dans le menu contextuel.

  4. Dans l’Assistant Création d’un cluster, créez un cluster mononœud en renseignant les pages avec les paramètres contenus dans le tableau suivant :

    Page Paramètre
    Avant de commencer Utilisez les valeurs par défaut.
    Sélection des serveurs Entrez le nom de la première machine virtuelle SQL Server dans Entrer le nom du serveur, puis sélectionnez Ajouter.
    Avertissement de validation Cliquez sur Non. Je n’ai pas besoin de l’assistance de Microsoft pour ce cluster, et par conséquent, je ne souhaite pas exécuter les tests de validation. Lorsque je clique sur Suivant, la création du cluster continue.
    Point d'accès pour l'administration du cluster Dans Nom du cluster, entrez un nom de cluster (par exemple, SQLAGCluster1).
    Confirmation Utilisez les valeurs par défaut, sauf si vous utilisez des espaces de stockage.

Définir l’adresse IP du cluster de basculement Windows Server

Notes

Sur Windows Server 2019, le cluster crée une valeur Nom du serveur distribué au lieu de la valeur Nom réseau du cluster. Si vous utilisez Windows Server 2019, ignorez les étapes qui font référence au nom de base du cluster dans ce tutoriel. Vous pouvez créer un nom réseau de cluster avec PowerShell. Pour plus d’informations, consultez le billet de blog Failover Cluster: Cluster Network Object.

  1. Dans Gestionnaire du cluster de basculement, accédez à Principales ressources du cluster et développez les détails du cluster. Les ressources Nom et Adresse IP doivent se trouver dans l’état Échec.

    La ressource d’adresse IP ne peut pas être mise en ligne, car le cluster se voit affecter la même adresse IP que la machine elle-même. Il s’agit d’une adresse en double.

  2. Cliquez-droit sur la ressource Adresse IP en échec, puis sélectionnez Propriétés.

    Capture d’écran du Gestionnaire du cluster de basculement montrant les sélections à effectuer pour ouvrir les propriétés de l’adresse IP.

  3. Sélectionnez Adresse IP statique. Spécifiez une adresse disponible du même sous-réseau que vos machines virtuelles.

  4. Dans la section Principales ressources du cluster, cliquez avec le bouton droit sur le nom du cluster et sélectionnez Mettre en ligne. Attendez que les deux ressources soient en ligne.

    Quand la ressource de nom de cluster apparaît en ligne, elle met à jour le serveur du contrôleur de domaine avec un nouveau compte d’ordinateur Active Directory. Utilisez ce compte Active Directory pour exécuter ultérieurement le service en cluster du groupe de disponibilité.

Ajouter l’autre instance SQL Server au cluster

  1. Dans l’arborescence du navigateur, cliquez-droit sur le cluster, puis sélectionnez Ajouter un nœud.

    Capture d’écran du Gestionnaire du cluster de basculement montrant les sélections à effectuer pour ajouter un nœud à un cluster.

  2. Dans l’Assistant d’ajout de nœud, sélectionnez Suivant.

  3. Dans la page Sélectionner des serveurs, ajoutez la deuxième machine virtuelle SQL Server. Entrez le nom de la machine virtuelle dans Entrer le nom du serveur, puis sélectionnez Ajouter>Suivant.

  4. Dans la page Avertissement de validation, sélectionnez Non. (Dans un scénario de production, vous devez effectuer les tests de validation.) Ensuite, sélectionnez Suivant.

  5. Dans la page Confirmation, si vous utilisez des espaces de stockage, décochez la case Ajouter la totalité du stockage disponible au cluster.

    Capture d’écran de la page de l’Assistant Ajout de nœud confirmant l’ajout d’un nœud au cluster.

    Avertissement

    Si vous ne décochez pas Ajouter la totalité du stockage disponible au cluster, Windows détache les disques virtuels pendant le processus de clustering. Ils n’apparaissent donc pas dans le Gestionnaire de disques ou l’Explorateur d’objets tant que le stockage n’est pas supprimé du cluster et rattaché avec PowerShell.

  6. Sélectionnez Suivant.

  7. Sélectionnez Terminer.

    Le Gestionnaire du cluster de basculement indique que votre cluster a un nouveau nœud et l’affiche dans le conteneur Nœuds.

  8. Déconnectez-vous de la session Bureau à distance.

Ajouter un partage de fichiers pour un quorum de cluster

Dans cet exemple, le cluster Windows utilise un partage de fichiers pour créer un quorum de cluster. Ce tutoriel utilise un quorum NodeAndFileShareMajority. Pour plus d’informations, consultez Configurer et gérer un quorum.

  1. Connectez-vous à la machine virtuelle du serveur témoin de partage de fichiers à l’aide d’une session Bureau à distance.

  2. Dans Gestionnaire de serveur, sélectionnez Outils. Ouvrez Gestion de l’ordinateur.

  3. Sélectionnez Dossiers partagés.

  4. Cliquez avec le bouton droit sur Partages, puis sélectionnez Nouveau partage.

    Capture d’écran montrant les sélections à effectuer pour créer un partage dans Gestion de l’ordinateur.

    Utilisez Assistant Création d’un dossier partagé pour créer un partage.

  5. Dans la page Chemin du dossier, sélectionnez Parcourir. Recherchez ou créez un chemin pour le dossier partagé, puis sélectionnez Suivant.

  6. Dans la page Nom, description et paramètres, vérifiez le nom et le chemin du partage. Sélectionnez Suivant.

  7. Dans la page Autorisations de dossier partagé, définissez Personnaliser les autorisations. Sélectionnez Personnalisé.

  8. Dans la boîte de dialogue Personnaliser les autorisations, sélectionnez Ajouter.

  9. Vérifiez que le compte utilisé pour créer le cluster a le contrôle total.

    Capture d’écran de la boîte de dialogue de personnalisation des autorisations, montrant que le compte d’installation a le contrôle total du partage.

  10. Cliquez sur OK.

  11. Dans la page Autorisations de dossier partagé, sélectionnez Terminer. Ensuite, resélectionnez Terminer.

  12. Déconnectez-vous du serveur.

Configurer le quorum du cluster

Notes

Selon la configuration de votre groupe de disponibilité, il peut être nécessaire de modifier le vote avec quorum d’un nœud participant au cluster de basculement Windows Server. Pour plus d’informations, consultez Configurer le quorum d’un cluster pour SQL Server sur des machines virtuelles Azure.

  1. Connectez-vous au premier nœud de cluster à l’aide d’une session Bureau à distance.

  2. Dans Gestionnaire du cluster de basculement, cliquez-droit sur le cluster, pointez sur Autres Actions, puis sélectionnez Configurer les paramètres de quorum du cluster.

    Capture d’écran du Gestionnaire du cluster de basculement montrant les sélections à effectuer pour configurer les paramètres de quorum du cluster.

  3. Dans l’Assistant Configuration des paramètres de quorum du cluster, sélectionnez Suivant.

  4. Dans la page Sélectionner l’option de configuration du quorum, choisissez Sélectionner le témoin de quorum, puis sélectionnez Suivant.

  5. Sur la page Sélectionner le témoin de quorum, sélectionnez Configurer un témoin de partage de fichiers.

    Conseil

    Windows Server 2016 prend en charge un témoin cloud. Si vous choisissez ce type de témoin, un témoin de partage de fichiers est inutile. Pour plus d’informations, consultez Déployer un témoin de cloud pour un cluster de basculement. Ce tutoriel utilise un témoin de partage de fichiers pris en charge par les systèmes d’exploitation antérieurs.

  6. Dans Configurer le témoin de partage de fichiers, tapez le chemin du partage que vous avez créé. Sélectionnez ensuite Suivant.

  7. Dans la page Confirmation, vérifiez les paramètres. Sélectionnez ensuite Suivant.

  8. Sélectionnez Terminer.

Les principales ressources de cluster sont configurées avec un témoin de partage de fichiers.

Activer des groupes de disponibilité

Ensuite, activez les groupes de disponibilité Always On. Effectuez ces étapes sur les deux machines virtuelles SQL Server.

  1. À partir de l’écran Démarrer, ouvrez le Gestionnaire de configuration SQL Server.

  2. Dans l’arborescence du navigateur, sélectionnez Services SQL Server. Cliquez ensuite avec le bouton droit sur le service SQL Server (MSSQLSERVER) et sélectionnez Propriétés.

  3. Sélectionnez l’onglet Haute disponibilité Always On, puis sélectionnez Activer les groupes de disponibilité Always On.

    Capture d’écran montrant les sélections à effectuer pour activer les groupes de disponibilité Always On.

  4. Sélectionnez Appliquer. Sélectionnez OK dans la boîte de dialogue de la fenêtre contextuelle.

  5. Redémarrez le service SQL Server.

Activer la fonctionnalité FILESTREAM

Si vous n’utilisez pas FILESTREAM pour votre base de données dans le groupe de disponibilité, ignorez cette étape et passez à l’étape suivante : Créer une base de données.

Si vous prévoyez d’ajouter une base de données à votre groupe de disponibilité qui utilise FILESTREAM, alors FILESTREAM doit être activé, car cette fonctionnalité est désactivée par défaut. Utilisez le Gestionnaire de configuration SQL Server pour activer la fonctionnalité sur les deux instances SQL Server.

Pour activer la fonctionnalité FILESTREAM, suivez les étapes ci-dessous :

  1. Lancez le fichier RDP sur la première machine virtuelle SQL Server (SQL-VM-1) avec un compte de domaine membre du rôle serveur fixe sysadmin, par exemple, le compte de domaine CORP\Install créé dans le document de prérequis

  2. Dans l’écran Démarrer de l’une de vos machines virtuelles SQL Server, lancez le Gestionnaire de configuration SQL Server.

  3. Dans l’arborescence du navigateur, sélectionnez Services SQL Server, cliquez avec le bouton droit sur le service SQL Server (MSSQLSERVER) et sélectionnez Propriétés.

  4. Sélectionnez l’onglet FILESTREAM, puis cochez la case Activer FILESTREAM pour l’accès Transact-SQL :

  5. Sélectionnez Appliquer. Sélectionnez OK dans la boîte de dialogue de la fenêtre contextuelle.

  6. Dans SQL Server Management Studio, sélectionnez Nouvelle requête pour afficher l’Éditeur de requête.

  7. Dans l'Éditeur de requête, entrez le code Transact-SQL suivant :

    EXEC sp_configure filestream_access_level, 2
    RECONFIGURE
    
  8. Sélectionnez Exécuter.

  9. Redémarrez le service SQL Server.

  10. Répétez ces étapes pour l’autre instance SQL Server.

Créer une base de données sur la première instance SQL Server

  1. Ouvrez le fichier RDP pour la première machine virtuelle SQL Server avec un compte de domaine membre du rôle serveur fixe sysadmin.
  2. Ouvrez SQL Server Management Studio (SSMS) et connectez-vous à la première instance SQL Server.
  3. Dans l’Explorateur d’objets, cliquez-droit sur Bases de données, puis cliquez sur Nouvelle base de données.
  4. Dans Nom de la base de données, entrez MyDB1, puis sélectionnez OK.

Créer un partage de sauvegarde

  1. Sur la première machine virtuelle SQL Server, dans le Gestionnaire de serveur, sélectionnez Outils. Ouvrez Gestion de l’ordinateur.

  2. Sélectionnez Dossiers partagés.

  3. Cliquez avec le bouton droit sur Partages, puis sélectionnez Nouveau partage.

    Capture d’écran des sélections à effectuer pour démarrer le processus de création d’un partage de sauvegarde.

    Utilisez Assistant Création d’un dossier partagé pour créer un partage.

  4. Dans la page Chemin du dossier, sélectionnez Parcourir. Recherchez ou créez un chemin pour le dossier partagé de la sauvegarde de la base de données, puis sélectionnez Suivant.

  5. Dans la page Nom, description et paramètres, vérifiez le nom et le chemin du partage. Sélectionnez ensuite Suivant.

  6. Dans la page Autorisations de dossier partagé, définissez Personnaliser les autorisations. Sélectionnez ensuite Personnalisé.

  7. Dans la boîte de dialogue Personnaliser les autorisations, sélectionnez Ajouter.

  8. Cochez Contrôle total pour donner un accès complet au compte de service SQL Server (Corp\SQLSvc):

    Capture d’écran de la boîte de dialogue Personnaliser les autorisations. Assurez-vous que les comptes de service SQL Server des deux serveurs disposent d’un contrôle total.

  9. Cliquez sur OK.

  10. Dans la page Autorisations de dossier partagé, sélectionnez Terminer. Sélectionnez Terminer.

Créer une sauvegarde complète de la base de données

Vous devez sauvegarder la nouvelle base de données pour initialiser la chaîne du journal. Si vous ne sauvegardez pas la nouvelle base de données, vous ne pourrez pas l’inclure dans un groupe de disponibilité.

  1. Dans l’Explorateur d’objets, cliquez-droit sur la base de données, pointez sur Tâches, puis sélectionnez Sauvegarder.

  2. Sélectionnez OK pour effectuer une sauvegarde complète à l’emplacement de sauvegarde par défaut.

Créer un groupe de disponibilité

Vous êtes maintenant prêt à créer et à configurer un groupe de disponibilité en effectuant les tâches suivantes :

  • Création d’une base de données sur la première instance SQL Server.
  • Sauvegarde complète et sauvegarde du journal des transactions de la base de données.
  • Restauration des sauvegardes complète et de fichier journal sur la deuxième instance SQL Server avec l’option NO RECOVERY.
  • Créez le groupe de disponibilité (MyTestAG) avec validation synchrone, basculement automatique et réplicas secondaires accessibles en lecture.

Créez le groupe de disponibilité

  1. Connectez-vous à votre machine virtuelle SQL Server à l’aide du Bureau à distance et ouvrez SQL Server Management Studio.

  2. Dans l’Explorateur d’objets de SSMS, cliquez avec le bouton droit sur Haute disponibilité Always On, puis sélectionnez Assistant Nouveau groupe de disponibilité.

    Capture d’écran de l’Explorateur d’objets dans SSMS, avec la commande de raccourci permettant de démarrer l’Assistant Nouveau groupe de disponibilité.

  3. Dans la page Introduction, sélectionnez Suivant. Dans la page Spécifier les options du groupe de disponibilité, entrez le nom du groupe de disponibilité dans la zone Nom du groupe de disponibilité. Par exemple, entrez MyTestAG. Sélectionnez ensuite Suivant.

    Capture d’écran montrant la spécification d’un nom de groupe de disponibilité dans l’Assistant Nouveau groupe de disponibilité dans SSMS.

  4. Dans la page Sélectionner des bases de données, sélectionnez votre base de données, puis Suivant.

    Notes

    La base de données présente les prérequis pour un groupe de disponibilité, car vous avez effectué au moins une sauvegarde complète sur le réplica principal prévu.

    Capture d’écran montrant la sélection de bases de données dans l’Assistant Nouveau groupe de disponibilité dans SSMS.

  5. Dans la page Spécifier les réplicas, sélectionnez Ajouter un réplica.

    Capture d’écran du bouton permettant d’ajouter un réplica dans l’Assistant Nouveau groupe de disponibilité dans SSMS.

  6. Dans la boîte de dialogue Se connecter au serveur, pour Nom du serveur, entrez le nom de la deuxième instance SQL Server. Sélectionnez Connecter.

    De retour dans la page Spécifier les réplicas, vous devez maintenant voir le deuxième serveur sous Réplicas de disponibilité. Configurez les réplicas comme indiqué ci-dessous.

    Capture d’écran montrant deux serveurs listés comme réplicas dans l’Assistant Nouveau groupe de disponibilité dans SSMS.

  7. Sélectionnez Points de terminaison afin d’afficher le point de terminaison de mise en miroir de bases de données pour ce groupe de disponibilité. Utilisez le même port que vous avez utilisé lorsque vous avez défini la règle de pare-feu pour les points de terminaison de mise en miroir de base de données.

    Capture d’écran de l’onglet Points de terminaison dans l’Assistant Nouveau groupe de disponibilité dans SSMS.

  8. Dans la page Sélectionner la synchronisation de données initiale, sélectionnez Complète et spécifiez un emplacement réseau partagé. Pour l’emplacement, utilisez le partage de sauvegarde que vous avez créé. Dans l’exemple, il s’agissait de \\<Première instance SQL Server>\Backup\. Sélectionnez Suivant.

    Notes

    La synchronisation complète effectue une sauvegarde complète de la base de données sur la première instance de SQL Server et la restaure sur la deuxième instance. Pour les bases de données volumineuses, nous ne recommandons pas une synchronisation complète car elle peut prendre beaucoup de temps.

    Vous pouvez réduire ce temps en effectuant manuellement une sauvegarde de la base de données et en la restaurant avec NO RECOVERY. Si la base de données est déjà restaurée avec NO RECOVERY sur la deuxième instance SQL Server avant la configuration du groupe de disponibilité, sélectionnez Joindre uniquement. Si vous souhaitez effectuer la sauvegarde une fois le groupe de disponibilité configuré, sélectionnez Ignorer la synchronisation de données initiale.

    Capture d’écran des options de synchronisation de données dans l’Assistant Nouveau groupe de disponibilité dans SSMS.

  9. Dans la page Validation, sélectionnez Suivant. Cette page doit ressembler à l’image suivante :

    Capture d’écran de la page montrant les résultats de la validation dans l’Assistant Nouveau groupe de disponibilité dans SSMS.

    Notes

    Un avertissement concernant la configuration de l’écouteur s’affiche parce que vous n’avez pas configuré d’écouteur de groupe de disponibilité. Vous pouvez ignorer cet avertissement car, sur les machines virtuelles, vous créez l’écouteur après la création de l’équilibreur de charge Azure.

  10. Dans la page Résumé, sélectionnez Terminer, puis patientez le temps que l’Assistant configure le nouveau groupe de disponibilité. Dans la page Progression, vous pouvez sélectionner Plus de détails pour afficher la progression détaillée.

    Une fois que l’Assistant a terminé la configuration, examinez la page Résultats pour vérifier que le groupe de disponibilité est créé.

    Capture d’écran montrant l’exécution réussie de l’Assistant Nouveau groupe de disponibilité dans SSMS.

  11. Sélectionnez Fermer pour fermer l’Assistant.

Vérifier le groupe de disponibilité

  1. Dans l’Explorateur d’objets, développez Haute disponibilité Always On, puis Groupes de disponibilité. Vous devez maintenant voir le nouveau groupe de disponibilité dans ce conteneur. Cliquez avec le bouton droit sur le groupe de disponibilité et sélectionnez Afficher le tableau de bord.

    Capture d’écran de l’Explorateur d’objets dans SSMS montrant les sélections à effectuer pour ouvrir un tableau de bord pour un groupe de disponibilité.

    Le tableau de bord de votre groupe de disponibilité doit ressembler à celui de la capture d’écran suivante :

    Capture d’écran du tableau de bord du groupe de disponibilité dans SSMS.

    Le tableau de bord présente les répliques, le mode de basculement de chaque réplica et l’état de la synchronisation.

  2. Dans le Gestionnaire du cluster de basculement, sélectionnez votre cluster. Sélectionnez Rôles.

    Le nom du groupe de disponibilité que vous avez utilisé est un rôle sur le cluster. Ce groupe de disponibilité n’a pas d’adresse IP pour les connexions clientes, car vous n’avez pas configuré d’écouteur. Vous allez configurer l’écouteur après avoir créé un équilibreur de charge Azure.

    Capture d’écran d’un groupe de disponibilité dans le Gestionnaire du cluster de basculement.

    Avertissement

    N’essayez pas de basculer le groupe de disponibilité à partir du Gestionnaire du cluster de basculement. Toutes les opérations de basculement doivent être effectuées sur le tableau de bord du groupe de disponibilité dans SSMS. Découvrez-en plus sur les restrictions d’utilisation du Gestionnaire du cluster de basculement avec des groupes de disponibilité.

À ce stade, vous avez un groupe de disponibilité avec deux réplicas SQL Server. Vous pouvez déplacer le groupe de disponibilité entre les instances. Vous ne pouvez pas encore vous connecter au groupe de disponibilité, car vous n’avez pas d’écouteur.

Dans les machines virtuelles Azure, l’écouteur requiert un équilibrage de charge. L’étape suivante consiste à créer l’équilibrage de charge dans Azure.

Crée un équilibrage de charge Azure

Notes

Les déploiements de groupes de disponibilité sur plusieurs sous-réseaux ne nécessitent pas d’équilibreur de charge. Dans un environnement à sous-réseau unique, les clients utilisant SQL Server 2019 CU8 et ultérieur sur Windows 2016 et ultérieur peuvent remplacer l’écouteur de nom réseau virtuel (VNN) traditionnel et Azure Load Balancer par un écouteur de nom réseau distribué (DNN). Si vous souhaitez utiliser un DNN, ignorez les étapes du tutoriel qui configurent Azure Load Balancer pour votre groupe de disponibilité.

Sur les machines virtuelles Azure dans un sous-réseau unique, un groupe de disponibilité SQL Server nécessite un équilibreur de charge. Cet équilibreur de charge stocke les adresses IP des écouteurs de groupe de disponibilité et du cluster de basculement Windows Server. Cette section indique comment créer l’équilibrage de charge dans le portail Azure.

Un équilibreur de charge dans Azure peut être standard ou de base. Une équilibreur de charge standard offre davantage de fonctionnalités qu’un équilibreur de charge de base. Pour un groupe de disponibilité, l’équilibreur de charge standard est nécessaire si vous utilisez une zone de disponibilité (à la place d’un groupe à haute disponibilité). Pour plus d’informations sur la différence entre les références SKU, consultez Références SKU Azure Load Balancer.

Important

Le 30 septembre 2025, la référence SKU De base d’Azure Load Balancer sera mise hors service. Pour plus d’informations, consultez l’annonce officielle. Si vous utilisez actuellement l’équilibreur de charge de base, effectuez une mise à niveau vers l’équilibreur de charge standard avant la date de mise hors service. Pour obtenir de l’aide, consultez Mettre à niveau l’équilibreur de charge.

  1. Dans le portail Azure, accédez au groupe de ressources contenant vos machines virtuelles SQL Server et sélectionnez + Ajouter.

  2. Recherchez l’équilibrage de charge. Choisissez l’équilibreur de charge publié par Microsoft.

    Capture d’écran montrant la sélection d’un équilibreur de charge publié par Microsoft.

  3. Sélectionnez Create (Créer).

  4. Dans la page Créer un équilibreur de charge, configurez les paramètres suivants pour l’équilibreur de charge :

    Paramètre Entrée ou sélection
    Abonnement Utilisez le même abonnement que la machine virtuelle.
    Groupe de ressources Utilisez le même groupe de ressources que la machine virtuelle.
    Nom Utilisez un nom textuel pour l’équilibreur de charge, par exemple sqlLB.
    Région Utilisez la même région que la machine virtuelle.
    Référence (SKU) Sélectionnez Standard.
    Type sélectionnez Interne.

    La page doit ressembler à ceci :

    Capture d’écran du portail Azure montrant les paramètres sélectionnés pour un équilibreur de charge.

  5. Sélectionner Suivant : Configuration d’adresse IP front-end.

  6. Sélectionnez + Ajouter une configuration IP front-end.

    Capture d’écran du bouton permettant de créer une configuration d’adresse IP front-end dans le portail Azure.

  7. Configurez l’adresse IP front-end avec les valeurs suivantes :

    • Nom : entrez un nom qui identifie la configuration IP front-end.
    • Réseau virtuel : sélectionnez le même réseau que les machines virtuelles.
    • Sous-réseau : sélectionnez le même sous-réseau que les machines virtuelles.
    • Affectation : sélectionnez Statique.
    • Adresse IP : utilisez une adresse disponible à partir du réseau. Utilisez cette adresse pour l’écouteur de votre groupe de disponibilité. Cette adresse est différente de l’adresse IP de votre cluster.
    • Zone de disponibilité : choisissez une zone de disponibilité dans laquelle déployer votre adresse IP (facultatif).

    L’image suivante montre la boîte de dialogue Ajouter une configuration d’adresse IP front-end :

    Capture d’écran du portail Azure montrant la boîte de dialogue de configuration de l’adresse IP front-end.

  8. Sélectionnez Ajouter.

  9. Choisissez Vérifier + Créer pour valider la configuration. Sélectionnez ensuite Créer pour créer l’équilibreur de charge et l’adresse IP front-end.

Pour configurer l’équilibreur de charge, vous devez créer un pool de back-ends, créer une sonde et définir les règles d’équilibrage de charge.

Ajouter un pool principal pour l’écouteur de groupe de disponibilité

  1. Accédez au groupe de ressources sur le portail Azure. Vous devrez peut-être actualiser l’affichage pour voir l’équilibrage de charge tout juste créé.

    Capture d’écran du portail Azure montrant un équilibreur de charge dans un groupe de disponibilité.

  2. Sélectionnez l’équilibreur de charge, sélectionnez Pools de back-ends, puis sélectionnez + Ajouter.

  3. Pour Nom, indiquez un nom pour le pool de back-ends.

  4. Pour Configuration du pool de back-ends, sélectionnez Carte réseau.

  5. Sélectionnez Ajouter pour associer le pool de back-ends au groupe à haute disponibilité contenant les machines virtuelles.

  6. Sous Machine virtuelle, choisissez les machines virtuelles qui hébergeront les réplicas de groupe de disponibilité. N’incluez pas le serveur témoin de partage de fichiers.

    Notes

    Si les deux machines virtuelles ne sont pas spécifiées, seules les connexions au réplica principal aboutiront.

  7. Sélectionnez Ajouter pour ajouter les machines virtuelles au pool de back-ends.

  8. Sélectionnez Enregistrer pour créer le pool de back-ends.

Configurer la sonde

  1. Dans le portail Azure, sélectionnez l’équilibreur de charge, sélectionnez Sondes d’intégrité, puis sélectionnez + Ajouter.

  2. Définissez la sonde d’intégrité de l’écouteur comme suit :

    Paramètre Description Exemple
    Nom Texte SQLAlwaysOnEndPointProbe
    Protocole Choisissez TCP. TCP
    Port Tout port inutilisé. 59999
    Intervalle Intervalle de temps entre les tentatives de la sonde, en secondes. 5
  3. Sélectionnez Ajouter.

Configurer les règles d’équilibrage de charge

  1. Dans le portail Azure, sélectionnez l’équilibreur de charge, sélectionnez Règles d’équilibrage de charge, puis sélectionnez + Ajouter.

  2. Définissez les règles d’équilibrage de charge de l’écouteur comme suit :

    Paramètre Description Exemple
    Nom Texte SQLAlwaysOnEndPointListener
    Frontend IP address (Adresse IP frontale) Choisissez une adresse. Utilisez l’adresse que vous avez créée lorsque vous avez créé l’équilibrage de charge.
    Pool back-end Choisir le pool de back-ends Sélectionnez le pool de back-ends qui contient les machines virtuelles ciblées pour l’équilibreur de charge.
    Protocole Choisissez TCP. TCP
    Port Utiliser le port pour l'écouteur de groupe de disponibilité 1433
    Port principal Ce champ n’est pas utilisé quand une adresse IP flottante est définie pour le retour direct du serveur 1433
    Sonde d’intégrité Nom que vous avez spécifié pour la sonde SQLAlwaysOnEndPointProbe
    Persistance de session Liste déroulante Aucun
    Délai d’inactivité Délai en minutes de maintien d’une connexion TCP ouverte 4
    Adresse IP flottante (retour direct du serveur) Topologie de flux et schéma de mappage d’adresses IP Activé

    Avertissement

    Le retour au serveur direct est configuré lors de la création. Vous ne pouvez pas le changer.

  3. Sélectionnez Enregistrer.

Ajouter l’adresse IP du cluster principal pour le cluster de basculement Windows Server

L’adresse IP du cluster de basculement Windows Server doit également se trouver sur l’équilibreur de charge. Si vous utilisez Windows Server 2019, ignorez ce processus car le cluster crée une valeur Nom de serveur distribué au lieu de la valeur Nom réseau du cluster.

  1. Dans le Portail Azure, accédez au même équilibreur de charge Azure. Sélectionnez Configuration d’adresse IP front-end, puis sélectionnez +Ajouter. Utilisez l’adresse IP que vous avez configurée pour le cluster de basculement Windows Server dans les ressources principales du cluster. Définissez l’adresse IP comme Statique.

  2. Sur l’équilibreur de charge, sélectionnez les Probes d’intégrité, puis cliquez sur +Ajouter.

  3. Définissez la sonde d’intégrité de l’adresse IP du cluster principal pour le cluster de basculement Windows Server comme suit :

    Paramètre Description Exemple
    Nom Texte WSFCEndPointProbe
    Protocole Choisissez TCP. TCP
    Port Tout port inutilisé. 58888
    Intervalle Intervalle de temps entre les tentatives de la sonde, en secondes. 5
  4. Sélectionnez Ajouter pour définir la sonde d’intégrité.

  5. Sélectionnez Règles d’équilibrage de charge, puis +Ajouter.

  6. Définissez les règles d’équilibrage de charge pour l’adresse IP du cluster principal comme suit :

    Paramètre Description Exemple
    Nom Texte WSFCEndPoint
    Frontend IP address (Adresse IP frontale) Choisissez une adresse. Utilisez l’adresse que vous avez créée quand vous avez configuré l’adresse IP pour le cluster de basculement Windows Server. Celle-ci diffère de l’adresse IP de l’écouteur.
    Pool back-end Choisir le pool de back-ends Sélectionnez le pool de back-ends qui contient les machines virtuelles ciblées pour l’équilibreur de charge.
    Protocole Choisissez TCP. TCP
    Port Utilisez le port de l’adresse IP du cluster. Il s’agit d’un port disponible qui n’est pas utilisé pour le port de la sonde de l’écouteur. 58888
    Port principal Ce champ n’est pas utilisé quand une adresse IP flottante est définie pour le retour direct du serveur 58888
    Sonde Nom que vous avez spécifié pour la sonde WSFCEndPointProbe
    Persistance de session Liste déroulante Aucun
    Délai d’inactivité Délai en minutes de maintien d’une connexion TCP ouverte 4
    Adresse IP flottante (retour direct du serveur) Topologie de flux et schéma de mappage d’adresses IP Activé

    Avertissement

    Le retour au serveur direct est configuré lors de la création. Vous ne pouvez pas le changer.

  7. Sélectionnez OK.

Configurer l’écouteur

La prochaine étape consiste à configurer un écouteur de groupe de disponibilité sur le cluster de basculement.

Notes

Ce tutoriel montre comment créer un seul écouteur avec une adresse IP pour l’équilibreur de charge interne. Pour créer des écouteurs en utilisant une ou plusieurs adresses IP, consultez Configurer un ou plusieurs écouteurs de groupe de disponibilité Always On.

L’écouteur de groupe de disponibilité est une adresse IP et un nom réseau sur lesquels le groupe de disponibilité de SQL Server écoute. Pour créer l’écouteur de groupe de disponibilité :

  1. Récupérez le nom de la ressource réseau du cluster :

    a. Utilisez le protocole RDP pour vous connecter à la machine virtuelle Azure qui héberge le réplica principal.

    b. Ouvrez le Gestionnaire du cluster de basculement.

    c. sélectionnez le nœud Réseaux et notez le nom de réseau du cluster. Utilisez ce nom dans la variable $ClusterNetworkName du script PowerShell. Dans l’image suivante, le nom réseau du cluster est Cluster Network 1 :

    Capture d’écran montrant un nom réseau de cluster dans le Gestionnaire du cluster de basculement.

  2. Ajoutez le point d’accès client. Le point d’accès client est le nom réseau que les applications utilisent pour se connecter aux bases de données dans un groupe de disponibilité.

    a. Dans le Gestionnaire du cluster de basculement, développez le nom du cluster, puis sélectionnez Rôles.

    b. Dans le volet Rôles, cliquez avec le bouton droit sur le nom du groupe de disponibilité, puis sélectionnez Ajouter une ressource>Point d’accès client.

    Capture d’écran du Gestionnaire du cluster de basculement montrant la sélection de la commande Point d’accès client dans le menu contextuel du groupe de disponibilité.

    c. Dans la zone Nom, créez un nom pour ce nouvel écouteur. Le nom du nouvel écouteur est le nom réseau que les applications utilisent pour se connecter aux bases de données dans le groupe de disponibilité de SQL Server.

    d. Pour terminer la création de l’écouteur, sélectionnez Suivant à deux reprises, puis sélectionnez Terminer. Ne mettez pas l’écouteur ou la ressource en ligne à ce stade.

  3. Mettez le rôle de cluster du groupe de disponibilité hors connexion. Dans le Gestionnaire du cluster de basculement, sous Rôles, cliquez avec le bouton droit sur le rôle, puis sélectionnez Arrêter le rôle.

  4. Configurez la ressource IP du groupe de disponibilité :

    a. Sélectionnez l’onglet Ressources, puis développez le point d’accès client que vous avez créé. Le point d’accès client est hors connexion.

    Capture d’écran du Gestionnaire du cluster de basculement indiquant l’état hors connexion d’un point d’accès client.

    b. Cliquez avec le bouton droit sur la ressource IP, puis sélectionnez Propriétés. Notez le nom de l’adresse IP et utilisez-le dans la variable $IPResourceName dans le script PowerShell.

    c. Sous Adresse IP, sélectionnez Adresse IP statique. Pour l’adresse IP, utilisez l’adresse que vous avez définie pour l’équilibreur de charge sur le portail Azure.

    Capture d’écran du Gestionnaire du cluster de basculement montrant la sélection d’une adresse IP.

  5. Créez une dépendance entre le groupe de disponibilité SQL Server et le point d’accès client :

    a. Dans le Gestionnaire du cluster de basculement, sélectionnez Rôles, puis votre groupe de disponibilité.

    b. Sous l’onglet Ressources, sous Autres ressources, cliquez avec le bouton droit sur la ressource du groupe de disponibilité, puis sélectionnez Propriétés.

    c. Sous l’onglet Dépendances, ajoutez le nom du point d’accès client (écouteur).

    Capture d’écran du Gestionnaire du cluster de basculement montrant l’ajout d’un nom sous l’onglet Dépendances.

    d. Sélectionnez OK.

  6. Créez une dépendance entre le point d’accès client et l’adresse IP :

    a. Dans le Gestionnaire du cluster de basculement, sélectionnez Rôles, puis votre groupe de disponibilité.

    b. Sous l’onglet Ressources, cliquez avec le bouton droit sur le point d’accès client sous Nom du serveur, puis sélectionnez Propriétés.

    Capture d’écran du Gestionnaire du cluster de basculement montrant l’option de menu Propriétés pour le nom de l’écouteur.

    c. Sélectionnez l’onglet Dépendances. Vérifiez que l’adresse IP est une dépendance. Si ce n’est pas le cas, définissez une dépendance sur l’adresse IP. Si plusieurs ressources sont listées, vérifiez que les adresses IP ont des dépendances OR (et non des dépendances AND). Sélectionnez ensuite OK.

    Capture d’écran de l’onglet Dépendances montrant une ressource IP pour un groupe de disponibilité.

    Conseil

    Vous pouvez vérifier que les dépendances sont correctement configurées. Dans le Gestionnaire du cluster de basculement, accédez à Rôles, cliquez avec le bouton droit sur le groupe de disponibilité, sélectionnez Autres actions, puis Afficher le rapport de dépendance. Lorsque les dépendances sont correctement configurées, le groupe de disponibilité dépend du nom réseau, et le nom réseau dépend de l’adresse IP.

  7. Définissez les paramètres du cluster dans PowerShell :

    a. Copiez le script PowerShell suivant sur l’une de vos instances SQL Server. Mettez à jour les variables de votre environnement.

    • $ClusterNetworkName : pour trouver le nom dans le Gestionnaire du cluster de basculement, sélectionnez Réseaux, cliquez avec le bouton droit sur le réseau, puis sélectionnez Propriétés. Le $ClusterNetworkName se trouve sous Nom sous l’onglet Général.

    • $IPResourceName est le nom donné à la ressource Adresse IP dans le Gestionnaire du cluster de basculement. Pour le trouver dans le Gestionnaire du cluster de basculement, sélectionnez Rôles, sélectionnez le nom du groupe de disponibilité ou de l’instance de cluster de basculement SQL Server, sélectionnez l’onglet Ressources sous Nom du serveur, cliquez avec le bouton droit sur la ressource Adresse IP, puis sélectionnez Propriétés. La valeur correcte est sous Nom dans l’onglet Général.

    • $ListenerILBIP est l’adresse IP que vous avez créée sur l’équilibreur de charge Azure pour l’écouteur du groupe de disponibilité. $ListenerILBIP se trouve dans le Gestionnaire du cluster de basculement, dans la page de propriétés où se trouve également le nom de ressource de l’écouteur de groupe de disponibilité ou d’instance de cluster de basculement SQL Server.

    • $ListenerProbePort est le port que vous avez configuré sur l’équilibreur de charge Azure pour l’écouteur de groupe de disponibilité (par exemple, 59999). N’importe quel port TCP inutilisé est valide.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<IPResourceName>" # The IP address resource name.
    $ListenerILBIP = "<n.n.n.n>" # The IP address of the internal load balancer. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ListenerProbePort = <nnnnn>
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ListenerILBIP";"ProbePort"=$ListenerProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Définissez les paramètres du cluster en exécutant le script PowerShell sur l’un des nœuds du cluster.

    Notes

    Si vos instances SQL Server se trouvent dans différentes régions, vous devez exécuter le script PowerShell à deux reprises. La première fois, utilisez les valeurs $ListenerILBIP et $ListenerProbePort de la première région. La seconde fois, utilisez les valeurs $ListenerILBIP et $ListenerProbePort de la seconde région. Le nom réseau du cluster et le nom de ressource IP du cluster sont également différents pour chaque région.

  8. Mettez le rôle de cluster du groupe de disponibilité en ligne. Dans le Gestionnaire du cluster de basculement, sous Rôles, cliquez avec le bouton droit sur le rôle, puis sélectionnez Démarrer le rôle.

Si nécessaire, répétez les étapes précédentes pour définir les paramètres du cluster pour l’adresse IP du cluster de basculement Windows Server :

  1. Récupérez le nom de l’adresse IP du cluster de basculement Windows Server. Dans le Gestionnaire du cluster de basculement, sous Principales ressources du cluster, recherchez Nom du serveur.

  2. Cliquez avec le bouton droit sur Adresse IP, puis sélectionnez Propriétés.

  3. Copiez le nom de l’adresse IP à partir de Nom. Cela peut être Adresse IP du cluster.

  4. Définissez les paramètres du cluster dans PowerShell :

    a. Copiez le script PowerShell suivant sur l’une de vos instances SQL Server. Mettez à jour les variables de votre environnement.

    • $ClusterCoreIP est l’adresse IP que vous avez créée sur l’équilibreur de charge Azure pour la ressource de cluster principale du cluster de basculement Windows Server. Cette adresse est différente de l’adresse IP de l’écouteur de groupe de disponibilité.

    • $ClusterProbePort est le port que vous avez configuré sur l’équilibreur de charge Azure pour la sonde d’intégrité du cluster de basculement Windows Server. Ce port est différent de la sonde configurée pour l’écouteur de groupe de disponibilité.

    $ClusterNetworkName = "<MyClusterNetworkName>" # The cluster network name. Use Get-ClusterNetwork on Windows Server 2012 or later to find the name.
    $IPResourceName = "<ClusterIPResourceName>" # The IP address resource name.
    $ClusterCoreIP = "<n.n.n.n>" # The IP address of the cluster IP resource. This is the static IP address for the load balancer that you configured in the Azure portal.
    [int]$ClusterProbePort = <nnnnn> # The probe port from WSFCEndPointprobe in the Azure portal. This port must be different from the probe port for the availability group listener.
    
    Import-Module FailoverClusters
    
    Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ClusterCoreIP";"ProbePort"=$ClusterProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}
    

    b. Définissez les paramètres du cluster en exécutant le script PowerShell sur l’un des nœuds du cluster.

Si une ressource SQL est configurée pour utiliser un port compris entre 49152 et 65536 (plage de ports dynamiques par défaut pour TCP/IP), ajoutez une exclusion pour chaque port. Ces ressources peuvent inclure :

  • Moteur de base de données SQL Server
  • Écouteur de groupe de disponibilité Always On
  • Sonde d’intégrité pour l’instance de cluster de basculement
  • Point de terminaison de mise en miroir de bases de données
  • Ressource IP principale du cluster

L’ajout d’une exclusion empêchera d’autres processus système d’être affectés dynamiquement au même port. Pour ce scénario, configurez les exclusions suivantes sur tous les nœuds de cluster :

  • netsh int ipv4 add excludedportrange tcp startport=58888 numberofports=1 store=persistent
  • netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

Il est important de configurer l’exclusion de port quand le port n’est pas utilisé. Sinon, la commande échoue avec un message du type « Le processus ne peut pas accéder au fichier, car il est utilisé par un autre processus ». Pour vérifier que les exclusions sont correctement configurées, utilisez la commande suivante : netsh int ipv4 show excludedportrange tcp.

Avertissement

Le port pour la sonde d’intégrité de l’écouteur de groupe de disponibilité doit être différent du port pour la sonde d’intégrité de l’adresse IP principale du cluster. Dans ces exemples, le port de l’écouteur est 59999 et le port de la sonde d’intégrité de l’adresse IP principale du cluster est 58888. Une règle de pare-feu d’autorisation du trafic entrant doit être définie pour les deux ports.

Définir le port de l’écouteur

Dans SQL Server Management Studio, définissez le port de l’écouteur :

  1. Ouvrez SQL Server Management Studio et connectez-vous au réplica principal.

  2. Accédez à Haute disponibilité Always On>Groupes de disponibilité>Écouteurs de groupe de disponibilité.

  3. Cliquez avec le bouton droit sur le nom de l’écouteur que vous avez créé dans le Gestionnaire du cluster de basculement, puis sélectionnez Propriétés.

  4. Dans la zone Port, spécifiez le numéro de port de l’écouteur de groupe de disponibilité. La valeur par défaut est 1433. Sélectionnez OK.

Vous disposez maintenant d’un groupe de disponibilité pour SQL Server sur les machines virtuelles Azure s’exécutant en mode Resource Manager Azure.

Tester la connexion à l’écouteur

Pour tester la connexion :

  1. Utilisez RDP pour vous connecter à une machine virtuelle SQL Server qui se trouve dans le même réseau virtuel, mais qui ne possède pas le réplica, comme l’autre réplica.

  2. Utilisez l’utilitaire sqlcmd pour tester la connexion. Par exemple, le script suivant établit une connexion sqlcmd avec le réplica principal au moyen de l’écouteur en utilisant l’authentification Windows :

    sqlcmd -S <listenerName> -E
    

    Si l’écouteur utilise un port autre que le port par défaut (1433), spécifiez le port dans la chaîne de connexion. Par exemple, la commande suivante se connecte à un écouteur sur le port 1435 :

    sqlcmd -S <listenerName>,1435 -E
    

L’utilitaire sqlcmd se connecte automatiquement à l’instance SQL Server qui est le réplica principal actuel du groupe de disponibilité.

Conseil

Vérifiez que le port que vous spécifiez est ouvert sur le pare-feu des deux machines virtuelles SQL Server. Les deux serveurs requièrent une règle de trafic entrant sur le port TCP utilisé. Pour plus d’informations, consultez Ajouter ou modifier des règles de pare-feu.