Configurare un listener esterno per i gruppi di disponibilità AlwaysOn in AzureConfigure an external listener for Always On Availability Groups in Azure

Questo argomento illustra come configurare un listener per un gruppo di disponibilità AlwaysOn accessibile esternamente su Internet.This topic shows you how to configure a listener for an Always On Availability Group that is externally accessible on the internet. Ciò è possibile tramite l'associazione dell'indirizzo IP virtuale pubblico (indirizzo VIP) del servizio cloud con il listener.This is made possible by associating the cloud service's public Virtual IP (VIP) address with the listener.

Importante

Azure offre due diversi modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica.Azure has two different deployment models for creating and working with resources: Resource Manager and Classic. Questo articolo illustra l'uso del modello di distribuzione classica.This article covers using the Classic deployment model. Microsoft consiglia di usare il modello di Gestione risorse per le distribuzioni più recenti.Microsoft recommends that most new deployments use the Resource Manager model.

Il gruppo di disponibilità può contenere repliche solo locali, solo di Azure oppure sia locali che di Azure per le configurazioni ibride.Your Availability Group can contain replicas that are on-premises only, Azure only, or span both on-premises and Azure for hybrid configurations. Le repliche di Azure possono trovarsi nella stessa area o in più aree grazie a più reti virtuali (VNet).Azure replicas can reside within the same region or across multiple regions using multiple virtual networks (VNets). I passaggi seguenti presuppongono che sia già stato configurato un gruppo di disponibilità ma che non sia stato configurato un listener.The steps below assume you have already configured an availability group but have not configured a listener.

Linee guida e limitazioni per listener esterniGuidelines and limitations for external listeners

Occorre notare le linee guida seguenti relative al listener del gruppo di disponibilità in Azure quando si esegue la distribuzione usando l'indirizzo IP virtuale pubblico del servizio cloud:Note the following guidelines about the availability group listener in Azure when you are deploying using the cloud service pubic VIP address:

  • Il listener del gruppo di disponibilità è supportato su Windows Server 2008 R2, Windows Server 2012 e Windows Server 2012 R2.The availability group listener is supported on Windows Server 2008 R2, Windows Server 2012, and Windows Server 2012 R2.
  • L'applicazione client deve trovarsi in un servizio cloud diverso rispetto a quello che contiene le VM del gruppo di disponibilità.The client application must reside on a different cloud service than the one that contains your availability group VMs. Azure non supporta Direct Server Return con client e server residenti nello stesso servizio cloud.Azure does not support direct server return with client and server in the same cloud service.
  • Per impostazione predefinita, la procedura descritta in questo articolo descrive come configurare un listener per usare l'indirizzo IP virtuale (VIP) del servizio cloud.By default, the steps in this article show how to configure one listener to use the cloud service Virtual IP (VIP) address. Tuttavia, è possibile riservare e creare più indirizzi VIP per il servizio cloud.However, it is possible to reserve and create multiple VIP addresses for your cloud service. In questo modo è possibile usare la procedura di questo articolo per creare più listener, ciascuno di essi associato a un indirizzo IP virtuale diverso.This enables you to use the steps in this article to create multiple listeners that are each associated with a different VIP. Per informazioni su come creare più indirizzi VIP, vedere più indirizzi IP virtuali per il servizio cloud.For information on how to create multiple VIP addresses, see Multiple VIPs per cloud service.
  • Se si sta creando un listener per un ambiente ibrido, la rete locale deve disporre di connettività a Internet pubblico oltre che al VPN da sito a sito con la rete virtuale di Azure.If you are creating a listener for a hybrid environment, the on-premises network must have connectivity to the public Internet in addition to the site-to-site VPN with the Azure virtual network. Quando nella subnet di Azure, il listener del gruppo di disponibilità è raggiungibile solo tramite indirizzo IP pubblico del rispettivo servizio cloud.When in the Azure subnet, the availability group listener is reachable only by the public IP address of the respective cloud service.
  • Non è supportata la creazione di un listener esterno nello stesso servizio cloud in cui è presente anche un listener interno utilizzando il servizio di bilanciamento del carico interno (ILB).It is not supported to create an external listener in the same cloud service where you also have an internal listener using the Internal Load Balancer (ILB).

Determinare l'accessibilità del listenerDetermine the accessibility of the listener

È importante tenere presente che esistono due modi per configurare un listener del gruppo di disponibilità in Azure.It is important to realize that there are two ways to configure an availability group listener in Azure. Questi metodi differiscono nel tipo di servizio di bilanciamento del carico di Azure usato quando si crea il listener.The ways differ in the type of Azure load balancer you use when you create the listener. Nella tabella seguente sono descritte le differenze:The following table describes the differences:

Tipo di servizio di bilanciamento del caricoLoad balancer type ImplementazioneImplementation Usare questo tipo nei seguenti casi:Use when:
EsternoExternal Usa l'indirizzo IP virtuale pubblico del servizio cloud che ospita le macchine virtuali.Uses the public virtual IP address of the cloud service that hosts the virtual machines (VMs). È necessario accedere al listener dall'esterno della rete virtuale, ad esempio da Internet.You need to access the listener from outside the virtual network, including from the Internet.
InternoInternal Usa un servizio di bilanciamento del carico interno con un indirizzo privato per il listener.Uses an internal load balancer with a private address for the listener. È possibile accedere al listener solo dall'interno della stessa rete virtuale.You can access the listener only from within the same virtual network. Questa modalità di accesso include la VPN da sito a sito in scenari ibridi.This access includes site-to-site VPN in hybrid scenarios.

Importante

Per un listener che usa l'indirizzo VIP pubblico del servizio cloud (servizio di bilanciamento del carico esterno), non si incorrerà in spese di uscita fin quando il client, il listener e i database si troveranno nella stessa area di Azure.For a listener that uses the cloud service's public VIP (external load balancer), as long as the client, listener, and databases are in the same Azure region, you will not incur egress charges. In caso contrario, i dati restituiti tramite il listener vengono considerati in uscita e vengono addebitati i normali costi di trasferimento dati.Otherwise, any data returned through the listener is considered egress, and it is charged at normal data-transfer rates.

Un servizio di bilanciamento del carico interno può essere configurato solo nelle reti virtuali con ambito a livello di area.An ILB can be configured only on virtual networks with a regional scope. Le reti virtuali esistenti che sono state configurate per un gruppo di affinità non possono usare un servizio di bilanciamento del carico interno.Existing virtual networks that have been configured for an affinity group cannot use an ILB. Per altre informazioni, vedere Panoramica del bilanciamento del carico interno.For more information, see Internal load balancer overview.

Questo articolo illustra la creazione di un listener che usa il bilanciamento del carico esterno.This article focuses on creating a listener that uses external load balancing. Se si vuole un listener privato per la rete virtuale, vedere la versione di questo articolo che illustra la procedura per la configurazione di un listener con ILBIf you want a listener that is private to your virtual network, see the version of this article that provides steps for setting up an listener with ILB

Creare endpoint VM con bilanciamento del carico con Direct Server ReturnCreate load-balanced VM endpoints with direct server return

Il servizio di bilanciamento del carico esterno usa l'indirizzo IP virtuale pubblico del servizio cloud che ospita le VM.External load balancing uses the virtual the public Virtual IP address of the cloud service that hosts your VMs. Non è quindi necessario creare o configurare il servizio di bilanciamento del carico in questo caso.So you do not need to create or configure the load balancer in this case.

È necessario creare un endpoint con carico bilanciato per ogni macchina virtuale che ospita una replica di Azure.You must create a load-balanced endpoint for each VM hosting an Azure replica. Se si dispongono di repliche in più aree, ogni replica per tale area deve essere nello stesso servizio cloud nella stessa rete virtuale.If you have replicas in multiple regions, each replica for that region must be in the same cloud service in the same VNet. Le repliche di creazione del gruppo di disponibilità che si estendono su più aree di Azure richiedono la configurazione di più reti virtuali.Creating Availability Group replicas that span multiple Azure regions requires configuring multiple VNets. Per altre informazioni sulla configurazione della connettività tra reti virtuali, vedere Configurare la connettività tra reti virtuali.For more information on configuring cross VNet connectivity, see Configure VNet to VNet Connectivity.

  1. Nel portale di Azure, passare a ogni macchina virtuale che ospita una replica e visualizzare i dettagli.In the Azure portal, navigate to each VM hosting a replica and view the details.
  2. Scegliere la scheda Endpoint per ognuna delle macchine virtuali.Click the Endpoints tab for each of the VMs.
  3. Verificare che il nome e la porta pubblica specificati per l'endpoint del listener non siano già in uso.Verify that the Name and Public Port of the listener endpoint you want to use is not already in use. Nell'esempio seguente, il nome è "MyEndpoint" e la porta è "1433".In the example below, the name is “MyEndpoint” and the port is “1433”.
  4. Nel client locale, scaricare e installare l'ultimo modulo PowerShell.On your local client, download and install the latest PowerShell module.
  5. Avviare Azure PowerShell.Launch Azure PowerShell. Viene aperta una nuova sessione di PowerShell con i moduli amministrativi di Azure caricati.A new PowerShell session is opened with the Azure administrative modules loaded.
  6. Eseguire Get-AzurePublishSettingsFile.Run Get-AzurePublishSettingsFile. Questo cmdlet conduce a un browser per scaricare un file di impostazioni di pubblicazione in una directory locale.This cmdlet directs you to a browser to download a publish settings file to a local directory. Se richiesto, immettere le credenziali di accesso per la sottoscrizione di Azure.You may be prompted for your log-in credentials for your Azure subscription.
  7. Eseguire il comando Import-AzurePublishSettingsFile con il percorso del file di impostazioni di pubblicazione che si è scaricato:Run the Import-AzurePublishSettingsFile command with the path of the publish settings file that you downloaded:

     Import-AzurePublishSettingsFile -PublishSettingsFile <PublishSettingsFilePath>
    

    Una volta importato il file di impostazioni di pubblicazione, è possibile gestire la sottoscrizione di Azure nella sessione di PowerShell.Once the publish settings file is imported, you can manage your Azure subscription in the PowerShell session.

  8. Copiare lo script di PowerShell seguente in un editor di testi e impostare i valori variabili in base all'ambiente. Sono stati forniti valori predefiniti per alcuni parametri.Copy the PowerShell script below into a text editor and set the variable values to suit your environment (defaults have been provided for some parameters). Si noti che se il gruppo di disponibilità si estende tra diverse aree di Azure, è necessario eseguire lo script una volta in ogni data center per il servizio cloud e i nodi che risiedono nel data center.Note that if your availability group spans Azure regions, you must run the script once in each datacenter for the cloud service and nodes that reside in that datacenter.

     # Define variables
     $ServiceName = "<MyCloudService>" # the name of the cloud service that contains the availability group nodes
     $AGNodes = "<VM1>","<VM2>","<VM3>" # all availability group nodes containing replicas in the same cloud service, separated by commas
    
     # 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 "ListenerEndpoint" -Protocol "TCP" -PublicPort 1433 -LocalPort 1433 -LBSetName "ListenerEndpointLB" -ProbePort 59999 -ProbeProtocol "TCP" -DirectServerReturn $true | Update-AzureVM
     }
    
  9. Dopo aver impostato le variabili, copiare lo script dall'editor di testo nella sessione di Azure PowerShell per eseguirlo.Once you have set the variables, copy the script from the text editor into your Azure PowerShell session to run it. Se nel prompt viene ancora visualizzato >>, digitare di nuovo ENTER per assicurarsi che l'esecuzione dello script sia stata avviata.If the prompt still shows >>, type ENTER again to make sure the script starts running.

Se necessario, verificare che KB2854082 sia installato.Verify that KB2854082 is installed if necessary

Se i server nel cluster stanno eseguendo Windows Server 2008 R2 o Windows Server 2012, è necessario quindi verificare che l'hotfix KB2854082 sia installato su ognuno dei server locali o sulle VM di Azure che fanno parte del cluster.Next, if any servers on the cluster are running Windows Server 2008 R2 or Windows Server 2012, you must verify that the hotfix KB2854082 is installed on each of the on-premises servers or Azure VMs that are part of the cluster. Qualsiasi server o macchina virtuale che si trova nel cluster, ma non nel gruppo di disponibilità, deve avere installato tale hotfix.Any server or VM that is in the cluster, but not in the availability group, should also have this hotfix installed.

Nella sessione desktop remota per ciascuno dei nodi del cluster, scaricare KB2854082 in una directory locale.In the remote desktop session for each of the cluster nodes, download KB2854082 to a local directory. Quindi, installare l'hotfix in ogni nodo del cluster in modo sequenziale.Then, install the hotfix on each cluster node sequentially. Se il servizio cluster è in esecuzione nel nodo del cluster, il server viene riavviato al termine dell'installazione dell'hotfix.If the cluster service is currently running on the cluster node, the server is restarted at the end of the hotfix installation.

Avviso

L'arresto del servizio cluster o il riavvio del server influiscono sull'integrità del quorum del cluster e del gruppo di disponibilità e possono portare il cluster offline.Stopping the cluster service or restarting the server affects the quorum health of your cluster and the availability group, and it might cause your cluster to go offline. Per mantenere la disponibilità elevata del cluster durante l'installazione, verificare quanto segue:To maintain the high availability of your cluster during installation, make sure that:

  • Il cluster è in stato di quorum ottimale.The cluster is in optimal quorum health.
  • Prima dell'installazione dell'hotfix in qualsiasi nodo, tutti i nodi del cluster sono online.Before you install the hotfix on any node, all cluster nodes are online.
  • Prima di installare l'hotfix in altri nodi del cluster, è necessario consentire il completamento dell'esecuzione dell'installazione dell'hotfix in un nodo, incluso il riavvio completo del server.Before you install the hotfix on any other node in the cluster, allow the hotfix installation to run to completion on one node, including fully restarting the server.

Aprire le porte firewall nei nodi del gruppo di disponibilità inOpen the firewall ports in availability group nodes

In questo passaggio si creerà una regola del firewall per aprire la porta probe per l'endpoint con carico bilanciato (59999, come specificato in precedenza) e un'altra regola per aprire la porta del listener del gruppo disponibilità.In this step, you create a firewall rule to open the probe port for the load-balanced endpoint (59999, as specified earlier) and another rule to open the availability group listener port. Poiché è stato creato l'endpoint con carico bilanciato nelle VM contenenti repliche del gruppo di disponibilità, è necessario aprire la porta probe e la porta del listener sulle rispettive macchine virtuali.Because you created the load-balanced endpoint on the VMs that contain availability group replicas, you need to open the probe port and the listener port on the respective VMs.

  1. Nelle macchine virtuali che ospitano le repliche, avviare Windows Firewall con sicurezza avanzata.On VMs that host replicas, start Windows Firewall with Advanced Security.

  2. Fare clic con il pulsante destro del mouse su Regole connessioni in entrata e quindi scegliere Nuova regola.Right-click Inbound Rules, and then click New Rule.

  3. Nella pagina Tipo di regola selezionare Porta e quindi fare clic su Avanti.On the Rule Type page, select Port, and then click Next.

  4. Nella pagina Protocollo e porte selezionare TCP, digitare 59999 nella casella Porte locali specifiche e quindi fare clic su Avanti.On the Protocol and Ports page, select TCP, type 59999 in the Specific local ports box, and then click Next.

  5. Nella pagina Azione mantenere selezionata l'opzione Consenti la connessione e quindi fare clic su Avanti.On the Action page, keep Allow the connection selected, and then click Next.

  6. Nella pagina Profilo accettare le impostazioni predefinite e quindi fare clic su Avanti.On the Profile page, accept the default settings, and then click Next.

  7. Nella pagina Nome specificare nella casella di testo Nome un nome per la regola, ad esempio Porta probe del listener AlwaysOn e quindi fare clic su Fine.On the Name page, in the Name text box, specify a rule name, such as Always On Listener Probe Port, and then click Finish.

  8. Ripetere i passaggi precedenti per la porta del listener del gruppo di disponibilità (come specificato in precedenza nel parametro $EndpointPort dello script) e specificare un nome di regola appropriato, ad esempio Porta del Listener AlwaysOn.Repeat the preceding steps for the availability group listener port (as specified earlier in the $EndpointPort parameter of the script), and then specify an appropriate rule name, such as Always On Listener Port.

Creare il listener del gruppo di disponibilitàCreate the availability group listener

Creare il listener del gruppo di disponibilità in due passaggi.Create the availability group listener in two steps. Creare prima di tutto la risorsa cluster del punto di accesso client e configurare le dipendenze.First, create the client access point cluster resource and configure dependencies. In secondo luogo configurare le risorse del cluster con PowerShell.Second, configure the cluster resources with PowerShell.

Creare il punto di accesso client e configurare le dipendenze del clusterCreate the client access point and configure the cluster dependencies

In questo passaggio si creerà manualmente il listener del gruppo di disponibilità in Gestione cluster di failover e SQL Server Management Studio.In this step, you manually create the availability group listener in Failover Cluster Manager and SQL Server Management Studio.

  1. Aprire Gestione cluster di failover dal nodo che ospita la replica primaria.Open Failover Cluster Manager from the node that hosts the primary replica.

  2. Selezionare il nodo Reti e quindi annotare il nome di rete del cluster.Select the Networks node, and then note the cluster network name. Questo nome viene usato nella variabile $ClusterNetworkName nello script di PowerShell.This name is used in the $ClusterNetworkName variable in the PowerShell script.

  3. Espandere il nome di cluster, quindi fare clic su Ruoli.Expand the cluster name, and then click Roles.

  4. Nel pannello Ruoli fare clic con il pulsante destro del mouse sul nome del gruppo di disponibilità e quindi scegliere Aggiungi risorsa > Punto di accesso client.In the Roles pane, right-click the availability group name, and then select Add Resource > Client Access Point.

    Aggiungere il punto di accesso client per il gruppo di disponibilità

  5. Nella casella Nome creare un nome per il nuovo listener, fare clic su Avanti due volte, quindi fare clic su Fine.In the Name box, create a name for this new listener, click Next twice, and then click Finish.
    Non portare il listener o la risorsa in linea a questo punto.Do not bring the listener or resource online at this point.

  6. Scegliere la scheda Risorse, e quindi espandere il punto di accesso client appena creato.Click the Resources tab, and then expand the client access point you just created. Viene visualizzata la risorsa indirizzo IP per ogni rete di cluster nel cluster.The IP address resource for each cluster network in your cluster is displayed. Se si tratta di una soluzione solo per Azure, viene visualizzata solo una risorsa indirizzo IP.If this is an Azure-only solution, only one IP address resource is displayed.

  7. Eseguire una di queste operazioni:Do either of the following:

    • Per configurare una soluzione ibrida:To configure a hybrid solution:

      a.a. Fare clic con il pulsante destro del mouse sulla risorsa indirizzo IP che corrisponde alla subnet locale e quindi scegliere Proprietà.Right-click the IP address resource that corresponds to your on-premises subnet, and then select Properties. Annotare il nome dell'indirizzo IP e il nome di rete.Note the IP address name and network name.

      b.b. Selezionare Indirizzo IP statico, assegnare un indirizzo IP non usato e quindi fare clic su OK.Select Static IP Address, assign an unused IP address, and then click OK.

    • Per configurare una soluzione solo per Azure:To configure an Azure-only solution:

      a.a. Fare clic con il pulsante destro del mouse sulla risorsa indirizzo IP corrispondente alla subnet di Azure e quindi scegliere Proprietà.Right-click the IP address resource that corresponds to your Azure subnet, and then select Properties.

      Nota

      Se il listener non riesce in un secondo momento a portarsi in linea a causa di un indirizzo IP in conflitto selezionato da DHCP, è possibile configurare un indirizzo IP statico valido in questa finestra Proprietà.If the listener later fails to come online because of a conflicting IP address selected by DHCP, you can configure a valid static IP address in this properties window.

      b.b. Nella stessa finestra delle proprietà dell'indirizzo IP modificare il valore di Nome indirizzo IP.In the same IP Address properties window, change the IP Address Name.
      Questo nome viene usato nella variabile $IPResourceName dello script di PowerShell.This name is used in the $IPResourceName variable of the PowerShell script. Se la soluzione si estende in più reti virtuali di Azure, ripetere questo passaggio per ogni risorsa IP.If your solution spans multiple Azure virtual networks, repeat this step for each IP resource.

Configurare le risorse del cluster in PowerShellConfigure the cluster resources in PowerShell

  1. Per il servizio di bilanciamento del carico esterno, è necessario ottenere l'indirizzo IP virtuale pubblico del servizio cloud contenente le repliche.For external load balancing, you must obtain the public virtual IP address of the cloud service that contains your replicas. Accedere al portale di Azure.Log into the Azure portal. Passare al servizio cloud che contiene la macchina virtuale del gruppo di disponibilità.Navigate to the cloud service that contains your availability group VM. Aprire la visualizzazione Dashboard .Open the Dashboard view.
  2. Annotare l'indirizzo visualizzato sotto Indirizzo IP virtuale pubblico (VIP).Note the address shown under Public Virtual IP (VIP) Address. Se la soluzione interessa più reti virtuali, ripetere questo passaggio per ogni servizio cloud che contiene una macchina virtuale che ospita una replica.If your solution spans VNets, repeat this step for each cloud service that contains a VM that hosts a replica.
  3. Su una delle macchine virtuali copiare lo script di PowerShell seguente in un editor di testo e impostare le variabili sui valori annotati prima.On one of the VMs, copy the PowerShell script below into a text editor and set the variables to the values you noted earlier.

     # Define variables
     $ClusterNetworkName = "<ClusterNetworkName>" # the cluster network name (Use Get-ClusterNetwork on Windows Server 2012 of higher to find the name)
     $IPResourceName = "<IPResourceName>" # the IP Address resource name
     $CloudServiceIP = "<X.X.X.X>" # Public Virtual IP (VIP) address of your cloud service
    
     Import-Module FailoverClusters
    
     # If you are using Windows Server 2012 or higher, use the Get-Cluster Resource command. If you are using Windows Server 2008 R2, use the cluster res command. Both commands are commented out. Choose the one applicable to your environment and remove the # at the beginning of the line to convert the comment to an executable line of code.
    
     # Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @{"Address"="$CloudServiceIP";"ProbePort"="59999";"SubnetMask"="255.255.255.255";"Network"="$ClusterNetworkName";"OverrideAddressMatch"=1;"EnableDhcp"=0}
     # cluster res $IPResourceName /priv enabledhcp=0 overrideaddressmatch=1 address=$CloudServiceIP probeport=59999  subnetmask=255.255.255.255
    
  4. Dopo aver impostato le variabili, aprire una finestra con privilegi elevati di Windows PowerShell, quindi copiare lo script dall'editor di testo e incollarlo nella sessione di Azure PowerShell per eseguirlo.Once you have set the variables, open an elevated Windows PowerShell window, then copy the script from the text editor and paste into your Azure PowerShell session to run it. Se nel prompt viene ancora visualizzato >>, digitare di nuovo ENTER per assicurarsi che l'esecuzione dello script sia stata avviata.If the prompt still shows >>, type ENTER again to make sure the script starts running.
  5. Ripetere questo passaggio su ogni macchina virtuale.Repeat this on each VM. Questo script consente di configurare la risorsa Indirizzo IP con l'indirizzo IP del servizio cloud e di impostare altri parametri come la porta probe.This script configures the IP Address resource with the IP address of the cloud service and sets other parameters like the probe port. Quando la risorsa Indirizzo IP viene portata online, può quindi rispondere al polling sulla porta probe dall'endpoint con carico bilanciato, creato in precedenza in questa esercitazione.When the IP Address resource is brought online, it can then respond to the polling on the probe port from the load-balanced endpoint created earlier in this tutorial.

Portare online il listenerBring the listener online

  1. In Gestione cluster di failover espandere Ruoli e quindi evidenziare il gruppo di disponibilità.In Failover Cluster Manager, expand Roles, and then highlight your availability group.

  2. Nella scheda Risorse fare clic con il pulsante destro del mouse sul nome del listener e scegliere Proprietà.On the Resources tab, right-click the listener name, and then click Properties.

  3. Selezionare la scheda Dipendenze . Se sono presenti più risorse elencate, verificare che gli indirizzi IP abbiano dipendenze OR anziché AND.Click the Dependencies tab. If multiple resources are listed, verify that the IP addresses have OR, not AND, dependencies.

  4. Fare clic su OK.Click OK.

  5. Fare clic con il pulsante destro del mouse sul nome del listener e quindi scegliere Porta online.Right-click the listener name, and then click Bring Online.

  6. Quando il listener è online, nella scheda Risorse fare clic con il pulsante destro del mouse sul gruppo di disponibilità e quindi scegliere Proprietà.After the listener is online, on the Resources tab, right-click the availability group, and then click Properties.

    Configurare la risorsa del gruppo di disponibilità

  7. Creare una dipendenza nella risorsa nome del listener, non il nome della risorsa indirizzo IP, e quindi fare clic su OK.Create a dependency on the listener name resource (not the IP address resources name), and then click OK.

    Aggiungere una dipendenza al nome del listener

  8. Avviare SQL Server Management Studio e connettersi alla replica primaria.Start SQL Server Management Studio, and then connect to the primary replica.

  9. Passare a Disponibilità elevata AlwaysOn > Gruppi di disponibilità > <AvailabilityGroupName> > Listener gruppo di disponibilità.Go to AlwaysOn High Availability > Availability Groups > <AvailabilityGroupName> > Availability Group Listeners.
    Verrà visualizzato il nome del listener creato in Gestione cluster di failover.The listener name that you created in Failover Cluster Manager should be displayed.

  10. Fare clic con il pulsante destro del mouse sul nome del listener e quindi su Proprietà.Right-click the listener name, and then click Properties.

  11. Nella casella Porta specificare il numero di porta per il listener del gruppo di disponibilità usando il valore di $EndpointPort usato in precedenza e quindi fare clic su OK. In questa esercitazione 1433 era l'impostazione predefinita.In the Port box, specify the port number for the availability group listener by using the $EndpointPort that you used earlier (in this tutorial, 1433 was the default), and then click OK.

Operazioni di completamento della proceduraFollow-up items

Dopo aver creato il listener del gruppo di disponibilità, può essere necessario regolare i parametri cluster RegisterAllProvidersIP e HostRecordTTL per la risorsa listener.After you create the availability group listener, it might be necessary to adjust the RegisterAllProvidersIP and HostRecordTTL cluster parameters for the listener resource. Questi parametri possono ridurre il tempo di riconnessione dopo un failover che può impedire i timeout di connessione.These parameters can reduce reconnection time after a failover, which might prevent connection timeouts. Per altre informazioni su questi parametri e sull'esempio di codice, vedere Creare o configurare un listener del gruppo di disponibilità.For more information about these parameters, as well as sample code, see Create or configure an availability group listener.

Testare il listener del gruppo di disponibilità (entro la stessa rete virtuale)Test the availability group listener (within the same VNet)

In questo passaggio si testa il listener del gruppo di disponibilità usando un'applicazione client in esecuzione nella stessa rete.In this step, you test the availability group listener by using a client application that's running on the same network.

Questi sono i requisiti per la connettività client:Client connectivity has the following requirements:

  • Le connessioni client al listener devono provenire da computer che si trovano in un servizio cloud diverso da quello che ospita le repliche di disponibilità AlwaysOn.Client connections to the listener must come from machines that reside in a different cloud service than the one that hosts the Always On availability replicas.
  • Se le repliche AlwaysOn si trovano in subnet diverse, i client devono specificare MultisubnetFailover=True nella stringa di connessione.If the Always On replicas are in different subnets, clients must specify MultisubnetFailover=True in the connection string. Questa condizione comporta l'esecuzione di tentativi di connessione paralleli alle repliche nelle diverse subnet.This condition results in parallel connection attempts to replicas in the various subnets. Questo scenario include la distribuzione di un gruppo di disponibilità AlwaysOn tra più aree.This scenario includes a cross-region Always On availability group deployment.

È ad esempio possibile connettersi al listener da una delle macchine virtuali nella stessa rete virtuale di Azure (ma non quello che ospita una replica).One example is to connect to the listener from one of the VMs in the same Azure virtual network (but not one that hosts a replica). Un modo semplice per completare questo test consiste nel provare a connettere SQL Server Management Studio al listener del gruppo di disponibilità.An easy way to complete this test is to try to connect SQL Server Management Studio to the availability group listener. Un altro metodo semplice consiste nell'eseguire SQLCMD.exe come indicato di seguito:Another simple method is to run SQLCMD.exe, as follows:

sqlcmd -S "<ListenerName>,<EndpointPort>" -d "<DatabaseName>" -Q "select @@servername, db_name()" -l 15

Nota

Se il valore EndpointPort è 1433, non è necessario specificarlo nella chiamata.If the EndpointPort value is 1433, you are not required to specify it in the call. La chiamata precedente presuppone inoltre che il computer client sia aggiunto allo stesso dominio e che al chiamante siano state concesse autorizzazioni per il database tramite l'autenticazione di Windows.The previous call also assumes that the client machine is joined to the same domain and that the caller has been granted permissions on the database by using Windows authentication.

Durante il test del listener, eseguire il failover del gruppo di disponibilità per assicurarsi che i client possano connettersi al listener attraverso i failover.When you test the listener, be sure to fail over the availability group to make sure that clients can connect to the listener across failovers.

Testare il listener del gruppo di disponibilità (su Internet)Test the availability group listener (over the internet)

Per accedere al listener dall'esterno della rete virtuale, è necessario usare il servizio di bilanciamento del carico esterno/pubblico (illustrato in questo argomento) invece del servizio di bilanciamento del carico interno, che è accessibile solo entro la stessa rete virtuale.In order to access the listener from outside the virtual network, you must be using external/public load balancing (described in this topic) rather than ILB, which is only accesible within the same VNet. Nella stringa di connessione specificare il nome del servizio cloud.In the connection string, you specify the cloud service name. Ad esempio, se è disponibile un servizio cloud con nome mycloudservice, l'istruzione sqlcmd sarà analoga alla seguente:For example, if you had a cloud service with the name mycloudservice, the sqlcmd statement would be as follows:

sqlcmd -S "mycloudservice.cloudapp.net,<EndpointPort>" -d "<DatabaseName>" -U "<LoginId>" -P "<Password>"  -Q "select @@servername, db_name()" -l 15

A differenza dell'esempio precedente, è necessario usare l'autenticazione SQL, perché il chiamante non può usare l'autenticazione di Windows su Internet.Unlike the previous example, SQL authentication must be used, because the caller cannot use windows authentication over the internet. Per altre informazioni, vedere il blog relativo a un gruppo di disponibilità AlwaysOn nelle VM di Azure: scenari di connettività client.For more information, see Always On Availability Group in Azure VM: Client Connectivity Scenarios. Quando si usa l'autenticazione SQL, assicurarsi di creare lo stesso account di accesso in entrambe le repliche.When using SQL authentication, make sure that you create the same login on both replicas. Per altre informazioni sulla risoluzione dei problemi degli account di accesso con gruppi di disponibilità, vedere il post di blog relativo a come mappare gli account di accesso o usare un utente di database SQL contenuto per connettersi ad altre repliche ed eseguire il mapping ai database di disponibilità.For more information about troubleshooting logins with Availability Groups, see How to map logins or use contained SQL database user to connect to other replicas and map to availability databases.

Se le repliche AlwaysOn si trovano in subnet diverse, i client devono specificare MultisubnetFailover=True nella stringa di connessione.If the Always On replicas are in different subnets, clients must specify MultisubnetFailover=True in the connection string. Di conseguenza, vengono eseguiti tentativi di connessione paralleli alle repliche nelle diverse subnet.This results in parallel connection attempts to replicas in the different subnets. Si noti che questo scenario include la distribuzione di un gruppo di disponibilità AlwaysOn tra più aree.Note that this scenario includes a cross-region Always On Availability Group deployment.

Passaggi successiviNext steps

Oltre a connettere automaticamente i client per la replica primaria, è possibile usare un listener per reindirizzare i carichi di lavoro di sola lettura ai database secondari.In addition to automatically connecting clients to the primary replica, a listener can be used to redirect read-only workloads to the secondaries. Questo approccio può migliorare le prestazioni e la scalabilità della soluzione globale.This use can improve the performance and scalability of your overall solution. Per altre informazioni, vedere Use ReadIntent Routing with Azure Always On availability group listener (Usare ReadIntent Routing con il listener del gruppo di disponibilità AlwaysOn di Azure).For more information, see Use ReadIntent Routing with Azure Always On availability group listener.

Nota

Per suggerimenti relativi alla risoluzione dei problemi dei listener di Azure, vedere Troubleshooting Availability Group Listener in Azure (Risoluzione dei problemi relativi al listener del gruppo di disponibilità in Azure) nel blog del team di supporto AlwaysOn.For troubleshooting tips on Azure listeners, see Troubleshooting availability group listener in Azure in the AlwaysOn Support Team blog.

Per altre informazioni sull'uso di SQL Server in Azure, vedere Panoramica di SQL Server in macchine virtuali di Azure.For more information about using SQL Server in Azure, see SQL Server on Azure virtual machines.