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:
- Çift yığınlı ağı ayarlama
- IPv6 ön ucuyla uygulama ağ geçidi oluşturma
- Varsayılan arka uç havuzuyla sanal makine ölçek kümesi oluşturma
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:
- Invoke-WebRequest cmdlet'ini kullanarak IPv6 ön ucuna bir istek bildirin.
- 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