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.
Bu hızlı başlangıcı Azure CLI veya Azure portalını kullanarak da tamamlayabilirsiniz.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Azure PowerShell sürüm 1.0.0 veya üzeri (Azure PowerShell'i yerel olarak çalıştırıyorsanız).
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. | |
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. | |
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. |
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
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.
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.
- kullanarak
New-AzVirtualNetworkSubnetConfig
alt ağ yapılandırmalarını oluşturun. - kullanarak
New-AzVirtualNetwork
alt ağ yapılandırmalarıyla sanal ağı oluşturun. - kullanarak
New-AzPublicIpAddress
genel 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
- Oluşturduğunuz alt ağı uygulama ağ geçidiyle ilişkilendiren yapılandırmayı oluşturmak için kullanın
New-AzApplicationGatewayIPConfiguration
. - 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
. - 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
- 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. - ile
New-AzApplicationGatewayBackendHttpSetting
arka 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.
- Daha önce oluşturduğunuz ön uç yapılandırması ve ön uç bağlantı noktası ile kullanarak
New-AzApplicationGatewayHttpListener
bir dinleyici oluşturun. - rule1 adlı bir kural oluşturmak için kullanın
New-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:
- Uygulama ağ geçidi için parametreleri belirtmek için kullanın
New-AzApplicationGatewaySku
. - 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
- ile
Get-AzApplicationGatewayBackendAddressPool
son oluşturulan Application Gateway arka uç havuzu yapılandırmasını alın. - ile
New-AzNetworkInterface
bir ağ arabirimi oluşturun. - ile
New-AzVMConfig
bir sanal makine yapılandırması oluşturun. - ile
New-AzVM
sanal 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:
- Uygulama ağ geçidinin genel IP adresini almak için komutunu çalıştırın
Get-AzPublicIPAddress
. - 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
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