Hızlı Başlangıç: Azure Application Gateway ile web trafiğini yönlendirme - Azure CLI

Bu hızlı başlangıçta, uygulama ağ geçidi oluşturmak için Azure CLI'yi 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 PowerShell'i veya Azure portalını kullanarak da tamamlayabilirsiniz.

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

Önkoşullar

  • Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.

  • CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.

    • Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.

    • İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.

    • Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.

  • Bu makale, Azure CLI'nın 2.0.4 veya sonraki bir sürümünü gerektirir. Azure Cloud Shell kullanılıyorsa en son sürüm zaten yüklüdür.

Kaynak grubu oluştur

Azure'da ilgili kaynakları bir kaynak grubuna ayırırsınız. kullanarak az group createbir kaynak grubu oluşturun.

Aşağıdaki örnek eastus konumunda myResourceGroupAG adlı bir kaynak grubu oluşturur.

az group create --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'sini kullanım örneğinize göre Genel veya Özel olacak şekilde yapılandırabilirsiniz. Bu örnekte bir Genel Ön Uç IP adresi seçeceksiniz.

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).

Sanal ağı ve alt ağı oluşturmak için kullanın az network vnet create. Genel IP adresini oluşturmak için komutunu çalıştırın az network public-ip create .

az network vnet create \
  --name myVNet \
  --resource-group myResourceGroupAG \
  --location eastus \
  --address-prefix 10.21.0.0/16 \
  --subnet-name myAGSubnet \
  --subnet-prefix 10.21.0.0/24
az network vnet subnet create \
  --name myBackendSubnet \
  --resource-group myResourceGroupAG \
  --vnet-name myVNet   \
  --address-prefix 10.21.1.0/24
az network public-ip create \
  --resource-group myResourceGroupAG \
  --name myAGPublicIPAddress \
  --allocation-method Static \
  --sku Standard

Arka uç sunucuları oluşturma

Arka uç NIC'lere, sanal makine ölçek kümelerine, genel IP adreslerine, iç IP adreslerine, tam etki alanı adlarına (FQDN) ve Azure Uygulaması Hizmeti gibi çok kiracılı arka uçlara sahip olabilir. Bu örnekte, uygulama ağ geçidi için arka uç sunucusu olarak kullanılacak iki sanal makine oluşturacaksınız. Ayrıca, uygulama ağ geçidini test etmek için sanal makinelere NGINX yüklersiniz.

İki sanal makine oluşturma

Uygulama ağ geçidinin başarıyla oluşturulduğunu doğrulamak için sanal makinelere NGINX web sunucusunu yükleyin. NGINX'i yüklemek ve Linux sanal makinesinde bir "Merhaba Dünya" Node.js uygulaması çalıştırmak için cloud-init yapılandırma dosyası kullanabilirsiniz. cloud-init hakkında daha fazla bilgi için bkz . Azure'da sanal makineler için Cloud-init desteği.

Azure Cloud Shell'inizde aşağıdaki yapılandırmayı kopyalayıp cloud-init.txt adlı bir dosyaya yapıştırın. Dosyayı oluşturmak için cloud-init.txt düzenleyicisini girin.

#cloud-config
package_upgrade: true
packages:
  - nginx
  - nodejs
  - npm
write_files:
  - owner: www-data:www-data
  - path: /etc/nginx/sites-available/default
    content: |
      server {
        listen 80;
        location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection keep-alive;
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
  - owner: azureuser:azureuser
  - path: /home/azureuser/myapp/index.js
    content: |
      var express = require('express')
      var app = express()
      var os = require('os');
      app.get('/', function (req, res) {
        res.send('Hello World from host ' + os.hostname() + '!')
      })
      app.listen(3000, function () {
        console.log('Hello world app listening on port 3000!')
      })
runcmd:
  - service nginx restart
  - cd "/home/azureuser/myapp"
  - npm init
  - npm install express -y
  - nodejs index.js

ile az network nic createağ arabirimlerini oluşturun. Sanal makineleri oluşturmak için kullanın az vm create.

for i in `seq 1 2`; do
  az network nic create \
    --resource-group myResourceGroupAG \
    --name myNic$i \
    --vnet-name myVNet \
    --subnet myBackendSubnet
  az vm create \
    --resource-group myResourceGroupAG \
    --name myVM$i \
    --nics myNic$i \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --custom-data cloud-init.txt
done

Uygulama ağ geçidi oluşturma

kullanarak az network application-gateway createbir uygulama ağ geçidi oluşturun. Azure CLI ile bir uygulama ağ geçidi oluşturduğunuzda kapasite, SKU ve HTTP ayarları gibi yapılandırma bilgilerini belirtirsiniz. Azure daha sonra ağ arabirimlerinin özel IP adreslerini uygulama ağ geçidinin arka uç havuzuna sunucu olarak ekler.

address1=$(az network nic show --name myNic1 --resource-group myResourceGroupAG | grep "\"privateIPAddress\":" | grep -oE '[^ ]+$' | tr -d '",')
address2=$(az network nic show --name myNic2 --resource-group myResourceGroupAG | grep "\"privateIPAddress\":" | grep -oE '[^ ]+$' | tr -d '",')
az network application-gateway create \
  --name myAppGateway \
  --location eastus \
  --resource-group myResourceGroupAG \
  --capacity 2 \
  --sku Standard_v2 \
  --public-ip-address myAGPublicIPAddress \
  --vnet-name myVNet \
  --subnet myAGSubnet \
  --servers "$address1" "$address2" \
  --priority 100

Azure'ın uygulama ağ geçidini oluşturması 30 dakika kadar sürebilir. Oluşturulduktan sonra, Uygulama ağ geçidi sayfasının Ayarlar bölümünde aşağıdaki ayarları görüntüleyebilirsiniz:

  • appGatewayBackendPool: Arka uç havuzları sayfasında bulunur. Gerekli arka uç havuzunu belirtir.
  • appGatewayBackendHttp Ayarlar: HTTP ayarları sayfasında bulunur. Uygulama ağ geçidinin iletişim için 80 numaralı bağlantı noktasını ve HTTP protokolunu kullandığını belirtir.
  • appGatewayHttpListener: Dinleyiciler sayfasında bulunur. appGatewayBackendPool ile ilişkili varsayılan dinleyiciyi belirtir.
  • appGatewayFrontendIP: Ön uç IP yapılandırmaları sayfasında bulunur. myAGPublicIPAddress öğesini appGatewayHttpListener'a atar.
  • rule1: Kurallar sayfasında bulunur. appGatewayHttpListener ile ilişkili varsayılan yönlendirme kuralını belirtir.

Uygulama ağ geçidini test etme

Azure, uygulama ağ geçidini oluşturmak için bir NGINX web sunucusu gerektirmese de, Azure'ın uygulama ağ geçidini başarıyla oluşturup oluşturmadığını doğrulamak için bu hızlı başlangıçta bunu yüklemişsinizdir. Yeni uygulama ağ geçidinin genel IP adresini almak için kullanın az network public-ip show.

az network public-ip show \
  --resource-group myResourceGroupAG \
  --name myAGPublicIPAddress \
  --query [ipAddress] \
  --output tsv

Genel IP adresini kopyalayıp tarayıcınızın adres çubuğuna yapıştırın. ​ Test application gateway

Tarayıcıyı yenilediğinizde ikinci VM'nin adını görmeniz gerekir. Bu, uygulama ağ geçidinin başarıyla oluşturulduğunu ve arka uçla bağlanabileceğini gösterir.

Kaynakları temizleme

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

az group delete --name myResourceGroupAG

Sonraki adımlar