你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
New-AzureRmApplicationGateway
创建应用程序网关。
警告
截至 2024 年 2 月 29 日,AzureRM PowerShell 模块已正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。
尽管 AzureRM 模块仍可能正常运行,但它不再维护或受支持,但会根据用户的自由裁量权和风险继续使用任何继续使用模块。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源。
语法
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>]
说明
New-AzureRmApplicationGateway cmdlet 创建 Azure 应用程序网关。 应用程序网关需要以下各项:
- 资源组。
- 虚拟网络。
- 后端服务器池,包含后端服务器的 IP 地址。
- 后端服务器池设置。 每个池都有端口、协议和基于 Cookie 的相关性等设置,这些设置应用于池中的所有服务器。
- 前端 IP 地址,即应用程序网关上打开的 IP 地址。 前端 IP 地址可以是公共 IP 地址或内部 IP 地址。
- 前端端口,即应用程序网关上打开的公共端口。 命中这些端口的流量将重定向到后端服务器。
- 绑定侦听器和后端服务器池的请求路由规则。 该规则定义在流量达到特定侦听器时应定向到的后端服务器池。 侦听器具有前端端口、前端 IP 地址、协议(HTTP 或 HTTPS)和安全套接字层(SSL)证书名称(如果配置 SSL 卸载)。
示例
示例 1:创建应用程序网关
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
以下示例首先创建资源组和虚拟网络,并创建应用程序网关,如下所示:
- 后端服务器池
- 后端服务器池设置
- 前端端口
- 前端 IP 地址
- 请求路由规则这四个命令创建虚拟网络。 第一个命令创建子网配置。 第二个命令创建虚拟网络。 第三个命令验证子网配置,第四个命令验证是否已成功创建虚拟网络。 以下命令创建应用程序网关。 第一个命令为之前创建的子网创建名为 GatewayIp01 的 IP 配置。 第二个命令创建名为 Pool01 的后端服务器池,其中包含后端 IP 地址列表,并将池存储在$Pool变量中。 第三个命令为后端服务器池创建设置,并将设置存储在$PoolSetting变量中。 forth 命令在端口 80 上创建前端端口,将其命名为 FrontEndPort01,并将端口存储在$FrontEndPort变量中。 第五个命令使用 New-AzureRmPublicIpAddress 创建公共 IP 地址。 第六个命令使用 $PublicIp 创建前端 IP 配置,将其命名为 FrontEndPortConfig01,并将其存储在$FrontEndIpConfig变量中。 第七个命令使用以前创建的$FrontEndIpConfig $FrontEndPort创建侦听器。 第八个命令为侦听器创建规则。 第九个命令设置 SKU。 第十个命令使用上述命令设置的对象创建网关。
参数
-AsJob
在后台运行 cmdlet
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-AuthenticationCertificates
指定应用程序网关的身份验证证书。
类型: | List<T>[PSApplicationGatewayAuthenticationCertificate] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-AutoscaleConfiguration
自动缩放配置
类型: | PSApplicationGatewayAutoscaleConfiguration |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-BackendAddressPools
指定应用程序网关的后端地址池列表。
类型: | List<T>[PSApplicationGatewayBackendAddressPool] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-BackendHttpSettingsCollection
指定应用程序网关的后端 HTTP 设置列表。
类型: | List<T>[PSApplicationGatewayBackendHttpSettings] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
类型: | IAzureContextContainer |
别名: | AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EnableFIPS
是否启用 FIPS。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EnableHttp2
是否启用 HTTP2。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Force
强制运行命令而不要求用户确认。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-FrontendIPConfigurations
指定应用程序网关的前端 IP 配置列表。
类型: | List<T>[PSApplicationGatewayFrontendIPConfiguration] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-FrontendPorts
指定应用程序网关的前端端口列表。
类型: | List<T>[PSApplicationGatewayFrontendPort] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-GatewayIPConfigurations
指定应用程序网关的 IP 配置列表。
类型: | List<T>[PSApplicationGatewayIPConfiguration] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-HttpListeners
指定应用程序网关的 HTTP 侦听器列表。
类型: | List<T>[PSApplicationGatewayHttpListener] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Location
指定要在其中创建应用程序网关的区域。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Name
指定应用程序网关的名称。
类型: | String |
别名: | ResourceName |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Probes
指定应用程序网关的探测。
类型: | List<T>[PSApplicationGatewayProbe] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-RedirectConfigurations
重定向配置列表
类型: | List<T>[PSApplicationGatewayRedirectConfiguration] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-RequestRoutingRules
指定应用程序网关的请求路由规则列表。
类型: | List<T>[PSApplicationGatewayRequestRoutingRule] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-ResourceGroupName
指定要在其中创建应用程序网关的资源组的名称。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Sku
指定应用程序网关的库存单位(SKU)。
类型: | PSApplicationGatewaySku |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-SslCertificates
指定应用程序网关的安全套接字层(SSL)证书列表。
类型: | List<T>[PSApplicationGatewaySslCertificate] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-SslPolicy
指定应用程序网关的 SSL 策略。
类型: | PSApplicationGatewaySslPolicy |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-Tag
以哈希表的形式进行键值对。 例如:@{key0=“value0”;key1=$null;key2=“value2”}
类型: | Hashtable |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-TrustedRootCertificate
受信任的根证书列表
类型: | List<T>[PSApplicationGatewayTrustedRootCertificate] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-UrlPathMaps
指定应用程序网关的 URL 路径映射。
类型: | List<T>[PSApplicationGatewayUrlPathMap] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-WebApplicationFirewallConfiguration
指定 Web 应用程序防火墙(WAF)配置。 可以使用 Get-AzureRmApplicationGatewayWebApplicationFirewallConfiguration cmdlet 获取 WAF。
类型: | PSApplicationGatewayWebApplicationFirewallConfiguration |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Zone
输入
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
输出
相关链接
- New-AzureRmApplicationGatewayBackendAddressPool
- New-AzureRmApplicationGatewayBackendHttpSettings
- New-AzureRmApplicationGatewayFrontendIPConfig
- New-AzureRmApplicationGatewayFrontendPort
- New-AzureRmApplicationGatewayHttpListener
- New-AzureRmApplicationGatewayIPConfiguration
- New-AzureRmApplicationGatewayRequestRoutingRule
- New-AzureRmApplicationGatewaySku
- New-AzureRmVirtualNetwork
- New-AzureRmVirtualNetworkSubnetConfig