Arka plan havuzu yönetimi

Arka uç havuzu, yük dengeleyicinin kritik bir bileşenidir. Arka uç havuzu, belirli bir yük dengeleme kuralı için trafiğe hizmet eden kaynak grubunu tanımlar.

Arka uç havuzunu yapılandırmanın iki yolu vardır:

  1. Ağ Arabirim Kartı (NIC)

  2. IP address

Sanal makineler ve Sanal Makine Ölçek Kümeleri'i içeren IP adres aralığına sahip bir arka uç havuzunu önceden tahsis etmek için, havuzu IP adresi ve sanal ağ kimliğine göre yapılandırın. IP tabanlı backend havuzları Standart Load Balancer gerektirir.

Bu makale, IP tabanlı arka uç havuzlarının yapılandırmasına odaklanmaktadır.

Arka uç havuzunu IP adresine ve sanal ağa göre yapılandırma

Önceden doldurulmuş arka uç havuzları olan durumlarda, IP adresleri ve sanal ağ kullanın.

Başlamadan önce şunların olduğundan emin olun:

  • Mevcut bir Standart Load Balancer ve sanal ağ.
  • Arka uç kaynakları, yük dengeleyiciyle aynı sanal ağda.
  • Yük dengeleyici, ağ arayüzü ve sanal makine kaynakları oluşturma veya güncelleme izni.
  • Kullandığınız araç için kimlik doğrulamalı Azure PowerShell veya Azure CLI oturumu.

Arka uç havuzu nesnesinde arka uç havuzu yönetimini aşağıdaki örneklerde vurgulandığı gibi yapılandırabilirsiniz.

PowerShell

Yeni bir arka uç havuzu oluşturun:

$be = @{
    ResourceGroupName = 'myResourceGroup'
    LoadBalancerName = 'myLoadBalancer'
    Name = 'myBackendPool'
}
$backendPool = New-AzLoadBalancerBackendAddressPool @be

Arka uç havuzunu mevcut sanal ağdan yeni bir IP ile güncelleştirin:

$vnet = @{
    Name = 'myVnet'
    ResourceGroupName = 'myResourceGroup'
}
$virtualNetwork = Get-AzVirtualNetwork @vnet

$add1 = @{
    IpAddress = '10.0.0.5'
    Name = 'TestVNetRef'
    VirtualNetworkId = $virtualNetwork.Id
}
$ip1 = New-AzLoadBalancerBackendAddressConfig @add1
 
$backendPool.LoadBalancerBackendAddresses.Add($ip1) 

Set-AzLoadBalancerBackendAddressPool -InputObject $backendPool

Arka uç adreslerinin arka uç havuzuna eklendiğini onaylamak için yük dengeleyicinin arka uç havuzu bilgilerini alın:

$pool = @{
    ResourceGroupName = 'myResourceGroup'
    LoadBalancerName = 'myLoadBalancer'
    Name = 'myBackendPool'
}
Get-AzLoadBalancerBackendAddressPool @pool

Bir ağ arabirimi oluşturun ve arka uç havuzuna ekleyin. IP adresini arka uç adreslerinden birine ayarlayın:

$net = @{
    Name = 'myNic'
    ResourceGroupName = 'myResourceGroup'
    Location = 'eastus'
    PrivateIpAddress = '10.0.0.5'
    Subnet = $virtualNetwork.Subnets[0]
}
$nic = New-AzNetworkInterface @net

Bir VM oluşturun ve arka uç havuzuna IP adresiyle NIC ekleyin:

# Create a username and password for the virtual machine
$cred = Get-Credential

# Create a virtual machine configuration
$net = @{
    Name = 'myNic'
    ResourceGroupName = 'myResourceGroup'
}
$nic = Get-AzNetworkInterface @net

$vmc = @{
    VMName = 'myVM1'
    VMSize = 'Standard_DS1_v2'
}

$vmos = @{
    ComputerName = 'myVM1'
    Credential = $cred
}

$vmi = @{
    PublisherName = 'MicrosoftWindowsServer'
    Offer = 'WindowsServer'
    Skus = '2019-Datacenter'
    Version = 'latest'
}
$vmConfig = 
New-AzVMConfig @vmc | Set-AzVMOperatingSystem -Windows @vmos | Set-AzVMSourceImage @vmi | Add-AzVMNetworkInterface -Id $nic.Id


# Create a virtual machine using the configuration
$vm = @{
    ResourceGroupName = 'myResourceGroup'
    Zone = '1'
    Location = 'eastus'
    VM = $vmConfig

}
$vm1 = New-AzVM @vm

CLI

Azure CLI kullanarak, IP tabanlı arka uç havuzunu komut satırı parametreleri veya JSON yapılandırma dosyası aracılığıyla doldurabilirsiniz.

Azure CLI ile IP tabanlı backend havuzu oluşturun

Komut satırı parametreleri aracılığıyla arka uç havuzunu oluşturun ve doldurun:

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool \
--vnet {VNET resource ID} \
--backend-address name=addr1 ip-address=10.0.0.4 \
--backend-address name=addr2 ip-address=10.0.0.5

JSON yapılandırma dosyası aracılığıyla Arka Uç Havuzu oluşturun ve doldurun:

az network lb address-pool create \
--resource-group myResourceGroup \
--lb-name myLB \
--name myBackendPool \
--vnet {VNET resource ID} \
--backend-address-config-file @config_file.json

JSON yapılandırma dosyası:

        [
          {
            "name": "address1",
            "virtualNetwork": "/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/virtualNetworks/{vnet-name}",
            "ipAddress": "10.0.0.4"
          },
          {
            "name": "address2",
            "virtualNetwork": "/subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/virtualNetworks/{vnet-name}",
            "ipAddress": "10.0.0.5"
          }
        ]

Backend adreslerini Azure CLI ile doğrulayın

Arka uç adreslerinin arka uç havuzuna eklendiğini onaylamak için yük dengeleyicinin arka uç havuzu bilgilerini alın:

az network lb address-pool show \
--resource-group myResourceGroup \
--lb-name MyLb \
--name MyBackendPool

Azure CLI ile bir ağ arayüzü oluştur

Bir ağ arabirimi oluşturun ve arka uç havuzuna ekleyin. IP adresini arka uç adreslerinden birine ayarlayın:

az network nic create \
  --resource-group myResourceGroup \
  --name myNic \
  --vnet-name myVnet \
  --subnet mySubnet \
  --network-security-group myNetworkSecurityGroup \
  --lb-name myLB \
  --private-ip-address 10.0.0.4

Azure CLI ile bir virtual machine oluştur

Bir VM oluşturun ve arka uç havuzuna IP adresiyle NIC ekleyin:

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --nics myNic \
  --image Ubuntu2204 \
  --admin-username azureuser \
  --generate-ssh-keys

IP tabanlı arka uç havuzları için sınırlamalar

  • Sadece IP tabanlı arka uç havuzlarını Standart Yük Dengeleyicilerle kullanabilirsiniz.
  • Arka uç kaynakları, yük dengeleyiciyle aynı sanal ağda olmalıdır.
  • IP tabanlı bir backend havuzundaki backend örnekleri sanal makineler veya sanal makine ölçek kümeleri olmalıdır. Başka PaaS servislerini bağlayamazsınız.
  • IP tabanlı arka uç havuzuna sahip bir yük dengeleyici, Özel Bağlantı hizmeti olarak çalışamaz.
  • Private endpoint kaynaklarını IP tabanlı bir backend havuzuna yerleştiremezsiniz.
  • IP tabanlı backend havuzları ACI konteynerlerini desteklemez.
  • Yük dengeleyiciler veya Application Gateway gibi hizmetler, yük dengeleyicinin arka uç havuzuna yerleştirilemez.
  • Gelen NAT Kuralları IP adresiyle belirtilemez.
  • Aynı yük dengeleyici için hem IP tabanlı hem de NIC tabanlı arka uç havuzlarını yapılandırabilirsiniz. NIC ve IP adresi tarafından hedeflenen arka uç adreslerini aynı havuzda bir araya getiren tek bir arka uç havuzu oluşturamazsınız.
  • İç yük dengeleyici ile aynı sanal ağdaki bir sanal makine, ILB'nin ön ucuna ve arka uç VM'lerine aynı anda erişemez.
  • İnternet yönlendirme tercihi IP'leri şu anda IP tabanlı arka uç havuzlarıyla desteklenmiyor. IP tabanlı arka uç havuzlarında internet yönlendirme tercihi IP'leri kullanırsanız, bunlar varsayılan Microsoft küresel ağı üzerinden faturalandırılır ve yönlendirilir.
  • IP tabanlı arka uç havuzlarına bağlı VNET'lerde taşınma ile ilgili işlemler yapılması desteklenmiyor.
  • Arka uç havuzları sürekli değişiyorsa (arka uç kaynaklarının sürekli eklenmesi veya kaldırılması nedeniyle). Bu, arka uç kaynağından kaynağa geri gönderilen sıfırlama sinyallerine neden olabilir. Geçici bir çözüm olarak yeniden denemeleri kullanabilirsiniz.

Important

IP tabanlı bir arka uç havuzu hâlâ Standart Load Balancer gerektirir. Varsayılan çıkış davranışı, varsayılan çıkış erişimi etkinleştirildiği için Basic Load Balancer davranışına benzer. Bu ifade Basic Load Balancer'ın IP tabanlı arka uç havuzlarını desteklediği anlamına gelmez. Varsayılan olarak güvenli yapılandırmalar ve yüksek çıkış trafiği gereksinimleri olan uygulamalar için arka uç havuzunu NIC düzeyinde yapılandırın.

Sonraki Adımlar

Bu makalede, Azure Load Balancer arka uç havuzu yönetimi ve bir arka uç havuzunu IP adresine ve sanal ağa göre yapılandırmayı öğrendiniz.

Azure Load Balancer hakkında daha fazla bilgi edinin.

IP tabanlı backend havuz yönetimi için REST API'sini inceleyin.