Configurer un équilibreur de charge et un écouteur de 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.

Cet article explique comment créer un équilibreur de charge pour un groupe de disponibilité SQL Server AlwaysOn dans des machines virtuelles Azure au sein d’un sous-réseau unique s’exécutant avec Azure Resource Manager. Un groupe de disponibilité nécessite un équilibreur de charge lorsque les instances SQL Server se trouvent sur des machines virtuelles Azure. Cet équilibrage de charge stocke l’adresse IP de l’écouteur de groupe de disponibilité. Si un groupe de disponibilité englobe plusieurs régions, chaque région a besoin d’un équilibreur de charge.

Pour mener à bien cette tâche, vous devez avoir déployé un groupe de disponibilité SQL Server Always On sur des machines virtuelles Azure qui s’exécutent avec Resource Manager. Les deux machines virtuelles SQL Server doivent appartenir au même groupe à haute disponibilité. Vous pouvez utiliser le modèle Microsoft pour créer automatiquement le groupe de disponibilité dans Resource Manager. Ce modèle crée automatiquement un équilibreur de charge interne.

Si vous préférez, vous pouvez configurer manuellement un groupe de disponibilité.

Cet article nécessite que vos groupes de disponibilité soient déjà configurés.

Afficher des articles connexes :

Dans ce document, vous créez et vous configurez un équilibreur de charge dans le portail Azure. Une fois le processus terminé, vous configurez le cluster afin qu’il utilise l’adresse IP de l’équilibreur de charge pour l’écouteur du groupe de disponibilité.

Créer et configurer l’équilibreur de charge

Dans cette partie de la tâche, suivez ces étapes :

  1. Dans le portail Azure, créez l’équilibreur de charge et configurez l’adresse IP.
  2. Configurez le pool principal.
  3. Créez la sonde.
  4. Définissez les règles d’équilibrage de charge.

Notes

Si les instances de SQL Server se trouvent dans plusieurs groupes et régions, effectuez chaque étape à deux reprises, une fois dans chaque groupe de ressources.

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 Basic Load Balancer, effectuez une mise à niveau vers Standard Load Balancer avant la date de mise hors service. Pour obtenir de l’aide, consultez Mettre à niveau un équilibreur de charge.

Étape 1 : Créer l’équilibrage de charge et configurer l’adresse IP

Créez d’abord l’équilibreur de charge.

  1. Dans le portail Azure, ouvrez le groupe de ressources contenant les machines virtuelles SQL Server.

  2. Dans le groupe de ressources, sélectionnez + Créer.

  3. Recherchez l’équilibrage de charge. Choisissez l’Équilibreur de charge (publié par Microsoft) dans les résultats de la recherche.

  4. Dans le volet Équilibreur de charge, sélectionnez Créer.

  5. Configurez les paramètres suivants pour l’équilibreur de charge.

    Paramètre Champ
    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 pour l’équilibrage de charge, par exemple sqlLB.
    Région Utilisez la même région que la machine virtuelle.
    Référence (SKU) Standard
    Type Interne

    Le volet du portail Azure doit ressembler à ceci :

    Screenshot of the Azure portal, Create Load Balancer page.

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

  7. Sélectionner Ajouter une configuration d’adresse IP de front-end

    Screenshot of Azure portal, Create load balancer page, showing frontend IP configuration tab

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

    • Nom : nom qui identifie la configuration de l’adresse IP de front-end
    • Réseau virtuel : Le même réseau que les machines virtuelles.
    • Sous-réseau : le sous-réseau des machines virtuelles.
    • Affectation d'adresses IP : Statique.
    • Adresse IP : utilisez une adresse disponible du sous-réseau. Utilisez cette adresse pour l’écouteur de votre groupe de disponibilité. Notez que celle-ci diffère de l’adresse IP de votre cluster.
    • Zone de disponibilité : (facultatif) choisissez une zone de disponibilité où déployer votre IP.

    L’image suivante montre l’interface utilisateur Ajouter une configuration d’adresse IP de front-end :

    Screenshot of Azure portal, add frontend IP configuration page.

  9. Sélectionnez Ajouter pour créer l’adresse IP de front-end.

  10. Choisissez Vérifier + créer pour valider la configuration, puis Créer pour créer l’équilibreur de charge et l’adresse IP de front-end.

Azure crée l’équilibreur de charge. Cet équilibrage de charge appartient à un réseau, un sous-réseau, un groupe de ressources et un emplacement spécifiques. Une fois qu’Azure a terminé la tâche, vérifiez les paramètres de l’équilibreur de charge dans Azure.

Pour configurer l’équilibrage de charge, vous devez créer un pool principal ainsi qu’une sonde et définir les règles d’équilibrage de charge. Effectuez ces opérations dans le portail Azure.

Étape 2 : Configurer le pool de back-ends

Azure appelle pool principal ce pool d’adresses principal. En l’occurrence, le pool de back-ends est constitué des adresses des deux instances de SQL Server dans votre groupe de disponibilité.

  1. Dans le portail Azure, accédez à votre groupe de disponibilité. Vous devrez peut-être actualiser l’affichage pour voir l’équilibrage de charge tout juste créé.

    Screenshot of Azure portal, resource group page, searching for the Load Balancer.

  2. Sélectionnez l’équilibreur de charge, sélectionnez les Pools principaux, puis cliquez sur Ajouter.

  3. Dans Nom, entrez un nom pour le pool de back-ends.

  4. Sélectionnez Carte d’interface réseau pour la configuration du pool de back-ends.

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

  6. Sous Machine virtuelle, sélectionnez les machines virtuelles SQL Server qui hébergeront les réplicas de groupe de disponibilité.

    Notes

    Si les deux machines virtuelles ne sont pas spécifiées, la connexion sera établie avec le réplica principal uniquement.

  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.

Azure met à jour les paramètres du pool d’adresses principal. Votre groupe à haute disponibilité a maintenant un pool de deux instances de SQL Server.

Étape 3 : Créer une sonde

La sonde définit la façon dont Azure identifie l’instance de SQL Server qui détient l’écouteur du groupe de disponibilité. Azure sonde le service avec l’adresse IP sur un port que vous définissez lors de la création de la sonde.

  1. Sélectionnez l’équilibreur de charge, sélectionnez les Probes d’intégrité, puis cliquez sur + 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 Durée entre les tentatives de la sonde, en secondes. 5
  3. Sélectionnez Ajouter pour définir la sonde d’intégrité.

Notes

Vérifiez que le port que vous spécifiez est ouvert sur le pare-feu des deux instances de SQL Server. Les deux instances nécessitent une règle de trafic entrant pour le port TCP que vous utilisez. Pour plus d’informations, consultez Ajouter ou modifier une règle de pare-feu.

Azure crée la sonde puis l’utilise pour identifier l’instance de SQL Server qui a l’écouteur pour le groupe de disponibilité.

Étape 4 : Définir les règles d’équilibrage de charge

Les règles d’équilibrage de charge déterminent comment l’équilibreur de charge route le trafic vers les instances de SQL Server. Pour cet équilibreur de charge, vous activez le retour direct du serveur, car une seule des deux instances de SQL Server a la ressource d’écouteur de groupe de disponibilité à un moment donné.

  1. Sélectionnez l’équilibreur de charge, sélectionnez Règles d’équilibreur de charge, puis cliquez sur +Ajouter.

  2. Configurez 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 est inutilisé lorsque l’option IP flottante est définie pour 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. Cette valeur n’est pas modifiable.

    Remarque

    Il peut être nécessaire de faire défiler le volet vers le bas pour voir tous les paramètres.

  3. Sélectionnez Enregistrer pour définir les règles d’équilibrage de charge de l’écouteur.

Azure configure la règle d’équilibrage de charge. L’équilibreur de charge est maintenant configuré pour router le trafic vers l’instance de SQL Server qui héberge l’écouteur pour le groupe de disponibilité.

À ce stade, le groupe de ressources a un équilibreur de charge qui connecte les deux ordinateurs SQL Server. L’équilibreur de charge contient également une adresse IP pour l’écouteur du groupe de disponibilité AlwaysOn SQL Server, de sorte que l’un ou l’autre des ordinateurs puisse répondre aux demandes pour les groupes de disponibilité.

Notes

Si vos instances de SQL Server se trouvent dans deux régions distinctes, répétez les étapes dans l’autre région. Chaque région nécessite un équilibrage de charge.

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

L’adresse IP du cluster WSFC doit également se trouver sur l’équilibreur de charge. Si vous utilisez Windows Server 2019, ignorez cette procédure, car le cluster crée un nom de serveur distribué à la place du 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 frontale, puis sélectionnez +Ajouter. Utilisez l’adresse IP que vous avez configurée pour le cluster WSFC 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 WSFC comme suit :

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

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

  6. Définissez les règles d’équilibrage de charge de 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 du cluster WSFC. 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 est inutilisé lorsque l’option IP flottante est définie pour 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. Cette valeur n’est pas modifiable.

  7. Cliquez sur OK pour définir les règles d’équilibrage de charge.

Configurer le cluster pour qu’il utilise l’adresse IP de l’équilibrage de charge

L’étape suivante consiste à configurer l’écouteur sur le cluster et à le mettre en ligne. Procédez comme suit :

  1. Créez l’écouteur du groupe de disponibilité sur le cluster de basculement.

  2. Mettez l'écouteur en ligne.

Étape 5 : Créer l’écouteur de groupe de disponibilité sur le cluster de basculement

Dans cette étape, vous créez manuellement l’écouteur du groupe de disponibilité dans le Gestionnaire du cluster de basculement et dans SQL Server Management Studio.

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 :

    Screenshot that shows a cluster network name in Failover Cluster Manager.

  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.

    Screenshot of Failover Cluster Manager that shows selecting the Client Access Point command on the shortcut menu for the availability group.

    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.

    Screenshot of Failover Cluster Manager that shows an offline status for a client access point.

    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.

    Screenshot of Failover Cluster Manager that shows the selection of an IP address.

  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).

    Screenshot of Failover Cluster Manager that shows adding a name on the Dependencies tab.

    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.

    Screenshot of Failover Cluster Manager that shows the Properties menu option for the listener's name.

    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.

    Screenshot of the Dependencies tab that shows an IP resource for an availability group.

    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.

Vérifiez la configuration de l’écouteur

Si les ressources et les dépendances du cluster sont correctement configurées, vous devez être en mesure de voir l’écouteur dans SQL Server Management Studio. Pour définir le port d’écouteur, suivez ces étapes :

  1. Démarrez SQL Server Management Studio, puis connectez-vous au réplica principal.

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

    Vous devez maintenant voir le nom de l'écouteur que vous avez créé dans le Gestionnaire du cluster de basculement.

  3. Cliquez-droit sur le nom de l’écouteur, puis sélectionnez Propriétés.

  4. Dans la zone Port, spécifiez le numéro de port pour l’écouteur du groupe de disponibilité à l’aide du paramètre $EndpointPort utilisé précédemment (valeur par défaut : 1433) puis cliquez sur OK.

Vous disposez maintenant d’un groupe de disponibilité dans des machines virtuelles Azure s’exécutant en mode Resource Manager.

Tester la connexion à l’écouteur

Testez la connexion en suivant ces étapes :

  1. Utilisez le protocole RDP (Remote Desktop Protocol) pour vous connecter à une instance SQL qui se trouve sur le même réseau virtuel, mais qui n’est pas propriétaire du réplica. Ce serveur peut être une autre instance de SQL Server dans le cluster.

  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 avec une authentification Windows :

    sqlcmd -S <listenerName> -E
    

La connexion SQLCMD se connecte automatiquement à l’instance de SQL Server qui héberge le réplica principal.

Créer une adresse IP pour un groupe de disponibilité supplémentaire

Chaque groupe de disponibilité utilise un écouteur distinct. Chaque écouteur possède sa propre adresse IP. Le même équilibreur de charge doit être utilisé pour conserver l’adresse IP des écouteurs supplémentaires. Ajoutez uniquement l’adresse IP principale de la machine virtuelle au pool principal de l’équilibreur de charge, car l’adresse IP de la machine virtuelle secondaire ne prend pas en charge l’adresse IP flottante.

Pour ajouter une adresse IP à un équilibreur de charge par le biais du portail Azure, effectuez les étapes suivantes :

  1. Dans le Portail Azure, ouvrez le groupe de ressources qui contient l’équilibreur de charge puis cliquez sur celui-ci.

  2. Sous Paramètres, sélectionnez Configuration d’adresses IP front-end, puis + Ajouter.

  3. Sous Ajouter une adresse IP frontale, attribuez un nom au serveur frontal.

  4. Vérifiez que le réseau virtuel et le sous-réseau sont identiques aux instances SQL Server.

  5. Définissez l’adresse IP de l’écouteur.

    Conseil

    Vous pouvez la définir en tant qu’adresse IP statique et taper une adresse qui n’est actuellement pas utilisée dans le sous-réseau. Vous pouvez aussi la définir en tant qu’adresse IP dynamique et enregistrer le nouveau pool d’adresses IP frontales. Dans ce dernier cas, le portail Azure affecte automatiquement une adresse IP disponible au pool. Vous pouvez alors rouvrir le pool d’adresses IP frontales et changer l’affectation en statique.

  6. Enregistrez l’adresse IP de l’écouteur en sélectionnant Ajouter.

  7. Ajoutez une sonde d’intégrité en sélectionnant Sondes d’intégrité sous Paramètres et utilisez les paramètres suivants :

    Paramètre Valeur
    Nom Nom destiné à identifier la sonde.
    Protocole TCP
    Port Un port TCP non utilisé doit être disponible sur toutes les machines virtuelles. Il ne peut pas être utilisé à d’autres fins. Deux écouteurs distincts ne peuvent pas utiliser un même port de sonde.
    Intervalle Laps de temps entre les différentes tentatives de la sonde. Utilisez la valeur par défaut (5).
  8. Sélectionnez Ajouter pour enregistrer la sonde.

  9. Créez une règle d’équilibrage de charge. Sous Paramètres, sélectionnez Règles d’équilibrage de charge, puis + Ajouter.

  10. Configurez la nouvelle règle d’équilibrage de charge en utilisant les paramètres suivants :

    Paramètre Valeur
    Nom Nom destiné à identifier la règle d’équilibrage de charge.
    Frontend IP address (Adresse IP frontale) Sélectionnez l’adresse IP que vous avez créée.
    Pool back-end Pool qui contient les machines virtuelles dotées des instances SQL Server.
    Protocole TCP
    Port Utilisez le port utilisé par les instances SQL Server. Une instance par défaut utilise le port 1433, à moins que vous l’ayez changé.
    Port principal Utilisez la même valeur que Port.
    Sonde d’intégrité Choisissez la sonde que vous avez créée.
    Persistance de session None
    Délai d’inactivité (minutes). Valeur par défaut (4)
    Adresse IP flottante (retour direct du serveur) activé

Configurer le groupe de disponibilité pour qu’il utilise la nouvelle adresse IP

Pour terminer la configuration du cluster, répétez les étapes que vous avez suivies pour créer le premier groupe de disponibilité. Autrement dit, configurez le cluster pour qu’il utilise la nouvelle adresse IP.

Après avoir ajouté une adresse IP pour l’écouteur, configurez le groupe de disponibilité supplémentaire en procédant comme suit :

  1. Vérifiez que le port de la sonde pour la nouvelle adresse IP est ouvert sur les deux machines virtuelles SQL Server.

  2. Dans Cluster Manager, ajoutez le point d’accès client.

  3. Configurez la ressource IP du groupe de disponibilité.

    Important

    Au moment de créer l’adresse IP, utilisez l’adresse IP que vous avez ajoutée à l’équilibreur de charge.

  4. Rendez la ressource de groupe de disponibilité de SQL Server dépendant du point d’accès client.

  5. Créez une dépendance entre la ressource du point d’accès client et l’adresse IP.

  6. Définissez les paramètres de cluster dans PowerShell.

Si vous vous trouvez sur la machine virtuelle de réplica secondaire et que vous ne parvenez pas à vous connecter à l’écouteur, il est possible que le port de la sonde ne soit pas configuré correctement.

Le script suivant permet de vérifier que le port de sonde est correctement configuré pour le groupe de disponibilité :

Clear-Host
Get-ClusterResource `
| Where-Object {$_.ResourceType.Name -like "IP Address"} `
| Get-ClusterParameter `
| Where-Object {($_.Name -like "Network") -or ($_.Name -like "Address") -or ($_.Name -like "ProbePort") -or ($_.Name -like "SubnetMask")}

Ajouter la règle d’équilibrage de charge pour le groupe de disponibilité distribué

Si un groupe de disponibilité participe à un groupe de disponibilité distribué, l’équilibrage de charge a besoin d’une règle supplémentaire. Cette règle stocke le port utilisé par l’écouteur de groupe de disponibilité distribué.

Important

Cette étape s’applique uniquement si le groupe de disponibilité fait partie d’un groupe de disponibilité distribué.

  1. Sur chaque serveur qui est inclus dans le groupe de disponibilité distribué, créez une règle de trafic entrant sur le port TCP de l’écouteur de groupe de disponibilité distribué. La documentation utilise 5022 dans de nombreux exemples.

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

  3. Créez la nouvelle règle d’équilibrage de charge avec les paramètres suivants :

    Paramètre Valeur
    Nom Ajoutez un nom pour identifier la règle d’équilibrage de charge pour le groupe de disponibilité distribué.
    Frontend IP address (Adresse IP frontale) Utilisez la même adresse IP de serveur frontal que le groupe de disponibilité.
    Pool back-end Pool qui contient les machines virtuelles dotées des instances SQL Server.
    Protocole TCP
    Port 5022 - le port pour l’écouteur de point de terminaison de groupe de disponibilité distribué.
    Peut être n’importe quel port disponible.
    Port principal 5022 - Utilisez la même valeur que Port.
    Sonde d’intégrité Choisissez la sonde que vous avez créée.
    Persistance de session None
    Délai d’inactivité (minutes). Valeur par défaut (4)
    Adresse IP flottante (retour direct du serveur) activé

Répétez ces étapes pour l’équilibrage de charge sur les autres groupes de disponibilité qui participent aux groupes de disponibilité distribués.

Si vous disposez d’un groupe de sécurité réseau Azure pour restreindre l’accès, assurez-vous que les règles d’autorisation sont les suivantes :

  • Adresses IP principales des machines virtuelles SQL Server
  • Adresses IP flottantes de l’équilibreur de charge pour l’écouteur GA
  • Adresse IP principale du cluster, le cas échéant.

Étapes suivantes

Pour en savoir plus, consultez :