Aracılığıyla paylaş


Azure PowerShell kullanarak Application Gateway'i ön uç genel IPv6 adresiyle yapılandırma

Azure Uygulaması lication Gateway, istemcilerden çift yığın (IPv4 ve IPv6) ön uç bağlantılarını destekler. IPv6 ön uç bağlantısını kullanmak için yeni bir Application Gateway oluşturmanız gerekir. Şu anda yalnızca mevcut IPv4 Application Gateway'leri çift yığına (IPv4 ve IPv6) Yükseltemezsiniz. Ayrıca, şu anda arka uç IPv6 adresleri desteklenmemektedir.

IPv6 ön uç desteğini desteklemek için çift yığınlı bir sanal ağ oluşturmanız gerekir. Bu çift yığınlı sanal ağın hem IPv4 hem de IPv6 için alt ağları vardır. Azure sanal ağları zaten çift yığın özelliği sağlar.

Genel bakış

Azure PowerShell, IPv6 Azure Uygulaması lication Gateway oluşturmak için kullanılır. Doğru çalıştığını doğrulamak için test gerçekleştirilir.

Şunları yapmayı öğreneceksiniz:

Azure PowerShell, bir IPv6 Azure Uygulaması lication Gateway oluşturmak ve düzgün çalıştığından emin olmak için test gerçekleştirmek için kullanılır. Application Gateway, yönettiğiniz sunuculara gelen web trafiğini yönetebilir ve güvenliğini sağlayabilir. Sanal makine ölçek kümesi , arka uç sunucularının web trafiğini yönetmesine yöneliktir. Ölçek kümesi, uygulama ağ geçidinin varsayılan arka uç havuzuna eklenen iki sanal makine örneği içerir. Bir uygulama ağ geçidinin bileşenleri hakkında daha fazla bilgi için bkz . Application gateway bileşenleri.

Bu hızlı başlangıcı Azure portalını kullanarak da tamamlayabilirsiniz.

Önkoşullar

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu makale Için Azure PowerShell modülünün 1.0.0 veya sonraki bir sürümü gerekir. Sürümü bulmak için Get-Module -ListAvailable Az komutunu çalıştırın. Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız Azure ile bağlantı oluşturmak için de komutunu çalıştırmanız Login-AzAccount gerekir.

Bölgeler ve kullanılabilirlik

IPv6 Application Gateway, Application Gateway v2 SKU'nun desteklendiği tüm genel bulut bölgelerinde kullanılabilir. 21Vianet ve Azure Kamu tarafından sağlanan Microsoft Azure'da da kullanılabilir

Sınırlamalar

  • Yalnızca v2 SKU'su hem IPv4 hem de IPv6 adreslerine sahip bir ön ucu destekler
  • IPv6 arka uçları şu anda desteklenmiyor
  • IPv6 özel Bağlantısı şu anda desteklenmiyor
  • Yalnızca IPv6 Application Gateway şu anda desteklenmiyor. Application Gateway çift yığın (IPv6 ve IPv4) olmalıdır
  • Application Gateway Giriş Denetleyicisi (AGIC), IPv6 yapılandırmasını desteklemiyor
  • Mevcut IPv4 Application Gateway'ler çift yığınlı Application Gateway'lere yükseltilemiyor
  • IPv6 eşleşme koşuluna sahip WAF özel kuralları şu anda desteklenmiyor

Kaynak grubu oluşturma

Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. New-AzResourceGroup kullanarak bir Azure kaynak grubu oluşturun.

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Çift yığınlı alt ağ ve arka uç alt ağı yapılandırma

New-AzVirtualNetworkSubnetConfig komutunu kullanarak myBackendSubnet ve myAGSubnet adlı alt ağları yapılandırın.

$AppGwSubnetPrefix = @("10.0.0.0/24", "ace:cab:deca::/64")
$appgwSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myAGSubnet -AddressPrefix $AppGwSubnetPrefix
$backendSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet -AddressPrefix  10.0.1.0/24

Çift yığınlı sanal ağ oluşturma

$VnetPrefix = @("10.0.0.0/16", "ace:cab:deca::/48")
$vnet = New-AzVirtualNetwork `
-Name myVNet `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-AddressPrefix $VnetPrefix `
-Subnet @($appgwSubnet, $backendSubnet)

Application Gateway Ön Uç genel IP adresleri oluşturma

$pipv4 = New-AzPublicIpAddress `
-Name myAGPublicIPAddress4 `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Sku 'Standard' `
-AllocationMethod 'Static' `
-IpAddressVersion 'IPv4' `
-Force

$pipv6 = New-AzPublicIpAddress `
-Name myAGPublicIPAddress6 `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Sku 'Standard' `
-AllocationMethod 'Static' `
-IpAddressVersion 'IPv6' `
-Force

IP yapılandırmalarını ve bağlantı noktalarını oluşturma

Daha önce oluşturduğunuz myAGSubnet'i New-AzApplicationGatewayIPConfiguration kullanarak uygulama ağ geçidiyle ilişkilendirin. New-AzApplicationGatewayFrontendIPConfig komutunu kullanarak uygulama ağ geçidine myAGPublicIPAddress atayın.

$vnet   = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name myAGSubnet
$gipconfig = New-AzApplicationGatewayIPConfiguration `
-Name myAGIPConfig `
-Subnet $subnet
$fipconfigv4 = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPv4Config `
-PublicIPAddress $pipv4
$fipconfigv6 = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPv6Config `
-PublicIPAddress $pipv6
$frontendport = New-AzApplicationGatewayFrontendPort `
-Name myAGFrontendIPv6Config `
-Port 80

Arka uç havuzu ve ayarları oluşturma

New-AzApplicationGatewayBackendAddressPool komutunu kullanarak uygulama ağ geçidi için appGatewayBackendPool adlı arka uç havuzunu oluşturun. New-AzApplicationGatewayBackendHttpSettings komutunu kullanarak arka uç adres havuzlarının ayarlarını yapılandırın.

$backendPool = New-AzApplicationGatewayBackendAddressPool `
-Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
-Name myPoolSettings `
-Port 80 `
-Protocol Http `
-CookieBasedAffinity Enabled `
-RequestTimeout 30

Varsayılan dinleyici ve kural oluşturma

Uygulama ağ geçidinin trafiği arka uç havuzuna uygun şekilde yönlendirmesini sağlamak için bir dinleyici gereklidir. Bu örnekte, kök URL’deki trafiği dinleyen temel bir dinleyici oluşturacaksınız.

Daha önce oluşturduğunuz ön uç yapılandırması ve ön uç bağlantı noktasıyla New-AzApplicationGatewayHttpListener kullanarak mydefaultListener adlı bir dinleyici oluşturun. Dinleyicinin gelen trafik için kullanacağı arka uç havuzunu bilmesi için bir kural gerekir. New-AzApplicationGatewayRequestRoutingRule komutunu kullanarak rule1 adlı temel bir kural oluşturun.

$listenerv4 = New-AzApplicationGatewayHttpListener `
-Name myAGListnerv4 `
-Protocol Http `
-FrontendIPConfiguration $fipconfigv4 `
-FrontendPort $frontendport
$listenerv6 = New-AzApplicationGatewayHttpListener `
-Name myAGListnerv6 `
-Protocol Http `
-FrontendIPConfiguration $fipconfigv6 `
-FrontendPort $frontendport
$frontendRulev4 = New-AzApplicationGatewayRequestRoutingRule `
-Name ruleIPv4 `
-RuleType Basic `
-Priority 10 `
-HttpListener $listenerv4 `
-BackendAddressPool $backendPool `
-BackendHttpSettings $poolSettings 
$frontendRulev6 = New-AzApplicationGatewayRequestRoutingRule `
-Name ruleIPv6 `
-RuleType Basic `
-Priority 1 `
-HttpListener $listenerv6 `
-BackendAddressPool $backendPool `
-BackendHttpSettings $poolsettings

Uygulama ağ geçidi oluşturma

Gerekli destekleyici kaynakları oluşturduğunuza göre, New-AzApplicationGatewaySku komutunu kullanarak uygulama ağ geçidi için parametreler belirtebilirsiniz. Yeni uygulama ağ geçidi New-AzApplicationGateway kullanılarak oluşturulur. Uygulama ağ geçidinin oluşturulması birkaç dakika sürer.

$sku = New-AzApplicationGatewaySku `
  -Name Standard_v2 `
  -Tier Standard_v2 `
  -Capacity 2
New-AzApplicationGateway `
-Name myipv6AppGW `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-BackendAddressPools $backendPool `
-BackendHttpSettingsCollection $poolsettings `
-FrontendIpConfigurations @($fipconfigv4, $fipconfigv6) `
-GatewayIpConfigurations $gipconfig `
-FrontendPorts $frontendport `
-HttpListeners @($listenerv4, $listenerv6) `
-RequestRoutingRules @($frontendRulev4, $frontendRulev6) `
-Sku $sku `
-Force

Arka uç sunucuları

Artık uygulama ağ geçidini oluşturduğunuza göre, web sitelerini barındırmak için arka uç sanal makineleri oluşturabilirsiniz. Arka uç NIC'lerden, sanal makine ölçek kümelerinden, genel IP adreslerinden, iç IP adreslerinden, tam etki alanı adlarından (FQDN) ve Azure Uygulaması Hizmeti gibi çok kiracılı arka uçlardan oluşabilir.

İki sanal makine oluşturma

Bu örnekte, uygulama ağ geçidi için arka uç sunucusu olarak kullanılacak iki sanal makine oluşturacaksınız. Iis, Azure'ın uygulama ağ geçidini başarıyla oluşturduğunu doğrulamak için sanal makinelere yüklenir. ÖLÇEK kümesi, IP adresi ayarlarını yapılandırdığınızda arka uç havuzuna atanır.

Sanal makineleri oluşturmak için Get-AzApplicationGatewayBackendAddressPool ile yakın zamanda oluşturulan Application Gateway arka uç havuzu yapılandırmasını alacağız. Bu bilgiler aşağıdakiler için kullanılır:

  • New-AzNetworkInterface ile bir ağ arabirimi oluşturun.
  • New-AzVMConfig ile bir sanal makine yapılandırması oluşturun.
  • New-AzVM ile sanal makineleri oluşturun.

Not

Sanal makine oluşturmak için aşağıdaki kod örneğini çalıştırdığınızda Azure sizden kimlik bilgilerini ister. Kullanıcı adınızı ve parolanızı girin. VM'lerin oluşturulması birkaç dakika sürer.

$appgw = Get-AzApplicationGateway -ResourceGroupName myResourceGroupAG -Name myipv6AppGW
$backendPool = Get-AzApplicationGatewayBackendAddressPool -Name myAGBackendPool -ApplicationGateway $appgw
$vnet   = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myBackendSubnet
$cred = Get-Credential
for ($i=1; $i -le 2; $i++)
{
  $nic = New-AzNetworkInterface `
    -Name myNic$i `
    -ResourceGroupName myResourceGroupAG `
    -Location EastUS `
    -Subnet $subnet `
    -ApplicationGatewayBackendAddressPool $backendpool
  $vm = New-AzVMConfig `
    -VMName myVM$i `
    -VMSize Standard_DS2_v2
  Set-AzVMOperatingSystem `
    -VM $vm `
    -Windows `
    -ComputerName myVM$i `
    -Credential $cred
  Set-AzVMSourceImage `
    -VM $vm `
    -PublisherName MicrosoftWindowsServer `
    -Offer WindowsServer `
    -Skus 2016-Datacenter `
    -Version latest
  Add-AzVMNetworkInterface `
    -VM $vm `
    -Id $nic.Id
  Set-AzVMBootDiagnostic `
    -VM $vm `
    -Disable
  New-AzVM -ResourceGroupName myResourceGroupAG -Location EastUS -VM $vm
  Set-AzVMExtension `
    -ResourceGroupName myResourceGroupAG `
    -ExtensionName IIS `
    -VMName myVM$i `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
    -Location EastUS
}

Application Gateway'in genel IP adresini bulma

Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress6

Ön uç IPv6 adresine dns adı atama

DNS adı, IPv6 uygulama ağ geçidi için testi kolaylaştırır. Kendi etki alanınızı ve kayıt şirketinizi kullanarak bir genel DNS adı atayabilir veya azure.com'de bir ad oluşturabilirsiniz.

azure.com bir ad atamak için aşağıdaki komutları kullanın. Ad, belirttiğiniz etiket + bölge + cloudapp.azure.com olarak ayarlanır. Bu örnekte myipv6appgw AAAA kaydı ad alanı eastus.cloudapp.azure.com oluşturulur:

$publicIp = Get-AzPublicIpAddress -Name myAGPublicIPAddress6 -ResourceGroupName myResourceGroupAG
$publicIp.DnsSettings = @{"DomainNameLabel" = "myipv6appgw"}
Set-AzPublicIpAddress -PublicIpAddress $publicIp

Uygulama ağ geçidini test etme

Daha önce myipv6appgw.eastus.cloudapp.azure.com DNS adını uygulama ağ geçidinin genel IPv6 adresine atadık. Bu bağlantıyı test etmek için:

  1. Invoke-WebRequest cmdlet'ini kullanarak IPv6 ön ucuna bir istek bildirin.
  2. Yanıtı denetleyin. myVM1 veya myVM2'nin geçerli bir yanıtı, uygulama ağ geçidinin başarıyla oluşturulduğunu ve arka uçla başarıyla bağlanabildiğini doğrular. Komutu birkaç kez yayınlarsanız ağ geçidi yükü dengeler ve farklı bir arka uç sunucusundan gelen sonraki isteklere yanıt verir.
PS C:\> (Invoke-WebRequest -Uri myipv6appgw.eastus.cloudapp.azure.com).Content
myVM2

Önemli

DNS adı veya IPv6 adresi bağlantısı başarısız olursa, bunun nedeni cihazınızdan IPv6 adreslerine göz atamamanız olabilir. Sorununuzun bu olup olmadığını denetlemek için uygulama ağ geçidinin IPv4 adresini de test edin. IPv4 adresi başarıyla bağlanıyorsa, cihazınıza atanmış bir genel IPv6 adresiniz yoktur. Böyle bir durumda, çift yığınlı bir VM ile bağlantıyı test etmeyi deneyebilirsiniz.

Kaynakları temizleme

Artık gerekli olmadığında Remove-AzResourceGroup kullanarak kaynak grubunu, uygulama ağ geçidini ve tüm ilgili kaynakları kaldırın.

Remove-AzResourceGroup -Name myResourceGroupAG

Sonraki adımlar