Condividi tramite


Aprire le porte per un cluster di Service Fabric

Il servizio di bilanciamento del carico distribuito con il cluster di Azure Service Fabric indirizza il traffico all'app eseguita in un nodo. Se si modifica l'app per usare una porta diversa, è necessario esporre tale porta (o eseguire l'instradamento a un'altra porta) in Azure Load Balancer.

Al momento della distribuzione del cluster di Service Fabric in Azure, è stato creato automaticamente un servizio di bilanciamento del carico. Se non è disponibile un servizio di bilanciamento del carico, vedere l'articolo su come configurare un servizio di bilanciamento del carico con connessione Internet.

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Configurare Service Fabric

Il file di configurazione ServiceManifest.xml dell'applicazione di Service Fabric definisce gli endpoint che verranno usati dall'applicazione. Dopo l'aggiornamento del file di configurazione per definire un endpoint, è necessario aggiornare il servizio di bilanciamento del carico per esporre tale porta o un'altra. Per altre informazioni sulla creazione dell'endpoint di Service Fabric, vedere l'articolo su come configurare un endpoint.

Creare una regola di bilanciamento del carico

Una regola di bilanciamento del carico apre una porta con connessione Internet e inoltra il traffico alla porta del nodo interno usata dall'applicazione. Se non è disponibile un servizio di bilanciamento del carico, vedere l'articolo su come configurare un servizio di bilanciamento del carico con connessione Internet.

Per creare una regola di bilanciamento del carico, è necessario raccogliere le informazioni seguenti:

  • Nome del servizio di bilanciamento del carico.
  • Gruppo di risorse del servizio di bilanciamento del carico e del cluster di Service Fabric.
  • Porta esterna.
  • Porta interna.

Interfaccia della riga di comando di Azure

Per creare una regola di bilanciamento del carico con l'interfaccia della riga di comando di Azure è sufficiente un solo comando. Per creare una nuova regola è necessario sapere solo il nome del servizio di bilanciamento del carico e quello del gruppo di risorse.

Nota

Se è necessario determinare il nome del servizio di bilanciamento del carico, usare questo comando per ottenere rapidamente un elenco di tutti i servizi di bilanciamento del carico e i gruppi di risorse associati.

az network lb list --query "[].{ResourceGroup: resourceGroup, Name: name}"

az network lb rule create --backend-port 40000 --frontend-port 39999 --protocol Tcp --lb-name LB-svcfab3 -g svcfab_cli -n my-app-rule

Il comando dell'interfaccia della riga di comando di Azure include alcuni parametri descritti nella tabella seguente:

Parametro Descrizione
--backend-port Porta su cui è in ascolto l'applicazione di Service Fabric.
--frontend-port Porta esposta dal servizio di bilanciamento del carico per le connessioni esterne.
-lb-name Nome del servizio di bilanciamento del carico da modificare.
-g Gruppo di risorse che include sia il servizio di bilanciamento del carico sia il cluster di Service Fabric.
-n Nome desiderato per la regola.

Nota

Per altre informazioni in merito, vedere l'articolo su come creare un servizio di bilanciamento del carico con l'interfaccia della riga di comando di Azure.

PowerShell

PowerShell è un po' più complesso rispetto all'interfaccia della riga di comando di Azure. Per creare una regola seguire questi passaggi concettuali:

  1. Recuperare il servizio di bilanciamento del carico da Azure.
  2. Creare una regola.
  3. Aggiungere la regola al servizio di bilanciamento del carico.
  4. Aggiornare il servizio di bilanciamento del carico.

Nota

Se è necessario determinare il nome del servizio di bilanciamento del carico, usare questo comando per ottenere rapidamente un elenco di tutti i servizi di bilanciamento del carico e i gruppi di risorse associati.

Get-AzLoadBalancer | Select Name, ResourceGroupName

# Get the load balancer
$lb = Get-AzLoadBalancer -Name LB-svcfab3 -ResourceGroupName svcfab_cli

# Create the rule based on information from the load balancer.
$lbrule = New-AzLoadBalancerRuleConfig -Name my-app-rule7 -Protocol Tcp -FrontendPort 39990 -BackendPort 40009 `
                                            -FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
                                            -BackendAddressPool  $lb.BackendAddressPools[0] `
                                            -Probe $lb.Probes[0]

# Add the rule to the load balancer
$lb.LoadBalancingRules.Add($lbrule)

# Update the load balancer on Azure
$lb | Set-AzLoadBalancer

Nel comando New-AzLoadBalancerRuleConfig, -FrontendPort rappresenta la porta esposta dal servizio di bilanciamento del carico per le connessioni esterne, mentre -BackendPort rappresenta la porta su cui è in ascolto l'app di Service Fabric.

Nota

Per altre informazioni in merito, vedere l'articolo su come creare un servizio di bilanciamento del carico con PowerShell.

Passaggi successivi

Altre informazioni sulla rete in Service Fabric.