New-AzLoadBalancerRuleConfig

Creates a rule configuration for a load balancer.

Syntax

New-AzLoadBalancerRuleConfig
   -Name <String>
   [-Protocol <String>]
   [-LoadDistribution <String>]
   [-FrontendPort <Int32>]
   [-BackendPort <Int32>]
   [-IdleTimeoutInMinutes <Int32>]
   [-EnableFloatingIP]
   [-EnableTcpReset]
   [-DisableOutboundSNAT]
   [-FrontendIpConfiguration <PSFrontendIPConfiguration>]
   [-BackendAddressPool <PSBackendAddressPool[]>]
   [-Probe <PSProbe>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzLoadBalancerRuleConfig
   -Name <String>
   [-Protocol <String>]
   [-LoadDistribution <String>]
   [-FrontendPort <Int32>]
   [-BackendPort <Int32>]
   [-IdleTimeoutInMinutes <Int32>]
   [-EnableFloatingIP]
   [-EnableTcpReset]
   [-DisableOutboundSNAT]
   [-FrontendIpConfigurationId <String>]
   [-BackendAddressPoolId <String[]>]
   [-ProbeId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The New-AzLoadBalancerRuleConfig cmdlet creates a rule configuration for an Azure load balancer.

Examples

Example 1: Creating a rule configuration for an Azure Load Balancer

$publicip = New-AzPublicIpAddress -ResourceGroupName "MyResourceGroup" `
    -name MyPublicIP -location 'West US' -AllocationMethod Dynamic
$frontend = New-AzLoadBalancerFrontendIpConfig -Name MyFrontEnd `
    -PublicIpAddress $publicip
$probe = New-AzLoadBalancerProbeConfig -Name MyProbe -Protocol http -Port `
    80 -IntervalInSeconds 15 -ProbeCount 2 -ProbeThreshold 2 -RequestPath healthcheck.aspx
New-AzLoadBalancerRuleConfig -Name "MyLBrule" -FrontendIPConfiguration `
    $frontend -BackendAddressPool $backendAddressPool -Probe $probe -Protocol Tcp `
    -FrontendPort 80 -BackendPort 80 -IdleTimeoutInMinutes 15 -EnableFloatingIP `
    -LoadDistribution SourceIP

Example 2: Creating a rule configuration for an Azure Load Balancer with Gateway Load Balancer

$slb = Get-AzLoadBalancer -Name "MyLoadBalancer" -ResourceGroupName "MyResourceGroup"
$MyBackendPool1 = Get-AzLoadBalancerBackendAddressPool -ResourceGroupName $resourceGroup -LoadBalancerName $MyLoadBalancer -Name $backendPool1Name
$MyBackendPool2 = Get-AzLoadBalancerBackendAddressPool -ResourceGroupName $resourceGroup -LoadBalancerName $MyLoadBalancer -Name $backendPool2Name
$slb | Add-AzLoadBalancerRuleConfig -Name "NewRule" -FrontendIPConfiguration $slb.FrontendIpConfigurations[0] -Protocol "All" -FrontendPort 0 -BackendPort 0 -BackendAddressPool $MyBackendPool1,$MyBackendPool2
$slb | Set-AzLoadBalancer

The first three commands set up a public IP, a front end, and a probe for the rule configuration in the forth command. The forth command creates a new rule called MyLBrule with certain specifications.

Parameters

-BackendAddressPool

Specifies a BackendAddressPool object to associate with a load balancer rule configuration.

Type:PSBackendAddressPool[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-BackendAddressPoolId

Specifies the ID of a BackendAddressPool object to associate with a load balancer rule configuration.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-BackendPort

Specifies the backend port for traffic that is matched by this load balancer rule configuration.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableOutboundSNAT

Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableFloatingIP

Indicates that this cmdlet enables a floating IP address for a rule configuration.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableTcpReset

Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FrontendIpConfiguration

Specifies a list of front-end IP addresses to associate with a load balancer rule configuration.

Type:PSFrontendIPConfiguration
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-FrontendIpConfigurationId

Specifies the ID for a front-end IP address configuration.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-FrontendPort

Specifies the front-end port that is matched by a load balancer rule configuration.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-IdleTimeoutInMinutes

Specifies the length of time, in minutes, that the state of conversations is maintained in a load balancer.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-LoadDistribution

Specifies a load distribution. The acceptable values for this parameter are:

  • Default
  • SourceIP
  • SourceIPProtocol
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Specifies the name of the load balancing rule that this cmdlet creates.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Probe

Specifies a probe to associate with a load balancer rule configuration.

Type:PSProbe
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProbeId

Specifies the ID of the probe to associate with a load balancer rule configuration.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Protocol

Specifies the protocol that is matched by a load balancer rule configuration. The acceptable values for this parameter are: Tcp or Udp.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

Int32

PSFrontendIPConfiguration

PSBackendAddressPool

PSProbe

Outputs

PSLoadBalancingRule