Abrir portas de um cluster do Service Fabric
O balanceador de carga implantado com seu cluster do Azure Service Fabric direciona o tráfego para seu aplicativo em execução em um nó. Se você alterar seu aplicativo para usar uma porta diferente, deverá expor essa porta (ou rotear uma porta diferente) no Balanceador de Carga do Azure.
Quando você implantou seu cluster do Service Fabric no Azure, um balanceador de carga foi criado automaticamente para você. Se você não tiver um balanceador de carga, consulte Configurar um balanceador de carga voltado para a Internet.
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
Configurar o service fabric
O arquivo de configuração ServiceManifest.xml do aplicativo Service Fabric define os pontos de extremidade que seu aplicativo espera usar. Depois que o arquivo de configuração tiver sido atualizado para definir um ponto de extremidade, o balanceador de carga deve ser atualizado para expor essa porta (ou uma porta diferente). Para obter mais informações sobre como criar o ponto de extremidade do service fabric, consulte Configurar um ponto de extremidade.
Criar uma regra do balanceador de carga
Uma regra do Balanceador de Carga abre uma porta voltada para a Internet e encaminha o tráfego para a porta do nó interno usada pelo seu aplicativo. Se você não tiver um balanceador de carga, consulte Configurar um balanceador de carga voltado para a Internet.
Para criar uma regra de Balanceador de Carga, você precisa coletar as seguintes informações:
- Nome do balanceador de carga.
- Grupo de recursos do balanceador de carga e do cluster de malha de serviço.
- Porta externa.
- Porta interna.
CLI do Azure
É necessário apenas um único comando para criar uma regra de balanceador de carga com a CLI do Azure. Você só precisa saber o nome do balanceador de carga e do grupo de recursos para criar uma nova regra.
Nota
Se você precisar determinar o nome do balanceador de carga, use este comando para obter rapidamente uma lista de todos os balanceadores de carga e os grupos de recursos associados.
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
O comando da CLI do Azure tem alguns parâmetros descritos na tabela a seguir:
Parâmetro | Description |
---|---|
--backend-port |
A porta que o aplicativo Service Fabric está escutando. |
--frontend-port |
A porta que o balanceador de carga expõe para conexões externas. |
-lb-name |
O nome do balanceador de carga a ser alterado. |
-g |
O grupo de recursos que tem o balanceador de carga e o cluster do Service Fabric. |
-n |
O nome desejado da regra. |
Nota
Para obter mais informações sobre como criar um balanceador de carga com a CLI do Azure, consulte Criar um balanceador de carga com a CLI do Azure.
PowerShell
O PowerShell é um pouco mais complicado do que a CLI do Azure. Siga estas etapas conceituais para criar uma regra:
- Obtenha o balanceador de carga do Azure.
- Crie uma regra.
- Adicione a regra ao balanceador de carga.
- Atualize o balanceador de carga.
Nota
Se você precisar determinar o nome do balanceador de carga, use este comando para obter rapidamente uma lista de todos os balanceadores de carga e grupos de recursos associados.
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
Em relação ao New-AzLoadBalancerRuleConfig
comando, o -FrontendPort
representa a porta que o balanceador de carga expõe para conexões externas e representa a -BackendPort
porta que o aplicativo de malha de serviço está escutando.
Nota
Para obter mais informações sobre como criar um balanceador de carga com o PowerShell, consulte Criar um balanceador de carga com o PowerShell.
Próximos passos
Saiba mais sobre a rede no Service Fabric.