Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Yeni otomatik ölçeklendirme ve alanlar arası yedekli uygulama ağ geçidi SKU'su oluştururken HTTP isteğini ve yanıt üst bilgilerini yeniden yazmaya yönelik kuralları yapılandırmak için Azure PowerShell'i kullanabilirsiniz
Bu makalede şunların nasıl yapılacağını öğreneceksiniz:
- Sanal ağın otomatik ölçeklendirilmesini oluşturma
- Rezerve edilmiş genel IP oluşturma
- Uygulama ağ geçidi altyapınızı ayarlama
- Http üst bilgisi yeniden yazma kuralı yapılandırmanızı belirtin
- Otomatik ölçeklendirmeyi belirtme
- Uygulama ağ geçidi oluşturma
- Uygulama ağ geçidini test edin
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
Bu makale, Azure PowerShell'i yerel olarak çalıştırmanızı gerektirir. Az modülünün 1.0.0 veya sonraki bir sürümünün yüklü olması gerekir.
Import-Module Az ve Get-Module Az sürümü bulmak için çalıştırın. Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell sürümünü doğruladıktan sonra, Azure ile bağlantı oluşturmak için Login-AzAccount komutunu çalıştırın.
Azure'da oturum açma
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
Kaynak grubu oluşturma
Kullanılabilir konumlardan birinde bir kaynak grubu oluşturun.
$location = "East US 2"
$rg = "<rg name>"
#Create a new Resource Group
New-AzResourceGroup -Name $rg -Location $location
Sanal ağ oluşturma
Otomatik ölçeklendirme uygulama ağ geçidi için ayrılmış bir alt ağa sahip bir sanal ağ oluşturun. Şu anda her ayrılmış alt ağa yalnızca bir otomatik ölçeklendirme uygulama ağ geçidi dağıtılabilir.
#Create VNet with two subnets
$sub1 = New-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -AddressPrefix "10.0.0.0/24"
$sub2 = New-AzVirtualNetworkSubnetConfig -Name "BackendSubnet" -AddressPrefix "10.0.1.0/24"
$vnet = New-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg `
-Location $location -AddressPrefix "10.0.0.0/16" -Subnet $sub1, $sub2
Rezerve edilmiş genel IP oluşturma
PublicIPAddress ayırma yöntemini Statik olarak belirtin. Otomatik ölçeklenen uygulama ağ geçidi VIP'si yalnızca statik olabilir. Dinamik IP'ler desteklenmez. Yalnızca standart PublicIpAddress SKU'su desteklenir.
#Create static public IP
$pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" `
-location $location -AllocationMethod Static -Sku Standard
Ayrıntıları alma
Uygulama ağ geçidi için IP yapılandırma ayrıntılarını oluşturmak için yerel bir nesnedeki kaynak grubunun, alt ağın ve IP'nin ayrıntılarını alın.
$resourceGroup = Get-AzResourceGroup -Name $rg
$publicip = Get-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP"
$vnet = Get-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -VirtualNetwork $vnet
Altyapıyı yapılandırma
IP yapılandırması, ön uç IP yapılandırması, arka uç havuzu, HTTP ayarları, sertifika, bağlantı noktası ve dinleyiciyi mevcut Standart uygulama ağ geçidiyle aynı biçimde yapılandırın. Yeni SKU, Standart SKU ile aynı nesne modelini izler.
$ipconfig = New-AzApplicationGatewayIPConfiguration -Name "IPConfig" -Subnet $gwSubnet
$fip = New-AzApplicationGatewayFrontendIPConfig -Name "FrontendIPCOnfig" -PublicIPAddress $publicip
$pool = New-AzApplicationGatewayBackendAddressPool -Name "Pool1" `
-BackendIPAddresses testbackend1.westus.cloudapp.azure.com, testbackend2.westus.cloudapp.azure.com
$fp01 = New-AzApplicationGatewayFrontendPort -Name "HTTPPort" -Port 80
$listener01 = New-AzApplicationGatewayHttpListener -Name "HTTPListener" `
-Protocol Http -FrontendIPConfiguration $fip -FrontendPort $fp01
$setting = New-AzApplicationGatewayBackendHttpSettings -Name "BackendHttpSetting1" `
-Port 80 -Protocol Http -CookieBasedAffinity Disabled
HTTP üst bilgisi yeniden yazma kuralı yapılandırmanızı belirtin
Http üst bilgilerini yeniden yazmak için gereken yeni nesneleri yapılandırın:
RequestHeaderConfiguration: Bu nesne, yeniden yazmayı planladığınız istek üst bilgisi alanlarını ve özgün üst bilgilerin yeniden yazılması gereken yeni değeri belirtmek için kullanılır.
ResponseHeaderConfiguration: Bu nesne, yeniden yazmayı planladığınız yanıt üst bilgisi alanlarını ve özgün üst bilgilerin yeniden yazılması gereken yeni değeri belirtmek için kullanılır.
ActionSet: Bu nesne, yukarıda belirtilen istek ve yanıt üst bilgilerinin yapılandırmalarını içerir.
RewriteRule: Bu nesne yukarıda belirtilen tüm actionSet'leri içerir.
RewriteRuleSet- Bu nesne tüm rewriteRules değerlerini içerir ve temel veya yol tabanlı bir istek yönlendirme kuralına eklenmesi gerekir.
$requestHeaderConfiguration = New-AzApplicationGatewayRewriteRuleHeaderConfiguration -HeaderName "X-isThroughProxy" -HeaderValue "True" $responseHeaderConfiguration = New-AzApplicationGatewayRewriteRuleHeaderConfiguration -HeaderName "Strict-Transport-Security" -HeaderValue "max-age=31536000" $actionSet = New-AzApplicationGatewayRewriteRuleActionSet -RequestHeaderConfiguration $requestHeaderConfiguration -ResponseHeaderConfiguration $responseHeaderConfiguration $rewriteRule = New-AzApplicationGatewayRewriteRule -Name rewriteRule1 -ActionSet $actionSet $rewriteRuleSet = New-AzApplicationGatewayRewriteRuleSet -Name rewriteRuleSet1 -RewriteRule $rewriteRule
Yönlendirme kuralını belirtme
İstek yönlendirme kuralı oluşturun. Bu yeniden yazma yapılandırması oluşturulduktan sonra yönlendirme kuralı aracılığıyla kaynak dinleyiciye eklenir. Temel yönlendirme kuralı kullanılırken, üst bilgi yeniden yazma yapılandırması bir kaynak dinleyiciyle ilişkilendirilir ve genel üst bilgi yeniden yazma işlemidir. Yol tabanlı yönlendirme kuralı kullanıldığında, üst bilgi yeniden yazma yapılandırması URL yol haritasında tanımlanır. Bu nedenle, yalnızca bir sitenin belirli yol alanı için geçerlidir. Aşağıda temel bir yönlendirme kuralı oluşturulur ve yeniden yazma kural kümesi eklenir.
$rule01 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule1" -RuleType basic `
-BackendHttpSettings $setting -HttpListener $listener01 -BackendAddressPool $pool -RewriteRuleSet $rewriteRuleSet
Otomatik ölçeklendirmeyi belirtme
Artık uygulama ağ geçidi için otomatik ölçeklendirme yapılandırmasını belirtebilirsiniz. İki otomatik ölçeklendirme yapılandırma türü desteklenir:
Sabit kapasite modu. Bu modda, uygulama ağ geçidi otomatik ölçeklendirme yapmaz ve sabit bir Ölçek Birimi kapasitesinde çalışır.
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2 -Capacity 2Otomatik ölçeklendirme modu. Bu modda, uygulama ağ geçidi, uygulama trafiği desenini temel alarak otomatik olarak ölçekler.
$autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2 $sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
Uygulama ağ geçidi oluşturma
Uygulama ağ geçidini oluşturun ve yedeklilik alanlarını ve otomatik ölçeklendirme yapılandırmasını ekleyin.
$appgw = New-AzApplicationGateway -Name "AutoscalingAppGw" -Zone 1,2,3 -ResourceGroupName $rg -Location $location -BackendAddressPools $pool -BackendHttpSettingsCollection $setting -GatewayIpConfigurations $ipconfig -FrontendIpConfigurations $fip -FrontendPorts $fp01 -HttpListeners $listener01 -RequestRoutingRules $rule01 -Sku $sku -AutoscaleConfiguration $autoscaleConfig -RewriteRuleSet $rewriteRuleSet
Uygulama ağ geçidini test edin
Uygulama ağ geçidinin genel IP adresini almak için Get-AzPublicIPAddress kullanın. Genel IP adresini veya DNS adını kopyalayın ve tarayıcınızın adres çubuğuna yapıştırın.
Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP
Kaynakları temizleme
İlk olarak uygulama ağ geçidiyle oluşturulan kaynakları keşfedin. Daha sonra artık gerekli olmadığında komutunu kullanarak Remove-AzResourceGroup kaynak grubunu, uygulama ağ geçidini ve tüm ilgili kaynakları kaldırabilirsiniz.
Remove-AzResourceGroup -Name $rg