Open an application port in the Azure load balancer
A Service Fabric application running in Azure sits behind the Azure load balancer. This sample script opens a port in an Azure load balancer so that a Service Fabric application can communicate with external clients. Customize the parameters as needed. If your cluster is in a network security group, also add an inbound network security group rule to allow inbound traffic.
Note
We recommend that you use the Azure Az PowerShell module to interact with Azure. To get started, see Install Azure PowerShell. To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.
If needed, install the Service Fabric PowerShell module with the Service Fabric SDK.
Sample script
# Variables
$probename = "AppPortProbe6"
$rulename="AppPortLBRule6"
$RGname="mysftestclustergroup"
$port=8303
$subscriptionID = 'subscription ID'
# Login and select your subscription
Connect-AzAccount -Environment AzureChinaCloud
Get-AzSubscription -SubscriptionId $subscriptionID | Select-AzSubscription
# Get the load balancer resource
$resource = Get-AzResource | Where {$_.ResourceGroupName -eq $RGname -and $_.ResourceType -eq "Microsoft.Network/loadBalancers"}
$slb = Get-AzLoadBalancer -Name $resource.Name -ResourceGroupName $RGname
# Add a new probe configuration to the load balancer
$slb | Add-AzLoadBalancerProbeConfig -Name $probename -Protocol Tcp -Port $port -IntervalInSeconds 15 -ProbeCount 2
# Add rule configuration to the load balancer
$probe = Get-AzLoadBalancerProbeConfig -Name $probename -LoadBalancer $slb
$slb | Add-AzLoadBalancerRuleConfig -Name $rulename -BackendAddressPool $slb.BackendAddressPools[0] -FrontendIpConfiguration $slb.FrontendIpConfigurations[0] -Probe $probe -Protocol Tcp -FrontendPort $port -BackendPort $port
# Set the goal state for the load balancer
$slb | Set-AzLoadBalancer
Script explanation
This script uses the following commands. Each command in the table links to command-specific documentation.
Command | Notes |
---|---|
Get-AzResource | Gets an Azure resource. |
Get-AzLoadBalancer | Gets the Azure load balancer. |
Add-AzLoadBalancerProbeConfig | Adds a probe configuration to a load balancer. |
Get-AzLoadBalancerProbeConfig | Gets a probe configuration for a load balancer. |
Add-AzLoadBalancerRuleConfig | Adds a rule configuration to a load balancer. |
Set-AzLoadBalancer | Sets the goal state for a load balancer. |
Next steps
For more information on the Azure PowerShell module, see Azure PowerShell documentation.
Additional PowerShell samples for Azure Service Fabric can be found in the Azure PowerShell samples.