Hızlı Başlangıç: Azure CLI kullanarak VM'leri yük dengelemek için iç yük dengeleyici oluşturma

Bir iç yük dengeleyici ve iki sanal makine oluşturmak için Azure CLI'yi kullanarak Azure Load Balancer'ı kullanmaya başlayın. Diğer kaynaklar arasında Azure Bastion, NAT Ağ Geçidi, sanal ağ ve gerekli alt ağlar bulunur.

İç yük dengeleyici için dağıtılan kaynakların diyagramı.

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

Önkoşullar

  • Bu hızlı başlangıç için Azure CLI'nın 2.0.28 veya sonraki bir sürümü gerekir. Azure Cloud Shell kullanıyorsanız en son sürüm zaten yüklüdür.

Kaynak grubu oluşturma

Azure kaynak grubu, Azure kaynaklarınızı dağıtıp yönettiğiniz mantıksal bir kapsayıcıdır.

az group create ile bir kaynak grubu oluşturun.

    az group create \
      --name load-balancer-cli-rg \
      --location westus2

İç yük dengeleyici oluşturduğunuzda, yük dengeleyici için ağ olarak bir sanal ağ yapılandırılır.

Sanal ağı oluşturma

VM'leri dağıtmadan ve yük dengeleyicinizi test etmeden önce destekleyici sanal ağı ve alt ağı oluşturun. Sanal ağ ve alt ağ, bu makalenin devamında dağıtılan kaynakları içerir.

az network vnet create komutunu kullanarak bir sanal ağ oluşturun.

  az network vnet create \
    --resource-group load-balancer-cli-rg \
    --location westus2 \
    --name lb-vnet \
    --address-prefixes 10.1.0.0/16 \
    --subnet-name backend-subnet \
    --subnet-prefixes 10.1.0.0/24

Azure Bastion konağı oluşturma

Bu örnekte bir Azure Bastion konağı oluşturacaksınız. Azure Bastion konağı, bu makalenin devamında sanal makineleri güvenli bir şekilde yönetmek ve yük dengeleyici dağıtımını test etmek için kullanılır.

Önemli

Saatlik fiyatlandırma, giden veri kullanımına bakılmaksızın Bastion dağıtıldığından itibaren başlar. Daha fazla bilgi için bkz . Fiyatlandırma ve SKU'lar. Bastion'ı bir öğretici veya test kapsamında dağıtıyorsanız, kullanmayı bitirdikten sonra bu kaynağı silmenizi öneririz.

Bastion genel IP adresi oluşturma

Azure Bastion konağı için genel IP adresi oluşturmak için az network public-ip create komutunu kullanın.

az network public-ip create \
    --resource-group load-balancer-cli-rg  \
    --name lb-vnet-bastion-ip \
    --sku Standard \
    --zone 1 2 3

Savunma alt ağı oluşturma

Alt ağ oluşturmak için az network vnet subnet create komutunu kullanın.

az network vnet subnet create \
    --resource-group load-balancer-cli-rg  \
    --name AzureBastionSubnet \
    --vnet-name lb-vnet \
    --address-prefixes 10.1.1.0/27

Bastion ana bilgisayarı oluşturma

Bir ana bilgisayar oluşturmak için az network bastion create komutunu kullanın.

az config set extension.use_dynamic_install=yes_without_prompt

az network bastion create \
    --resource-group load-balancer-cli-rg  \
    --name lb-vnet-bastion \
    --public-ip-address lb-vnet-bastion-ip \
    --vnet-name lb-vnet \
    --location westus2 \
    --sku Basic \
    --only-show-errors \
    --no-wait

Azure Bastion ana bilgisayarının dağıtılması birkaç dakika sürebilir.

Yük dengeleyiciyi oluşturma

Bu bölümde yük dengeleyicinin aşağıdaki bileşenlerini nasıl oluşturabileceğiniz ve yapılandırabileceğiniz açıklanmaktadır:

  • Yük dengeleyicide gelen ağ trafiğini alan ön uç IP havuzu

  • Ön uç havuzunun yük dengeli ağ trafiğini gönderdiği arka uç IP havuzu

  • Arka uç VM örneklerinin sistem durumunu belirleyen bir sistem durumu yoklaması

  • Trafiğin VM'lere nasıl dağıtıldığını tanımlayan yük dengeleyici kuralı

Yük dengeleyici kaynağını oluşturma

az network lb create ile bir iç yük dengeleyici oluşturun.

  az network lb create \
    --resource-group load-balancer-cli-rg \
    --name load-balancer \
    --sku Standard \
    --vnet-name lb-vnet \
    --subnet backend-subnet \
    --backend-pool-name lb-backend-pool \
    --frontend-ip-name lb-frontend

Sağlık araştırması oluşturma

Sistem durumu yoklaması, ağ trafiği gönderebileceklerinden emin olmak için tüm sanal makine örneklerini denetler.

Başarısız yoklama denetimine sahip bir sanal makine yük dengeleyiciden kaldırılır. Hata giderildiğinde sanal makine yeniden yük dengeleyiciye eklenir.

az network lb probe create ile bir sağlık denetimi oluşturun.

  az network lb probe create \
    --resource-group load-balancer-cli-rg \
    --lb-name load-balancer \
    --name lb-health-probe \
    --protocol tcp \
    --port 80

Yük dengeleyici kuralı oluşturma

Yük dengeleyici kuralı şu tanımları tanımlar:

  • Gelen trafik için ön uç IP yapılandırması

  • Trafiği almak için arka uç IP havuzu

  • Gerekli kaynak ve hedef bağlantı noktası

az network lb rule create komutuyla bir yük dengeleyici kuralı oluşturun.

  az network lb rule create \
    --resource-group load-balancer-cli-rg \
    --lb-name load-balancer \
    --name lb-HTTP-rule \
    --protocol tcp \
    --frontend-port 80 \
    --backend-port 80 \
    --frontend-ip-name lb-frontend \
    --backend-pool-name lb-backend-pool \
    --probe-name lb-health-probe \
    --idle-timeout 15 \
    --enable-tcp-reset true

Ağ güvenlik grubu oluşturma

Standart yük dengeleyici için arka uç havuzundaki VM'lerin bir ağ güvenlik grubuna ait ağ arabirimlerine sahip olması gerekir.

Ağ güvenlik grubu oluşturmak için az network nsg create komutunu kullanın.

  az network nsg create \
    --resource-group load-balancer-cli-rg \
    --name lb-NSG

Ağ güvenlik grubu kuralı oluşturma

Ağ güvenlik grubu kuralı oluşturmak için az network nsg rule create komutunu kullanın.

  az network nsg rule create \
    --resource-group load-balancer-cli-rg \
    --nsg-name lb-NSG \
    --name lb-NSG-Rule \
    --protocol '*' \
    --direction inbound \
    --source-address-prefix '*' \
    --source-port-range '*' \
    --destination-address-prefix '*' \
    --destination-port-range 80 \
    --access allow \
    --priority 200

Arka uç sunucular oluşturma

Bu bölümde şunları oluşturursunuz:

  • Sanal makineler için iki ağ arabirimi

  • Yük dengeleyici için sunucu olarak kullanılacak iki sanal makine

Sanal makineler için ağ arabirimleri oluşturma

az network nic create ile iki ağ arabirimi oluşturun.

  array=(lb-nic-vm1 lb-nic-vm2)
  for vmnic in "${array[@]}"
  do
    az network nic create \
        --resource-group load-balancer-cli-rg \
        --name $vmnic \
        --vnet-name lb-vnet \
        --subnet backend-subnet \
        --network-security-group lb-NSG
  done

Sanal makineleri oluşturma

az vm create komutunu kullanarak sanal makineleri oluşturun.

  array=(1 2)
  for n in "${array[@]}"
  do
    az vm create \
    --resource-group load-balancer-cli-rg \
    --name lb-VM$n \
    --nics lb-nic-vm$n \
    --image win2022datacenter \
    --admin-username azureuser \
    --zone $n \
    --no-wait
  done

VM'lerin dağıtılması birkaç dakika sürebilir.

Not

Azure, kamuya açık IP adresi atanmamış veya bir iç temel Azure yük dengeleyicinin arka uç havuzunda bulunan VM'ler için varsayılan bir giden erişim IP'si sağlar. Varsayılan giden erişim IP mekanizması, yapılandırılamayan bir giden IP adresi sağlar.

Aşağıdaki olaylardan biri gerçekleştiğinde varsayılan giden erişim IP'si devre dışı bırakılır:

  • VM'ye bir genel IP adresi atanır.
  • VM, giden kuralları olan veya olmayan standart bir yük dengeleyicinin arka uç havuzuna yerleştirilir.
  • VM'nin alt ağına bir Azure NAT Gateway kaynağı atanır.

Sanal makine ölçek kümelerini esnek düzenleme modunda kullanarak oluşturduğunuz VM'lerin varsayılan giden erişimi yoktur.

Azure'daki giden bağlantılar hakkında daha fazla bilgi için bkz . Azure'da varsayılan giden erişim ve giden bağlantılar için Kaynak Ağ Adresi Çevirisi'ni (SNAT) kullanma.

Arka uç havuzuna sanal makine ekleme

az network nic ip-config address-pool add komutunu kullanarak sanal makineleri arka plan havuzuna ekleyin.

  array=(vm1 vm2)
  for vm in "${array[@]}"
  do
  az network nic ip-config address-pool add \
   --address-pool lb-backend-pool \
   --ip-config-name ipconfig1 \
   --nic-name lb-nic-$vm \
   --resource-group load-balancer-cli-rg \
   --lb-name load-balancer
  done

NAT ağ geçidi oluşturma

Arka uç havuzundaki kaynaklara giden İnternet erişimi sağlamak için bir NAT ağ geçidi oluşturun.

Genel IP oluşturma

Giden bağlantı için tek bir IP oluşturmak için az network public-ip create komutunu kullanın.

  az network public-ip create \
    --resource-group load-balancer-cli-rg \
    --name nat-gw-public-ip \
    --sku Standard \
    --zone 1 2 3

NAT ağ geçidi kaynağı oluşturma

NAT ağ geçidi kaynağını oluşturmak için az network nat gateway create komutunu kullanın. Önceki adımda oluşturulan genel IP, NAT ağ geçidiyle ilişkilendirilir.

  az network nat gateway create \
    --resource-group load-balancer-cli-rg \
    --name lb-nat-gateway \
    --public-ip-addresses nat-gw-public-ip \
    --idle-timeout 10

NAT ağ geçidini alt ağ ile ilişkilendirme

Belirli bir NAT ağ geçidi kaynağını kullanmak üzere sanal ağdaki kaynak alt ağı yapılandırmak için az network vnet subnet update komutunu kullanın.

  az network vnet subnet update \
    --resource-group load-balancer-cli-rg \
    --vnet-name lb-vnet \
    --name backend-subnet \
    --nat-gateway lb-nat-gateway

Test sanal makinesi oluşturma

az network nic create ile ağ arabirimini oluşturun.

  az network nic create \
    --resource-group load-balancer-cli-rg \
    --name lb-nic-testvm \
    --vnet-name lb-vnet \
    --subnet backend-subnet \
    --network-security-group lb-NSG

az vm create ile sanal makineyi oluşturun.

  az vm create \
    --resource-group load-balancer-cli-rg \
    --name lb-TestVM \
    --nics lb-nic-testvm \
    --image Win2019Datacenter \
    --admin-username azureuser \
    --no-wait

Sanal makinenin dağıtılması için birkaç dakika beklemeniz gerekebilir.

IIS yükleme

az vm extension set komutunu kullanarak arka uçtaki sanal makinelerde IIS yükleyin ve varsayılan web sitesini bilgisayar adına ayarlayın.

  array=(lb-VM1 lb-VM2)
    for vm in "${array[@]}"
    do
     az vm extension set \
       --publisher Microsoft.Compute \
       --version 1.8 \
       --name CustomScriptExtension \
       --vm-name $vm \
       --resource-group load-balancer-cli-rg \
       --settings '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}'
  done

Yük dengeleyiciyi test etme

  1. Azure portalda oturum açın.

  2. Genel Bakış sayfasında yük dengeleyicinin özel IP adresini bulun. Soldaki menüde Tüm hizmetler>Tüm kaynaklar>yük dengeleyici'yi seçin.

  3. yük dengeleyici genel bakışında, Özel IP Adresi'nin yanındaki adresi kopyalayın. Özel IP adresi görünmüyorsa Daha fazlasını gör.

  4. Soldaki menüde Tüm hizmetler Kaynaklar listesinde , load-balancer-cli-rg kaynak grubunda lb-TestVM'yi seçin.

  5. Genel Bakış sayfasında Bastion'a.

  6. VM'yi oluştururken girdiğiniz kullanıcı adını ve parolayı girin.

  7. lb-TestVM'deInternet Explorer açın.

  8. Önceki adımdaki IP adresini tarayıcının adres çubuğuna girin. IIS web sunucusunun varsayılan sayfası tarayıcıda gösterilir.

    Tarayıcının adres çubuğundaki IP adresinin ekran görüntüsü.

Kaynakları temizleme

Kaynaklarınız artık gerekli olmadığında az group delete komutunu kullanarak kaynak grubunu, yük dengeleyiciyi ve tüm ilgili kaynakları kaldırın.

  az group delete \
    --name load-balancer-cli-rg

Sonraki adımlar

Bu hızlı başlangıçta:

  • İç yük dengeleyici oluşturdunuz

  • İki sanal makine eklendi

  • Yük dengeleyici trafik kuralı ve sağlık yoklaması yapılandırıldı

  • Yük dengeleyiciyi test etti

Azure Load Balancer hakkında daha fazla bilgi edinmek için devam edin: