Delen via


Een Azure Load Balancer configureren voor een AG VNN-listener - SQL Server op Azure-VM's

Van toepassing op: SQL Server op Azure VM

Tip

Er zijn veel methoden om een beschikbaarheidsgroep te implementeren. Vereenvoudig uw implementatie en elimineer de noodzaak van een Azure Load Balancer of gedistribueerde netwerknaam (DNN) voor uw AlwaysOn-beschikbaarheidsgroep door uw virtuele SQL Server-machines (VM's) te maken in meerdere subnetten binnen hetzelfde virtuele Azure-netwerk. Als u uw beschikbaarheidsgroep al in één subnet hebt gemaakt, kunt u deze migreren naar een omgeving met meerdere subnetten.

Op virtuele Azure-machines gebruiken clusters een load balancer voor het opslaan van een IP-adres dat zich op één clusterknooppunt tegelijk moet bevinden. In deze oplossing bevat de load balancer het IP-adres voor de VN-listener (Virtual Network Name) voor de AlwaysOn-beschikbaarheidsgroep wanneer de SQL Server-VM's zich in één subnet bevinden.

In dit artikel leert u hoe u een load balancer configureert met behulp van de Azure Load Balancer-service. De load balancer routeert verkeer naar uw listener voor beschikbaarheidsgroepen met SQL Server op Azure-VM's voor hoge beschikbaarheid en herstel na noodgevallen (HADR).

Voor een alternatieve connectiviteitsoptie voor klanten die zich in SQL Server 2019 CU8 en hoger bevinden, kunt u in plaats daarvan een DNN-listener (Distributed Network Name) overwegen. Een DNN-listener biedt vereenvoudigde configuratie en verbeterde failover.

Vereisten

Voordat u de stappen in dit artikel voltooit, hebt u het volgende al nodig:

Een load balancer maken

U kunt een van deze typen load balancers maken:

  • Intern: Een interne load balancer kan alleen worden geopend vanuit privébronnen die intern zijn voor het netwerk. Wanneer u een interne load balancer en de bijbehorende regels configureert, gebruikt u hetzelfde IP-adres als de listener van de beschikbaarheidsgroep voor het front-end-IP-adres.

  • Extern: Een externe load balancer kan verkeer van het publiek naar interne resources routeren. Wanneer u een externe load balancer configureert, kunt u niet hetzelfde IP-adres gebruiken als de listener van de beschikbaarheidsgroep, omdat het IP-adres van de listener geen openbaar IP-adres kan zijn.

    Als u een externe load balancer wilt gebruiken, wijst u logisch een IP-adres toe in hetzelfde subnet als de beschikbaarheidsgroep die niet conflicteren met een ander IP-adres. Gebruik dit adres als het front-end-IP-adres voor de taakverdelingsregels.

Belangrijk

Op 30 september 2025 wordt de Basic-SKU voor Azure Load Balancer buiten gebruik gesteld. Zie de officiële aankondiging voor meer informatie. Als u momenteel Basic Load Balancer gebruikt, voert u een upgrade uit naar Standard Load Balancer vóór de buitengebruikstellingsdatum. Raadpleeg De load balancer upgraden voor hulp.

De load balancer maken:

  1. Ga in Azure Portal naar de resourcegroep die de virtuele machines bevat.

  2. Selecteer Toevoegen. Zoek in Azure Marketplace naar load balancer. Selecteer Load Balancer.

  3. Selecteer Maken.

  4. Stel in Load Balancer maken op het tabblad Basisbeginselen de load balancer in met behulp van de volgende waarden:

    • Abonnement: uw Azure-abonnement.
    • Resourcegroep: de resourcegroep die uw virtuele machines bevat.
    • Naam: Een naam die de load balancer identificeert.
    • Regio: De Azure-locatie die uw virtuele machines bevat.
    • SKU: Standard.
    • Type: Openbaar of Intern. Een interne load balancer kan worden geopend vanuit het virtuele netwerk. De meeste Azure-toepassingen kunnen een interne load balancer gebruiken. Als uw toepassing rechtstreeks via internet toegang nodig heeft tot SQL Server, gebruikt u een openbare load balancer.
    • Laag: Regionaal.

    Screenshot of the Azure portal that shows the page for basic information about a load balancer.

  5. Selecteer Volgende: Front-end-IP-configuratie.

  6. Selecteer Een front-end-IP-configuratie toevoegen.

    Screenshot of the Azure portal that shows the button for adding a frontend IP configuration.

  7. Stel het front-end-IP-adres in met behulp van de volgende waarden:

    • Naam: Een naam die de front-end-IP-configuratie identificeert.
    • Virtueel netwerk: hetzelfde netwerk als de virtuele machines.
    • Subnet: hetzelfde subnet als de virtuele machines.
    • Toewijzing: Statisch.
    • IP-adres: het IP-adres dat u hebt toegewezen aan de geclusterde netwerkresource.
    • Beschikbaarheidszone: een optionele beschikbaarheidszone waarnaar u uw IP-adres wilt implementeren.

    Screenshot of the Azure portal that shows the page for configuring a frontend IP address.

  8. Selecteer Toevoegen om het front-end-IP-adres te maken.

  9. Selecteer Beoordelen en maken om de load balancer te maken.

Een back-endpool configureren

  1. Ga terug naar de Azure-resourcegroep die de virtuele machines bevat en zoek de nieuwe load balancer. Mogelijk moet u de weergave in de resourcegroep vernieuwen. Selecteer de load balancer.

  2. Selecteer Back-endpools en selecteer vervolgens +Toevoegen.

  3. Geef bij Naam een naam op voor de back-endpool.

  4. Selecteer NIC voor configuratie van back-endpool.

  5. Selecteer Toevoegen om de back-endpool te koppelen aan de beschikbaarheidsset die de VM's bevat.

  6. Kies onder Virtuele machine de virtuele machines die als clusterknooppunten deelnemen. Zorg ervoor dat u alle virtuele machines opneemt die als host fungeren voor de beschikbaarheidsgroep.

    Voeg alleen het primaire IP-adres van elke VIRTUELE machine toe. Voeg geen secundaire IP-adressen toe.

  7. Selecteer Toevoegen om de virtuele machines toe te voegen aan de back-endpool.

  8. Selecteer Opslaan om de back-endpool te maken.

Een statustest configureren

  1. Selecteer statustests in het deelvenster voor de load balancer.

  2. Stel in het deelvenster Statustest toevoegen de volgende parameters in:

    • Naam: Een naam voor de statustest.
    • Protocol: TCP.
    • Poort: de poort die u in de firewall hebt gemaakt voor de statustest. In dit artikel wordt in het voorbeeld TCP-poort 59999 gebruikt.
    • Interval: 5 seconden.
  3. Selecteer Toevoegen.

Taakverdelingsregels instellen

  1. Selecteer taakverdelingsregels in het deelvenster voor de load balancer.

  2. Selecteer Toevoegen.

  3. Stel deze parameters in:

    • Naam: Een naam voor de taakverdelingsregel.
    • Front-end-IP-adres: het IP-adres dat u hebt ingesteld bij het configureren van de front-end.
    • Back-endpool: de back-endpool die de virtuele machines bevat die zijn gericht op de load balancer.
    • HA-poorten: hiermee schakelt u taakverdeling in op alle poorten voor TCP- en UDP-protocollen.
    • Protocol: TCP.
    • Poort: de TCP-poort van SQL Server. De standaardwaarde is 1433.
    • Back-endpoort: dezelfde poort als de poortwaarde wanneer u Zwevend IP inschakelt (direct server return).
    • Statustest: de statustest die u eerder hebt geconfigureerd.
    • Sessiepersistentie: Geen.
    • Time-out voor inactiviteit (minuten): 4.
    • Zwevend IP-adres (direct server return): ingeschakeld.
  4. Selecteer Opslaan.

Een clustertest configureren

Stel de poortparameter van de clustertest in PowerShell in.

Werk de variabelen in het volgende script bij met waarden uit uw omgeving. Verwijder de hoekhaken (< en >) uit het script.

$ClusterNetworkName = "<Cluster Network Name>"
$IPResourceName = "<AG Listener IP Address Resource Name>" 
$ILBIP = "<n.n.n.n>" 
[int]$ProbePort = <nnnnn>

Import-Module FailoverClusters

Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"EnableDhcp"=0}

In de volgende tabel worden de waarden beschreven die u moet bijwerken:

Variabele Value
ClusterNetworkName De naam van het Windows Server-failovercluster voor het netwerk. Klik in Failoverclusterbeheernetwerken> met de rechtermuisknop op het netwerk en selecteer Eigenschappen. De juiste waarde ziet u op het tabblad Algemeen, bij Naam.
IPResourceName De resourcenaam voor het IP-adres van de AG-listener. Klik in Failoverclusterbeheerfuncties> onder servernaam onder Servernaam met de rechtermuisknop op de IP-adresresource en selecteer Eigenschappen. De juiste waarde ziet u op het tabblad Algemeen, bij Naam.
ILBIP Het IP-adres van de interne load balancer. Dit adres wordt geconfigureerd in Azure Portal als het front-endadres van de interne load balancer. Dit is hetzelfde IP-adres als de listener van de beschikbaarheidsgroep. U vindt deze in Failoverclusterbeheer, op dezelfde eigenschappenpagina waar u de waarde voor IPResourceNamevindt.
ProbePort De testpoort die u hebt geconfigureerd in de statustest van de load balancer. Elke ongebruikte TCP-poort is geldig.
SubnetMask Het subnetmasker voor de clusterparameter. Dit moet het TCP/IP-broadcastadres zijn: 255.255.255.255.

De wijzigingen die u hebt aangebracht, worden pas van kracht nadat de IP-adresresource offline is gehaald en weer online zijn gebracht. Voer een failover uit van de beschikbaarheidsgroep om deze wijziging door te voeren. Nadat u de clustertest hebt ingesteld, ziet u alle clusterparameters in PowerShell. Voer dit script uit:

Get-ClusterResource $IPResourceName | Get-ClusterParameter

De verbindingsreeks wijzigen

Voor clients die dit ondersteunen, voegt u deze toe MultiSubnetFailover=True aan de verbindingsreeks. Hoewel de MultiSubnetFailover verbindingsoptie niet vereist is, biedt dit het voordeel van een snellere subnetfailover. Dit komt doordat het clientstuurprogramma probeert een TCP-socket te openen voor elk IP-adres parallel. Het clientstuurprogramma wacht tot het eerste IP-adres reageert met succes. Na het geslaagde antwoord gebruikt het clientstuurprogramma dat IP-adres voor de verbinding.

Als uw client de MultiSubnetFailover parameter niet ondersteunt, kunt u de RegisterAllProvidersIP en HostRecordTTL instellingen wijzigen om connectiviteitsvertragingen na een failover te voorkomen.

Gebruik PowerShell om de RegisterAllProvidersIp en HostRecordTTL instellingen te wijzigen:

Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0  
Get-ClusterResource yourListenerName|Set-ClusterParameter HostRecordTTL 300 

Zie de documentatie over time-out voor listenerverbindingen in SQL Server voor meer informatie.

Tip

  • Stel de in true de MultiSubnetFailover parameter verbindingsreeks in, zelfs voor HADR-oplossingen die één subnet omvatten. Deze instelling ondersteunt toekomstige spanning van subnetten zonder dat u verbindingsreeks s hoeft bij te werken.
  • Standaard worden DNS-records voor het cluster gedurende 20 minuten opgeslagen in de cache van clients. Door te verminderen HostRecordTTL, vermindert u de time to live (TTL) voor de record in de cache. Oudere clients kunnen vervolgens sneller opnieuw verbinding maken. Als zodanig kan het verminderen van de HostRecordTTL instelling het verkeer naar de DNS-servers verhogen.

Testfailover

Testfailover van de geclusterde resource om clusterfunctionaliteit te valideren:

  1. Open SQL Server Management Studio en maak verbinding met de listener van uw beschikbaarheidsgroep.
  2. Vouw in Objectverkenner AlwaysOn-beschikbaarheidsgroep uit.
  3. Klik met de rechtermuisknop op de beschikbaarheidsgroep en selecteer Failover.
  4. Volg de aanwijzingen van de wizard om een failover van de beschikbaarheidsgroep naar een secundaire replica uit te voeren.

Failover slaagt wanneer de replica's schakelen tussen rollen en beide worden gesynchroniseerd.

Connectiviteit testen

Als u de connectiviteit wilt testen, meldt u zich aan bij een andere virtuele machine in hetzelfde virtuele netwerk. Open SQL Server Management Studio en maak verbinding met de listener van de beschikbaarheidsgroep.

Notitie

Als dat nodig is, kunt u SQL Server Management Studio downloaden.

Volgende stappen

Nadat de VNN is gemaakt, kunt u overwegen de clusterinstellingen voor SQL Server-VM's te optimaliseren.

Raadpleeg voor meer informatie: