Hızlı Başlangıç: Azure PowerShell kullanarak Azure Uygulaması Lication Gateway ile web trafiğini yönlendirme

Bu hızlı başlangıçta, uygulama ağ geçidi oluşturmak için Azure PowerShell'i kullanacaksınız. Ardından doğru çalıştığından emin olmak için test edin.

Uygulama ağ geçidi, uygulama web trafiğini arka uç havuzundaki belirli kaynaklara yönlendirir. Dinleyicileri bağlantı noktalarına atar, kurallar oluşturur ve arka uç havuzuna kaynak eklersiniz. Kolaylık olması açısından, bu makalede genel ön uç IP adresiyle basit bir kurulum, uygulama ağ geçidinde tek bir siteyi barındırmak için temel bir dinleyici, temel istek yönlendirme kuralı ve arka uç havuzunda iki sanal makine kullanılır.

application gateway resources

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

Önkoşullar

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Button to launch Azure Cloud Shell.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Azure'a bağlanma

Azure'a bağlanmak için komutunu çalıştırın Connect-AzAccount.

Kaynak grubu oluşturma

Azure'da ilgili kaynakları bir kaynak grubuna ayırırsınız. Mevcut bir kaynak grubunu kullanabilir veya yeni bir kaynak grubu oluşturabilirsiniz.

Yeni bir kaynak grubu oluşturmak için cmdlet'ini New-AzResourceGroup kullanın:

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Ağ kaynakları oluşturma

Azure'ın oluşturduğunuz kaynaklar arasında iletişim kurabilmesi için bir sanal ağ gerekir. Uygulama ağ geçidi alt ağı yalnızca uygulama ağ geçitlerini içerebilir. Başka hiçbir kaynağa izin verilmez. Application Gateway için yeni bir alt ağ oluşturabilir veya mevcut bir alt ağı kullanabilirsiniz. Bu örnekte iki alt ağ oluşturursunuz: biri uygulama ağ geçidi için, diğeri de arka uç sunucuları için. Application Gateway'in Ön Uç IP adresini, kullanım örneğine göre Genel veya Özel olacak şekilde yapılandırabilirsiniz. Bu örnekte bir Genel Ön Uç IP adresi seçeceksiniz.

  1. kullanarak New-AzVirtualNetworkSubnetConfigalt ağ yapılandırmalarını oluşturun.
  2. kullanarak New-AzVirtualNetworkalt ağ yapılandırmalarıyla sanal ağı oluşturun.
  3. kullanarak New-AzPublicIpAddressgenel IP adresini oluşturun.

Not

Sanal ağ hizmet uç noktası ilkeleri şu anda Application Gateway alt ağında desteklenmiyor.

$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.21.0.0/24
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.21.1.0/24
New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.21.0.0/16 `
  -Subnet $agSubnetConfig, $backendSubnetConfig
New-AzPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Static `
  -Sku Standard

Uygulama ağ geçidi oluşturma

IP yapılandırmaları ve ön uç bağlantı noktası oluşturma

  1. Oluşturduğunuz alt ağı uygulama ağ geçidiyle ilişkilendiren yapılandırmayı oluşturmak için kullanın New-AzApplicationGatewayIPConfiguration .
  2. Uygulama ağ geçidi için daha önce oluşturduğunuz genel IP adresini atayan yapılandırmayı oluşturmak için kullanın New-AzApplicationGatewayFrontendIPConfig .
  3. Uygulama ağ geçidine erişmek üzere 80 numaralı bağlantı noktasını atamak için kullanın New-AzApplicationGatewayFrontendPort .
$vnet   = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myAGSubnet
$pip    = Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress 
$gipconfig = New-AzApplicationGatewayIPConfiguration `
  -Name myAGIPConfig `
  -Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
  -Name myAGFrontendIPConfig `
  -PublicIPAddress $pip
$frontendport = New-AzApplicationGatewayFrontendPort `
  -Name myFrontendPort `
  -Port 80

Not

Application Gateway ön ucu artık çift yığınLı IP adreslerini (Genel Önizleme) destekliyor. Artık en fazla dört ön uç IP adresi oluşturabilirsiniz: İki IPv4 adresi (genel ve özel) ve iki IPv6 adresi (genel ve özel).

Arka uç havuzunu oluşturma

  1. Uygulama ağ geçidi için arka uç havuzunu oluşturmak için kullanın New-AzApplicationGatewayBackendAddressPool . Arka uç havuzu şimdilik boş. Sonraki bölümde arka uç sunucusu NIC'lerini oluşturduğunuzda, bunları arka uç havuzuna ekleyeceksiniz.
  2. ile New-AzApplicationGatewayBackendHttpSettingarka uç havuzunun ayarlarını yapılandırın.
$backendPool = New-AzApplicationGatewayBackendAddressPool `
  -Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 30

Dinleyiciyi oluşturma ve kural ekleme

Azure, trafiği arka uç havuzuna uygun şekilde yönlendirmek için uygulama ağ geçidini etkinleştirmek için bir dinleyici gerektirir. Azure, gelen trafik için hangi arka uç havuzunun kullanılacağını dinleyicinin bilmesi için de bir kural gerektirir.

  1. Daha önce oluşturduğunuz ön uç yapılandırması ve ön uç bağlantı noktası ile kullanarak New-AzApplicationGatewayHttpListener bir dinleyici oluşturun.
  2. rule1 adlı bir kural oluşturmak için kullanınNew-AzApplicationGatewayRequestRoutingRule.
$defaultlistener = New-AzApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -Priority 100 `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

Uygulama ağ geçidi oluşturma

Gerekli destekleyici kaynakları oluşturduğunuza göre uygulama ağ geçidini oluşturun:

  1. Uygulama ağ geçidi için parametreleri belirtmek için kullanın New-AzApplicationGatewaySku .
  2. Uygulama ağ geçidini oluşturmak için kullanın New-AzApplicationGateway .
$sku = New-AzApplicationGatewaySku `
  -Name Standard_v2 `
  -Tier Standard_v2 `
  -Capacity 2
New-AzApplicationGateway `
  -Name myAppGateway `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -BackendAddressPools $backendPool `
  -BackendHttpSettingsCollection $poolSettings `
  -FrontendIpConfigurations $fipconfig `
  -GatewayIpConfigurations $gipconfig `
  -FrontendPorts $frontendport `
  -HttpListeners $defaultlistener `
  -RequestRoutingRules $frontendRule `
  -Sku $sku

Arka uç sunucuları

Application Gateway'i oluşturduğunuza göre, web sitelerini barındıracak arka uç sanal makinelerini oluşturun. Arka uç NIC'lerden, sanal makine ölçek kümelerinden, genel IP adresinden, iç IP adresinden, tam etki alanı adlarından (FQDN) ve Azure Uygulaması Hizmeti gibi çok kiracılı arka uçlardan oluşabilir.

Bu örnekte, uygulama ağ geçidi için arka uç sunucusu olarak kullanılacak iki sanal makine oluşturacaksınız. Ayrıca Azure'ın uygulama ağ geçidini başarıyla oluşturduğunu doğrulamak için sanal makinelere IIS yüklersiniz.

İki sanal makine oluşturma

  1. ile Get-AzApplicationGatewayBackendAddressPoolson oluşturulan Application Gateway arka uç havuzu yapılandırmasını alın.
  2. ile New-AzNetworkInterfacebir ağ arabirimi oluşturun.
  3. ile New-AzVMConfigbir sanal makine yapılandırması oluşturun.
  4. ile New-AzVMsanal makineyi oluşturun.

Sanal makineleri oluşturmak için aşağıdaki kod örneğini çalıştırdığınızda Azure sizden kimlik bilgilerini ister. Bir kullanıcı adı ve parola girin:

$appgw = Get-AzApplicationGateway -ResourceGroupName myResourceGroupAG -Name myAppGateway
$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
}

Uygulama ağ geçidini test etme

Uygulama ağ geçidini oluşturmak için IIS gerekli olmasa da, Azure'ın uygulama ağ geçidini başarıyla oluşturup oluşturmadığını doğrulamak için bu hızlı başlangıçta yüklemişsinizdir.

Uygulama ağ geçidini test etmek için IIS kullanın:

  1. Uygulama ağ geçidinin genel IP adresini almak için komutunu çalıştırın Get-AzPublicIPAddress .
  2. Genel IP adresini kopyalayıp tarayıcınızın adres çubuğuna yapıştırın. Tarayıcıyı yenilediğinizde sanal makinenin adını görmeniz gerekir. 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.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Test application gateway

Kaynakları temizleme

Uygulama ağ geçidiyle oluşturduğunuz kaynaklara artık ihtiyacınız kalmadığında kaynak grubunu silin. Kaynak grubunu sildiğinizde, uygulama ağ geçidini ve ilgili tüm kaynaklarını da silersiniz.

Kaynak grubunu silmek için cmdlet'ini çağırın Remove-AzResourceGroup :

Remove-AzResourceGroup -Name myResourceGroupAG

Sonraki adımlar