Hızlı başlangıç: Azure PowerShell kullanarak Azure Application Gateway ile doğrudan web trafiğiQuickstart: Direct web traffic with Azure Application Gateway using Azure PowerShell

Bu hızlı başlangıçta, uygulama ağ geçidi oluşturmak için Azure PowerShell kullanırsınız.In this quickstart, you use Azure PowerShell to create an application gateway. Ardından, doğru çalıştığından emin olmak için test edersiniz.Then you test it to make sure it works correctly.

Uygulama ağ geçidi, uygulama Web trafiğini bir arka uç havuzundaki belirli kaynaklara yönlendirir.The application gateway directs application web traffic to specific resources in a backend pool. Bağlantı noktalarına dinleyicileri atar, kurallar oluşturur ve bir arka uç havuzuna kaynak ekleyebilirsiniz.You assign listeners to ports, create rules, and add resources to a backend pool. Kolaylık sağlaması için bu makalede, genel ön uç IP 'si olan basit bir kurulum ve uygulama ağ geçidinde tek bir siteyi barındırmak için temel bir dinleyici, temel bir istek yönlendirme kuralı ve arka uç havuzundaki iki sanal makine kullanılmaktadır.For the sake of simplicity, this article uses a simple setup with a public front-end IP, a basic listener to host a single site on the application gateway, a basic request routing rule, and two virtual machines in the backend pool.

Bu hızlı başlangıcı Azure CLI veya Azure Portalkullanarak da tamamlayabilirsiniz.You can also complete this quickstart using Azure CLI or the Azure portal.

ÖnkoşullarPrerequisites

Azure Cloud Shell kullanmaUse 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ır.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Bu makaledeki kodu, yerel ortamınıza herhangi bir şey yüklemeye gerek kalmadan çalıştırmak için Cloud Shell’in önceden yüklenmiş komutlarını kullanabilirsiniz.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell’i başlatmak için:To start Azure Cloud Shell:

SeçenekOption Örnek/BağlantıExample/Link
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin.Select Try It in the upper-right corner of a code block. Deneyin seçeneği belirlendiğinde, kod otomatik olarak Cloud Shell’e kopyalanmaz.Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell için Deneyin örneği
Cloud Shell’i tarayıcınızda açmak için https://shell.azure.com bölümüne gidin veya Cloud Shell’i Başlat düğmesini seçin.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Cloud Shell’i yeni bir pencerede başlatmaLaunch Cloud Shell in a new window
Azure portalın sağ üst köşesindeki menü çubuğunda yer alan Cloud Shell düğmesini seçin.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Azure portaldaki Cloud Shell düğmesi

Azure Cloud Shell’de bu makaledeki kodu çalıştırmak için:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell’i başlatın.Start Cloud Shell.

  2. Kodu kopyalamak için kod bloğunda Kopyala düğmesini seçin.Select the Copy button on a code block to copy the code.

  3. Windows ve Linux sisteminde Ctrl+Shift+V tuşlarını kullanarak veya macOS’de Cmd+Shift+V tuşlarını kullanarak kodu Cloud Shell oturumuna yapıştırın.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Kodu çalıştırmak için Enter tuşuna basın.Select Enter to run the code.

Not

Bu makale yeni Azure PowerShell Az modülünü kullanacak şekilde güncelleştirilmiştir.This article has been updated to use the new Azure PowerShell Az module. En azından Aralık 2020'ye kadar hata düzeltmeleri almaya devam edecek olan AzureRM modülünü de kullanmaya devam edebilirsiniz.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Yeni Az modülüyle AzureRM'nin uyumluluğu hakkında daha fazla bilgi edinmek için bkz. Yeni Azure PowerShell Az modülüne giriş.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az modülü yükleme yönergeleri için bkz. Azure PowerShell'i yükleme.For Az module installation instructions, see Install Azure PowerShell.

Azure'a BağlanmaConnect to Azure

Azure ile bağlantı kurmak için çalıştırın Connect-AzAccount .To connect with Azure, run Connect-AzAccount.

Kaynak grubu oluşturmaCreate a resource group

Azure 'da, ilgili kaynakları bir kaynak grubuna ayırabilirsiniz.In Azure, you allocate related resources to a resource group. Var olan bir kaynak grubunu kullanabilir ya da yeni bir tane oluşturabilirsiniz.You can either use an existing resource group or create a new one.

Yeni bir kaynak grubu oluşturmak için New-AzResourceGroup cmdlet 'ini kullanın:To create a new resource group, use the New-AzResourceGroup cmdlet:

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Ağ kaynakları oluşturmaCreate network resources

Azure 'un, oluşturduğunuz kaynaklar arasında iletişim kurması için bir sanal ağa ihtiyacı vardır.For Azure to communicate between the resources that you create, it needs a virtual network. Application Gateway alt ağı yalnızca uygulama ağ geçitleri içerebilir.The application gateway subnet can contain only application gateways. Başka hiçbir kaynağa izin verilmez.No other resources are allowed. Application Gateway için yeni bir alt ağ oluşturabilir veya var olan bir alt ağı kullanabilirsiniz.You can either create a new subnet for Application Gateway or use an existing one. Bu örnekte, bu örnekte iki alt ağ oluşturursunuz: uygulama ağ geçidi için bir diğeri, arka uç sunucuları için bir diğeri.In this example, you create two subnets in this example: one for the application gateway, and another for the backend servers. Application Gateway ön uç IP 'sini kullanım çalışmanıza göre genel veya özel olacak şekilde yapılandırabilirsiniz.You can configure the Frontend IP of the Application Gateway to be Public or Private as per your use case. Bu örnekte, genel ön uç IP 'si seçersiniz.In this example, you'll choose a Public Frontend IP.

  1. Kullanarak alt ağ yapılandırması oluşturun New-AzVirtualNetworkSubnetConfig .Create the subnet configurations using New-AzVirtualNetworkSubnetConfig.
  2. Kullanarak alt ağ yapılandırmalarına sahip sanal ağ oluşturun New-AzVirtualNetwork .Create the virtual network with the subnet configurations using New-AzVirtualNetwork.
  3. Kullanarak genel IP adresini oluşturun New-AzPublicIpAddress .Create the public IP address using New-AzPublicIpAddress.

Not

Sanal ağ hizmeti uç noktası ilkeleri şu anda Application Gateway bir alt ağda desteklenmiyor.Virtual network service endpoint policies are currently not supported in an Application Gateway subnet.

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

Uygulama ağ geçidi oluşturmaCreate an application gateway

IP yapılandırmaları ve ön uç bağlantı noktası oluşturmaCreate the IP configurations and frontend port

  1. New-AzApplicationGatewayIPConfigurationOluşturduğunuz alt ağı uygulama ağ geçidiyle ilişkilendiren yapılandırmayı oluşturmak için kullanın.Use New-AzApplicationGatewayIPConfiguration to create the configuration that associates the subnet you created with the application gateway.
  2. New-AzApplicationGatewayFrontendIPConfigDaha önce oluşturduğunuz genel IP adresini uygulama ağ geçidine atayan yapılandırmayı oluşturmak için kullanın.Use New-AzApplicationGatewayFrontendIPConfig to create the configuration that assigns the public IP address that you previously created to the application gateway.
  3. New-AzApplicationGatewayFrontendPortApplication Gateway 'e erişmek için 80 numaralı bağlantı noktasını atamak üzere kullanın.Use New-AzApplicationGatewayFrontendPort to assign port 80 to access the application gateway.
$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

Arka uç havuzunu oluşturmaCreate the backend pool

  1. New-AzApplicationGatewayBackendAddressPoolUygulama ağ geçidi için arka uç havuzu oluşturmak için kullanın.Use New-AzApplicationGatewayBackendAddressPool to create the backend pool for the application gateway. Arka uç havuzu şu anda boş olacak.The backend pool will be empty for now. Sonraki bölümde arka uç sunucusu NIC 'Leri oluşturduğunuzda, bunları arka uç havuzuna eklersiniz.When you create the backend server NICs in the next section, you will add them to the backend pool.
  2. Arka uç havuzunun ayarlarını ile yapılandırın New-AzApplicationGatewayBackendHttpSetting .Configure the settings for the backend pool with New-AzApplicationGatewayBackendHttpSetting.
$backendPool = New-AzApplicationGatewayBackendAddressPool `
  -Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 30

Dinleyiciyi oluşturma ve kural eklemeCreate the listener and add a rule

Azure, arka uç havuzuna uygun trafiği yönlendirmek için Application Gateway 'i etkinleştirmek üzere bir dinleyici gerektirir.Azure requires a listener to enable the application gateway for routing traffic appropriately to the backend pool. Azure Ayrıca, bir dinleyicinin gelen trafik için hangi arka uç havuzunun kullanılacağını bilmesi için bir kural gerektirir.Azure also requires a rule for the listener to know which backend pool to use for incoming traffic.

  1. New-AzApplicationGatewayHttpListenerÖnceden oluşturduğunuz ön uç yapılandırması ve ön uç bağlantı noktası ile kullanarak bir dinleyici oluşturun.Create a listener using New-AzApplicationGatewayHttpListener with the frontend configuration and frontend port that you previously created.
  2. New-AzApplicationGatewayRequestRoutingRule Rule1adlı bir kural oluşturmak için kullanın.Use New-AzApplicationGatewayRequestRoutingRule to create a rule named rule1.
$defaultlistener = New-AzApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

Uygulama ağ geçidi oluşturmaCreate the application gateway

Gerekli destekleyici kaynakları oluşturduğunuza göre, uygulama ağ geçidini oluşturun:Now that you've created the necessary supporting resources, create the application gateway:

  1. New-AzApplicationGatewaySkuUygulama ağ geçidi için parametreleri belirtmek üzere kullanın.Use New-AzApplicationGatewaySku to specify parameters for the application gateway.
  2. New-AzApplicationGatewayUygulama ağ geçidi oluşturmak için kullanın.Use New-AzApplicationGateway to create the application gateway.
$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ıBackend servers

Application Gateway oluşturdığınıza göre, Web sitelerini barındıracak arka uç sanal makinelerini oluşturun.Now that you have created the Application Gateway, create the backend virtual machines which will host the websites. Arka uç, NIC 'Ler, sanal makine ölçek kümeleri, genel IP 'Ler, iç IP 'Ler, tam etki alanı adları (FQDN) ve Azure App Service gibi çok kiracılı arka uçlar olabilir.Backend can be composed of NICs, virtual machine scale sets, public IPs, internal IPs, fully qualified domain names (FQDN), and multi-tenant back-ends like Azure App Service. Bu örnekte, Azure için uygulama ağ geçidi için arka uç sunucular olarak kullanılacak iki sanal makine oluşturursunuz.In this example, you create two virtual machines for Azure to use as backend servers for the application gateway. Ayrıca, Azure 'un uygulama ağ geçidini başarıyla oluşturduğunu doğrulamak için sanal makinelere IIS yüklersiniz.You also install IIS on the virtual machines to verify that Azure successfully created the application gateway.

İki sanal makine oluşturmaCreate two virtual machines

  1. İle en son oluşturulan Application Gateway arka uç havuzu yapılandırmasını alın Get-AzApplicationGatewayBackendAddressPool .Get the recently created Application Gateway backend pool configuration with Get-AzApplicationGatewayBackendAddressPool.
  2. İle bir ağ arabirimi oluşturun New-AzNetworkInterface .Create a network interface with New-AzNetworkInterface.
  3. İle bir sanal makine yapılandırması oluşturun New-AzVMConfig .Create a virtual machine configuration with New-AzVMConfig.
  4. İle sanal makineyi oluşturun New-AzVM .Create the virtual machine with New-AzVM.

Sanal makineleri oluşturmak için aşağıdaki kod örneğini çalıştırdığınızda Azure sizden kimlik bilgilerini ister.When you run the following code sample to create the virtual machines, Azure prompts you for credentials. Kullanıcı adı ve parola için azureuser girin:Enter azureuser for the user name and a password:

$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 etmeTest the application gateway

Uygulama ağ geçidini oluşturmak için IIS gerekli olmasa da, Azure 'un uygulama ağ geçidini başarıyla oluşturup oluşturmadığını doğrulamak için bu hızlı başlangıçta yüklediniz.Although IIS isn't required to create the application gateway, you installed it in this quickstart to verify whether Azure successfully created the application gateway. Uygulama ağ geçidini test etmek için IIS kullanın:Use IIS to test the application gateway:

  1. Get-AzPublicIPAddressUygulama ağ geçidinin genel IP adresini almak için ' i çalıştırın.Run Get-AzPublicIPAddress to get the public IP address of the application gateway.
  2. Genel IP adresini kopyalayıp tarayıcınızın adres çubuğuna yapıştırın.Copy and paste the public IP address into the address bar of your browser. Tarayıcıyı yenilediğinizde, sanal makinenin adını görmeniz gerekir.When you refresh the browser, you should see the name of the virtual machine. Geçerli bir yanıt, uygulama ağ geçidinin başarıyla oluşturulduğunu ve arka uca başarıyla bağlanabildiğini doğrular.A valid response verifies that the application gateway was successfully created and it can successfully connect with the backend.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Uygulama ağ geçidini test etme

Kaynakları temizlemeClean up resources

Uygulama ağ geçidiyle oluşturduğunuz kaynaklara artık ihtiyacınız kalmadığında, kaynak grubunu silin.When you no longer need the resources that you created with the application gateway, delete the resource group. Kaynak grubunu sildiğinizde, uygulama ağ geçidini ve ilgili tüm kaynakları da silersiniz.When you delete the resource group, you also delete the application gateway and all its related resources.

Kaynak grubunu silmek için Remove-AzResourceGroup cmdlet 'ini çağırın:To delete the resource group, call the Remove-AzResourceGroup cmdlet:

Remove-AzResourceGroup -Name myResourceGroupAG

Sonraki adımlarNext steps