New-AzureRmApplicationGateway

Crea un gateway applicazione.

Avviso

Il modulo AzureRM PowerShell è stato ufficialmente deprecato a partire dal 29 febbraio 2024. È consigliabile eseguire la migrazione da AzureRM al modulo Az PowerShell per garantire il supporto e gli aggiornamenti continui.

Anche se il modulo AzureRM può ancora funzionare, non è più gestito o supportato, posizionando qualsiasi uso continuo a discrezione e rischio dell'utente. Per indicazioni sulla transizione al modulo Az, vedere le risorse di migrazione.

Sintassi

New-AzureRmApplicationGateway
   -Name <String>
   -ResourceGroupName <String>
   -Location <String>
   -Sku <PSApplicationGatewaySku>
   [-SslPolicy <PSApplicationGatewaySslPolicy>]
   -GatewayIPConfigurations <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayIPConfiguration]>
   [-SslCertificates <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySslCertificate]>]
   [-AuthenticationCertificates <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayAuthenticationCertificate]>]
   [-TrustedRootCertificate <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayTrustedRootCertificate]>]
   [-FrontendIPConfigurations <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendIPConfiguration]>]
   -FrontendPorts <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendPort]>
   [-Probes <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayProbe]>]
   -BackendAddressPools <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendAddressPool]>
   -BackendHttpSettingsCollection <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendHttpSettings]>
   -HttpListeners <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayHttpListener]>
   [-UrlPathMaps <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayUrlPathMap]>]
   -RequestRoutingRules <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayRequestRoutingRule]>
   [-RedirectConfigurations <System.Collections.Generic.List`1[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayRedirectConfiguration]>]
   [-WebApplicationFirewallConfiguration <PSApplicationGatewayWebApplicationFirewallConfiguration>]
   [-AutoscaleConfiguration <PSApplicationGatewayAutoscaleConfiguration>]
   [-EnableHttp2]
   [-EnableFIPS]
   [-Zone <System.Collections.Generic.List`1[System.String]>]
   [-Tag <Hashtable>]
   [-Force]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Descrizione

Il cmdlet New-AzureRmApplicationGateway crea un gateway applicazione di Azure. Un gateway applicazione richiede quanto segue:

  • Un gruppo di risorse.
  • Una rete virtuale.
  • Pool di server back-end contenente gli indirizzi IP dei server back-end.
  • Impostazioni del pool di server back-end. Ogni pool ha impostazioni come porta, protocollo e affinità basata su cookie, che vengono applicate a tutti i server all'interno del pool.
  • Indirizzi IP front-end, ovvero gli indirizzi IP aperti nel gateway applicazione. Un indirizzo IP front-end può essere un indirizzo IP pubblico o un indirizzo IP interno.
  • Porte front-end, ovvero le porte pubbliche aperte nel gateway applicazione. Il traffico che raggiunge queste porte viene reindirizzato ai server back-end.
  • Regola di routing delle richieste che associa il listener e il pool di server back-end. La regola definisce il pool di server back-end a cui deve essere indirizzato il traffico quando raggiunge un listener specifico. Un listener ha una porta front-end, un indirizzo IP front-end, un protocollo (HTTP o HTTPS) e un nome di certificato SSL (Secure Sockets Layer) (se si configura l'offload SSL).

Esempio

Esempio 1: Creare un gateway applicazione

PS C:\> $ResourceGroup = New-AzureRmResourceGroup -Name "ResourceGroup01" -Location "West US" -Tag @{Name = "Department"; Value = "Marketing"} 
PS C:\> $Subnet = New-AzureRmVirtualNetworkSubnetConfig -Name "Subnet01" -AddressPrefix 10.0.0.0/24
PS C:\> $VNet = New-AzureRmvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01" -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $Subnet
PS C:\> $VNet = Get-AzureRmvirtualNetwork -Name "VNet01" -ResourceGroupName "ResourceGroup01"
PS C:\> $Subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name $Subnet01 -VirtualNetwork $VNet 
PS C:\> $GatewayIPconfig = New-AzureRmApplicationGatewayIPConfiguration -Name "GatewayIp01" -Subnet $Subnet
PS C:\> $Pool = New-AzureRmApplicationGatewayBackendAddressPool -Name "Pool01" -BackendIPAddresses 10.10.10.1, 10.10.10.2, 10.10.10.3
PS C:\> $PoolSetting = New-AzureRmApplicationGatewayBackendHttpSettings -Name "PoolSetting01"  -Port 80 -Protocol "Http" -CookieBasedAffinity "Disabled"
PS C:\> $FrontEndPort = New-AzureRmApplicationGatewayFrontendPort -Name "FrontEndPort01"  -Port 80
# Create a public IP address
PS C:\> $PublicIp = New-AzureRmPublicIpAddress -ResourceGroupName "ResourceGroup01" -Name "PublicIpName01" -Location "West US" -AllocationMethod "Dynamic"
PS C:\> $FrontEndIpConfig = New-AzureRmApplicationGatewayFrontendIPConfig -Name "FrontEndConfig01" -PublicIPAddress $PublicIp
PS C:\> $Listener = New-AzureRmApplicationGatewayHttpListener -Name "ListenerName01"  -Protocol "Http" -FrontendIpConfiguration $FrontEndIpConfig -FrontendPort $FrontEndPort
PS C:\> $Rule = New-AzureRmApplicationGatewayRequestRoutingRule -Name "Rule01" -RuleType basic -BackendHttpSettings $PoolSetting -HttpListener $Listener -BackendAddressPool $Pool
PS C:\> $Sku = New-AzureRmApplicationGatewaySku -Name "Standard_Small" -Tier Standard -Capacity 2
PS C:\> $Gateway = New-AzureRmApplicationGateway -Name "AppGateway01" -ResourceGroupName "ResourceGroup01" -Location "West US" -BackendAddressPools $Pool -BackendHttpSettingsCollection $PoolSetting -FrontendIpConfigurations $FrontEndIpConfig  -GatewayIpConfigurations $GatewayIpConfig -FrontendPorts $FrontEndPort -HttpListeners $Listener -RequestRoutingRules $Rule -Sku $Sku

Nell'esempio seguente viene creato un gateway applicazione creando prima un gruppo di risorse e una rete virtuale, nonché quanto segue:

  • Un pool di server back-end
  • Impostazioni del pool di server back-end
  • Porte front-end
  • Indirizzi IP front-end
  • Una regola di routing delle richieste Questi quattro comandi creano una rete virtuale. Il primo comando crea una configurazione della subnet. Il secondo comando crea una rete virtuale. Il terzo comando verifica la configurazione della subnet e il quarto comando verifica che la rete virtuale sia stata creata correttamente. I comandi seguenti creano il gateway applicazione. Il primo comando crea una configurazione IP denominata GatewayIp01 per la subnet creata in precedenza. Il secondo comando crea un pool di server back-end denominato Pool01 con un elenco di indirizzi IP back-end e archivia il pool nella variabile $Pool. Il terzo comando crea le impostazioni per il pool di server back-end e archivia le impostazioni nella variabile $PoolSetting. Il comando forth crea una porta front-end sulla porta 80, la denomina FrontEndPort01 e archivia la porta nella variabile $FrontEndPort. Il quinto comando crea un indirizzo IP pubblico usando New-AzureRmPublicIpAddress. Il sesto comando crea una configurazione IP front-end usando $PublicIp, la denomina FrontEndPortConfig01 e la archivia nella variabile $FrontEndIpConfig. Il settimo comando crea un listener usando il $FrontEndIpConfig $FrontEndPort creato in precedenza. L'ottavo comando crea una regola per il listener. Il nono comando imposta lo SKU. Il decimo comando crea il gateway usando gli oggetti impostati dai comandi precedenti.

Parametri

-AsJob

Eseguire il cmdlet in background

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

-AuthenticationCertificates

Specifica i certificati di autenticazione per il gateway applicazione.

Type:List<T>[PSApplicationGatewayAuthenticationCertificate]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-AutoscaleConfiguration

Configurazione della scalabilità automatica

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

-BackendAddressPools

Specifica l'elenco dei pool di indirizzi back-end per il gateway applicazione.

Type:List<T>[PSApplicationGatewayBackendAddressPool]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-BackendHttpSettingsCollection

Specifica l'elenco delle impostazioni HTTP back-end per il gateway applicazione.

Type:List<T>[PSApplicationGatewayBackendHttpSettings]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

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

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.

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

-EnableFIPS

Indica se FIPS è abilitato.

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

-EnableHttp2

Indica se HTTP2 è abilitato.

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

-Force

Forza l'esecuzione del comando senza chiedere conferma all'utente.

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

-FrontendIPConfigurations

Specifica un elenco di configurazioni IP front-end per il gateway applicazione.

Type:List<T>[PSApplicationGatewayFrontendIPConfiguration]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-FrontendPorts

Specifica un elenco di porte front-end per il gateway applicazione.

Type:List<T>[PSApplicationGatewayFrontendPort]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-GatewayIPConfigurations

Specifica un elenco di configurazioni IP per il gateway applicazione.

Type:List<T>[PSApplicationGatewayIPConfiguration]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-HttpListeners

Specifica un elenco di listener HTTP per il gateway applicazione.

Type:List<T>[PSApplicationGatewayHttpListener]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Location

Specifica l'area in cui creare il gateway applicazione.

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

-Name

Specifica il nome del gateway applicazione.

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

-Probes

Specifica i probe per il gateway applicazione.

Type:List<T>[PSApplicationGatewayProbe]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-RedirectConfigurations

Elenco della configurazione di reindirizzamento

Type:List<T>[PSApplicationGatewayRedirectConfiguration]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-RequestRoutingRules

Specifica un elenco di regole di routing delle richieste per il gateway applicazione.

Type:List<T>[PSApplicationGatewayRequestRoutingRule]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ResourceGroupName

Specifica il nome del gruppo di risorse in cui creare il gateway applicazione.

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

-Sku

Specifica l'unità di mantenimento delle scorte (SKU) del gateway applicazione.

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

-SslCertificates

Specifica l'elenco di certificati SSL (Secure Sockets Layer) per il gateway applicazione.

Type:List<T>[PSApplicationGatewaySslCertificate]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SslPolicy

Specifica un criterio SSL per il gateway applicazione.

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

-Tag

Coppie chiave-valore sotto forma di tabella hash. Ad esempio: @{key0="value0"; key1=$null; key2="value2"}

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

-TrustedRootCertificate

Elenco di certificati radice attendibili

Type:List<T>[PSApplicationGatewayTrustedRootCertificate]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UrlPathMaps

Specifica le mappe del percorso URL per il gateway applicazione.

Type:List<T>[PSApplicationGatewayUrlPathMap]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WebApplicationFirewallConfiguration

Specifica una configurazione web application firewall (WAF). È possibile usare il cmdlet Get-AzureRmApplicationGatewayWebApplicationFirewallConfiguration per ottenere un WAF.

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

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

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

-Zone

Elenco delle zone di disponibilità che denota la provenienza del gateway applicazione.

Type:List<T>[String]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

String

PSApplicationGatewaySku

PSApplicationGatewaySslPolicy

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayIPConfiguration, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewaySslCertificate, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayAuthenticationCertificate, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendIPConfiguration, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayFrontendPort, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayProbe, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendAddressPool, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayBackendHttpSettings, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayHttpListener, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayUrlPathMap, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayRequestRoutingRule, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

List<T>[[Microsoft.Azure.Commands.Network.Models.PSApplicationGatewayRedirectConfiguration, Microsoft.Azure.Commands.Network, Version=6.4.1.0, Culture=neutral, PublicKeyToken=null]]

PSApplicationGatewayWebApplicationFirewallConfiguration

Hashtable

Output

PSApplicationGateway