SQL Server 2014 : AlwaysON Availability Group dans Azure (Partie 5)
Voici le cinquième article consacré à la mise en place d’une solution SQL Server 2014 AlwayON Availability Group dans Azure. Les articles sont découpés selon le plan suivant :
- Création de l’infrastructure Cloud
- Création de l’infrastructure virtuelle
- Mise en place du Failover cluster
- Configuration SQL
- Création du listener
- Test de la bascule AlwaysON
Ce billet va traiter de la cinquième partie, “Création du listener”. Pour rappel, à la fin de cette première série d’articles, nous aurons l’architecture suivante :
Création du listener
Maintenant que nous avons créé notre groupe de disponibilité, nous allons créer le « listener », afin de permettre une redirection automatique de nos applications vers le serveur primaire.
Ouverture des points de terminaisons (endpoints)
Dans un premier temps, il est nécessaire de créer un point de terminaison pour toutes les machines virtuelles contenant un réplica SQL server.
A partir du portail azure, vérifiez les points de terminaisons déjà présents de vos machines virtuelles.
Installation du module PowerShell pour Azure
Si le module PowerShell pour Azure est déjà installé, vous pouvez passer cette étape.
Sur un poste client, téléchargez et installez Azure PowerShell version de juin 2013 ou ultérieure
Exécutez le programme téléchargé. Cliquez sur le bouton « Install ».
Cliquez sur le bouton « I Accept ».
Cliquez sur « Finish ».
Ouverture des points de terminaisons
Démarrer un éditeur PowerShell. Pour cet exemple, j’ai utilisé PowerShell ISE
L’éditeur de script intégré se lance. Il faut d’abord récupérer le fichier publishsettings, qui contient les informations de votre compte Azure.
Copiez et exécutez la commande ci-dessous
- # récupération du fichier PublishSettings
- Get-AzurePublishSettingsFile
Vous êtes alors redirigé vers le portail Azure. Connectez-vous avec votre compte.
Le fichier « publishsettings » est prêt à être téléchargé. Sauvegardez-le sur votre disque dur.
Nous allons maintenant importer le fichier « publishsettings ». Copiez et exécutez la commande ci-dessous :
- # Import du fichier PublishSettings
- Import-AzurePublishSettingsFile -PublishSettingsFile "C:\Users\franmer\Documents\PowerShell\PublishSettings\Franmer_credentials.publishsettings"
Nous allons maintenant créer les points de terminaisons. Copiez, modifiez et exécutez le script PowerShell ci-dessous :
- # Création des end points
- $AGNodes = "A-FranmerSQL1","A-FranmerSQL2","A-FranmerSQL3","A-FranmerSQL4" # all availability group nodes should be included, separated by commas
- $ServiceName = "demosqlao" # the name of the cloud service that contains the availability group nodes
- $EndpointName = "SQLAOEndpoint" # name of the endpoint
- $EndpointPort = "55569" # public port to use for the endpoint
- # Configure a load balanced endpoint for each node in $AGNodes, with direct server return enabled
- ForEach ($node in $AGNodes)
- {
- Get-AzureVM -ServiceName $ServiceName -Name $node | Add-AzureEndpoint -Name $EndpointName -Protocol "TCP" -PublicPort $EndpointPort -LocalPort $EndpointPort -LBSetName "$EndpointName-LB" -ProbePort 59999 -ProbeProtocol "TCP" -DirectServerReturn $true | Update-AzureVM
- }
Après avoir exécuté le script, vous devez voir apparaître le point de terminaison dans votre portail Azure.
Dans notre exemple nous avons rajoutez 2 ports : 59999 et 55569.
Le port 59999 est le port de la sonde du point de terminaison à charge équilibré.
Le port 55569 est le port du « listener » du groupe de disponibilité.
Ces 2 ports doivent être ouverts sur toutes les machines du cluster. Soit vous le faîte manuellement sur toutes les machines soit vous créez une règle au niveau de votre domaine contrôleur (chose que l’on a fait dans cet exemple, voir l’article de la partie 2).
Installation d’un correctif sur les machines en Windows 2008 R2 et 2012 :
Pour toutes les machines appartenant au cluster, installez le correctif KB2854082 https://support.microsoft.com/kb/2854082 si les systèmes d’exploitation sont Windows 2008 R2 ou Windows 2012.
Création du « Listener »
Nous allons maintenant créer le listener afin de permettre une redirection automatique vers le serveur SQL actif.
Paramétrage du « Failover Cluster »
Sur une des machines du cluster (par exemple SQL1), à partir du « Server Manager », dans le menu « Tools », cliquez sur « Failover Cluster Manager ».
Dans la fenêtre « Failover Cluster Manager », dans la partie gauche sélectionnez« Roles ».
Dans la partie centrale, faîtes un clic droit sur votre nom de groupe de disponibilité.
Dans le menu contextuel, sélectionnez « Add Resource » puis « Client Access Point ».
Dans la partie « Client Access Point », donnez un nom réseau.
Cliquez sur « Next ».
Dans la partie confirmation, cliquez sur « Next »
Dans la partie « Summary » , cliquez sur « Finish ».
De retour dans la fenêtre « Failover Cluster Manager », vous devez voir apparaître le point d’accès (franmerlistener dans cet exemple) dans la partie centrale de la fenêtre.
En bas de la fenêtre, cliquez sur l’onglet « Resources ».
Cliquez sur le « plus » à gauche du nom du point d’accès.
Faîtes un clic droit sur le nom du réseau qui doit commencer par « IP adress : … ».
Dans le menu contextuel, cliquez sur « Properties » .
La fenêtre « IP Adress :…. » s’ouvre.
Dans le champ « Name », donnez un nom à votre réseau et mémorisez le. Vous allez en avoir besoin dans une des étapes suivantes.
Cliquez sur « Ok ».
Connectez-vous sur votre portail Azure. Sur la partie gauche du portail, cliquez sur « Services de Cloud ».
Cliquez sur le service de Cloud créé pour notre exemple, puis cliquez sur « Tableau de bord ».
Depuis le tableau de bord, notez l’adresse IP qui se trouve à droite sous « Adresse IP virtuelle (VIP) publique ».
Après avoir noté le nom de notre réseau et l’adresse publique de notre service de Cloud, nous allons compléter le script ci-dessous.
# Define variables
$ClusterNetworkName = "FranmerCluster" # the cluster network name
$IPResourceName = "FranmerNetwork" # the IP Address resource name
$CloudServiceIP = "23.100.52.115" # IP address of your cloud service
Import-Module FailoverClusters
Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple
@ {"Address"="$CloudServiceIP";"ProbePort"="59999";SubnetMask="255.255.255.255";"Network"="$ClusterNetworkName";"OverrideAddressMatch"=1;"EnableDhcp"=0}
Une fois le script complété, copiez le (dans ISE par exemple) et exécutez-le.
Ce script a pour fonction de modifier la ressource réseau du cluster. Ci-dessous une copie d’écran de ma fenêtre de gestion du cluster. On remarque que la ressource réseau est maintenant liée à notre service de Cloud.
Faîtes un clic droit sur « IP Adress : … », et sélectionnez « Properties ».
Dans la fenêtre properties, vous remarquez que le bouton radio « static IP Adress » est sélectionné et que l’adresse indiquée est celle de votre service de Cloud.
Cliquez sur « Ok ».
Faîtes maintenant un clic droit sur le nom de votre listener. Dans le menu contextuel, sélectionnez « Bring Online ».
Vous devez obtenir quelque chose de similaire à ma copie d’écran ci-dessous :
Toujours dans l’onglet « Resources », Cliquez sur le nom de votre groupe de disponibilité est cliquez sur « Properties ».
Dans la fenêtre « Properties » , cliquez sur l’onglet « Dependencies ».
Dans la liste déroulante, sélectionnez le nom du listener créé précédemment.
Cliquez sur « Ok ».
Finalisation de la création du listener avec Management studio
Nous allons finaliser l’installation du listener avec SQL Server Management Studio.
Connectez-vous à un de vos serveurs SQL intégré au cluster (Dans mon cas SQL1).
Sous « AlwaysOn High Availability »/ « Availability Group » / « FranmerAG » (Le nom de votre groupe de disponibilité) / « Availability Group Listener » .
Faîtes un clic droit sur votre Listener. Dans le menu contextuel, sélectionnez « Properties ».
Dans la fenêtre « Availability Group Listener Properties », dans le champ « Port », renseignez le port que vous avez défini précédemment via le script PowerShell.
Dans notre exemple c’est le port 55569.
Cliquez sur « Ok ».
Dans le prochain et dernier article de cette série, nous aborderons le test de la bascule AlwaysON .
Pour tester Windows Server 2012 R2, Windows 8, SQL Server 2014 et Power BI, vous pouvez télécharger gratuitement une version d’évaluation :
Windows Server 2012 R2:
-
- d'une image ISO : https://aka.ms/jeveuxWindowsServer2012R2
- d'un fichier VHD avec un système préinstallé : https://aka.ms/jeveuxWindowsServer2012R2
SQL Server 2014 :
Power BI :
Testez Azure gratuitement pendant un mois :
Comments
- Anonymous
January 01, 2003
thank you - Anonymous
July 24, 2014
Voici le sixième et dernier article consacré à la mise en place d’une solution SQL Server 2014