Aracılığıyla paylaş


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.

Hızlı başlangıç kurulumunun kavramsal diyagramı.

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

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

Önkoşullar

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

Not

Application Gateway ön ucu artık çift yığınLı IP adreslerini (Ö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).

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

Bir arka uç, NIC'lere, sanal makine ölçek kümelerine, genel IP adreslerine, iç IP adreslerine, tam etki alanı adlarına (FQDN) ve Azure Uygulama 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 bir cloud-init yapılandırma dosyası kullanabilirsiniz. Azure'daki sanal makineler için Cloud-init desteği hakkında daha fazla bilgi için Cloud-init'in Azure üzerindeki desteğine bakın.

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 düzenleyici cloud-init.txt 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

az network nic create ile ağ 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

Bir uygulama ağ geçidi oluşturmak için az network application-gateway create kullanın. Azure CLI ile bir uygulama ağ geçidi oluşturduğunuzda kapasite, SKU (örneğin: Basic) 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.

Standart v2 SKU'su bu örnekte kullanılır.

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.
  • appGatewayBackendHttpSettings: 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.

Not

Kullanılabilirlik alanlarını destekleyen bölgelerde CLI, PowerShell, ARM/Bicep veya REST API aracılığıyla oluşturma sırasında bölgeleri belirtmezseniz Azure Application Gateway alanlar arası yedekliliği otomatik olarak etkinleştirir ve gelişmiş dayanıklılık için örnekleri birden çok kullanılabilirlik alanına dağıtır

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. ​ Uygulama ağ geçidini test etme

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