Gelen NAT kuralları sürüm 1'den sürüm 2'ye geçiş

Gelen NAT kuralı, yük dengeleyicinin ön ucundaki trafiği arka uç havuzundaki bir veya daha fazla örneğe iletmek için kullanılır. Bu kurallar yük dengeleyicinin ön uç IP adresi ile arka uç örnekleri arasında 1:1 eşlemesi sağlar. Şu anda gelen NAT kurallarının iki sürümü bulunur: sürüm 1 ve sürüm 2.

Önemli

30 Eylül 2027'de Inbound NAT Havuzları (Gelen NAT Kuralları V1'in Azure Sanal Makine Ölçek Kümeleri'e özgü özelliği) kullanımdan kaldırılacaktır. Şu anda Sanal Makine Ölçek Kümeleri ile Gelen NAT Havuzları kullanıyorsanız, kullanımdan kaldırma tarihinden önce Gelen NAT kuralları V2'ye geçin. Tek VM için V1 gelen NAT kuralları bu kullanımdan kaldırılmadan etkilenmez ve taşınmaları gerekmez.

NAT kuralı sürüm 1

Gelen NAT kurallarının sürüm 1'i iki ayrı özellik içerir:

  • Tek sanal makine için gelen NAT kuralları — Yük dengeleyici ön uç IP’si/bağlantı noktası ile belirli bir sanal makine arasında 1:1 bağlantı noktası eşlemesi sağlar. Kurallar doğrudan VM'nin ağ arabirimi kartına (NIC) uygulanır. Bunlar kullanımdan kaldırılmıyor ve taşınması gerekmiyor.

  • Gelen NAT Havuzları (yalnızca Sanal Makine Ölçek Kümeleri için) — Bu, Azure Load Balancer'ın ön uç bağlantı noktasını her arka uç örneğine atamak için kullanılan eski yöntemdir. Gelen NAT kuralları, ölçek kümesi büyütülüp küçültüldükçe her Sanal Makine Ölçek Kümesi örneği için otomatik olarak oluşturulur ve silinir. NAT Havuzları yük dengeleyicide tanımlanır ve Sanal Makine Ölçek Kümeleri NIC yapılandırmasında loadBalancerInboundNatPools özelliği üzerinden referans verilir. Bunlar 30 Eylül 2027'de kullanımdan kaldırılıyor ve Gelen NAT kuralları V2'ye geçirilmelidir.

NAT kuralı sürüm 2

Gelen NAT kurallarının 2. sürümü, sürüm 1 ile aynı özellik kümesini sağlar ve ek avantajlar sunar.

  • Basitleştirilmiş dağıtım deneyimi ve iyileştirilmiş güncelleştirmeler.
    • Gelen NAT kuralları artık yük dengeleyicinin arka uç havuzunu hedefler ve artık sanal makinenin NIC'sinde başvuru gerektirmez. Daha önce sürüm 1'de, Gelen NAT kuralı her değiştirildiğinde hem yük dengeleyicinin hem de sanal makinenin NIC'sinin güncelleştirilmiş olması gerekiyordu. Sürüm 2, yük dengeleyici yapılandırmasında yalnızca tek bir çağrı gerektirir ve bu da iyileştirilmiş güncelleştirmelerle sonuçlanır.
  • Gelen NAT kuralları ile arka uç örnekleri arasındaki bağlantı noktası eşlemesini kolayca görüntüleyin.
    • Eski çözümde, bir Gelen NAT kuralı ile bir sanal makine örneği arasındaki bağlantı noktası eşlemesini elde etmek için, kuralın sanal makinenin NIC’iyle ilişkilendirilmesi gerekirdi. Sürüm 2, kural ve arka uç örneği arasındaki bağlantı noktası eşlemesini doğrudan yük dengeleyici yapılandırmasına ekler.

Gelen NAT kurallarının 1. sürümünü kullanıp kullanmadığımı nasıl anbilirim?

Dağıtımlarınızın özelliğin 1. sürümünü kullanıp kullanmadiğini belirlemenin en kolay yolu yük dengeleyicinin yapılandırmasını incelemektir. Sürüm 1 NAT kurallarının Tür değeri Azure Sanal Makinesi'dir ve Hedef sanal makine değeri tanımlıdır.

Azure portalındaki NAT kuralı sürüm 1 yapılandırmasının ekran görüntüsü.

Sürüm 2 NAT kuralları için Tür değeri, tanımlı bir Hedef arka uç havuzu değeriyle Arka uç havuzu olacaktır.

Azure portalındaki NAT kuralı sürüm 2 yapılandırmasının ekran görüntüsü.

Bir dağıtımın Gelen NAT kurallarının 1. sürümünü kullanıp kullanmadığını program aracılığıyla belirlemek için Azure CLI veya PowerShell kullanarak yük dengeleyicinin yapılandırmasını inceleyin. Yapılandırmadaki backendIPConfigurationInboundNATRule özelliklerden biri doldurulmuşsa, dağıtım Gelen NAT kurallarının 1. sürümüdür. Sürüm 2 kuralları, backendAddressPool özelliği yerine backendIPConfiguration özelliğine sahip olacaktır.

Gelen NAT Havuzları kullanıp kullanmadığımı nasıl anlarım?

Yük dengeleyicinizde Gelen NAT Havuzlarının yapılandırılmış olup olmadığını denetlemek için:

az network lb inbound-nat-pool list -g MyResourceGroup --lb-name MyLoadBalancer

Yukarıdaki komutlar herhangi bir sonuç döndürürse, yük dengeleyiciniz Gelen NAT Havuzları kullanıyor demektir ve taşınmalıdır.

Temel fark, ARM özellik adıdır: Gelen NAT Havuzları yük dengeleyicideki inboundNatPools özelliği altında görünürken, Gelen NAT kuralları inboundNatRules özelliği altında görünür. Yük dengeleyicinizin inboundNatPools dizisi boş değilse, Inbound NAT Pools kullanıyor demektir ve 30 Eylül 2027'den önce V2'ye geçirilmelidir.

Note

Yük dengeleyicinizde yalnızca tek VM Gelen NAT kuralları (Tür = "Azure Sanal Makine") bulunuyor ve Gelen NAT Havuzları yoksa, geçiş yapmanız gerekmez. Tek VM V1 kuralları kullanımdan kaldırılmıyor.

Gelen NAT Havuzlarından sürüm 2'ye nasıl geçiş yapılır?

Geçiş öncesinde aşağıdaki bilgileri gözden geçirmek önemlidir:

  • İçeriye yönelik NAT kurallarının 2. sürümüne geçiş, NAT kurallarından geçen aktif trafikte kesintiye neden olur. Yük dengeleyici kuralları veya giden kuralları üzerinden geçen trafik, geçiş süreci sırasında etkilenmez.
  • Arka uç havuzundaki azami örnek sayısını planlayın. Sürüm 2 yük dengeleyicinin arka uç havuzunu hedeflediğinden NAT kuralının ön ucu için yeterli sayıda bağlantı noktası ayrılması gerekir.
  • Her bir arka uç örneği, yeni NAT kuralında yapılandırılan bağlantı noktası üzerinden erişime açılır.
  • Çakışan bir bağlantı noktası aralığına sahipse veya aynı arka uç bağlantı noktasına sahipse birden çok NAT kuralı mevcut olamaz.
  • NAT kuralları ve yük dengeleme kuralları aynı arka uç bağlantı noktasını paylaşamaz.

Manuel Taşıma

Aşağıdaki üç adım, Gelen NAT Havuzlarını Gelen NAT kurallarının 2. sürümüne taşımaktadır. Tek bir VM Gelen NAT kuralı V1 bu adımları gerektirmez.

  1. Yük dengeleyicinin konfigürasyonundaki Gelen NAT Havuzunu silin.
  2. Sanal makine ölçek seti ağ arayüzü yapılandırmasındaki referansı loadBalancerInboundNatPools kaldırın.
    • Tüm sanal makine ölçek kümesi örneklerini güncelleyin.
  3. Gelen NAT kurallarının 2. sürümünü yük dengeleyicinin arka uç havuzuna uygula.

Sanal Makine Ölçek Kümesi

Önemli

Bu, Gelen NAT Havuzlarının kullanımdan kaldırılması için gerekli geçiş yoludur. Gelen NAT Havuzları kullanan tüm Sanal Makine Ölçek Kümesi dağıtımlarının bu geçişi 30 Eylül 2027'ye kadar tamamlaması gerekir.

Aşağıdaki adımlar, bir sanal makine ölçek kümesi için Gelen NAT kurallarının 1. sürümünden sürüm 2'ye geçmek için kullanılır. Sanal makine ölçek kümesinin yükseltme modunun El ile olarak ayarlandığını varsayar. Daha fazla bilgi için bkz. Azure'da Sanal Makine Ölçek Kümeleri için düzenleme modları


az network lb inbound-nat-pool delete  -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatPool  

az vmss update -g MyResourceGroup -n MyVMScaleSet --remove virtualMachineProfile.networkProfile.networkInterfaceConfigurations[0].ipConfigurations[0].loadBalancerInboundNatPools  

az vmss update-instances --instance-ids '*' --resource-group MyResourceGroup --name MyVMScaleSet 

az network lb inbound-nat-rule create -g MyResourceGroup --lb-name MyLoadBalancer -n MyNatRule --protocol Tcp --frontend-port-range-start 201 --frontend-port-range-end 500 --backend-port 22 --backend-address-pool MybackendPool

Geçişi doğrulama

Her iki işlemi tamamladıktan sonra, üç sonucu da onaylayın:

  • Yük dengeleyicide artık Gelen NAT Havuzları yok. az network lb inbound-nat-pool list -g MyResourceGroup --lb-name MyLoadBalancer PowerShell'de boş bir sonuç döndürür veya $slb.InboundNatPools boş olur.
  • Yeni sürüm 2 kuralı, amaçlanan arka uç havuzunu hedefliyor. Kuralın Azure portalında bir Hedef arka uç havuzu değeri gösterdiğini veya backendAddressPool kural yapılandırmasında doldurulduğunu doğrulayın.
  • Beklenen port haritalamaları mevcut. Azure portalında, yeni gelen NAT kuralını açın ve her arka uç örneği için Port eşleme bölümünü inceleyin.

Sanal Makine Ölçek Kümesi için otomasyon betiğiyle geçiş

Taşıma işlemi, geçirilecek NAT havuzlarıyla üyeleri eşleşen mevcut arka uç havuzlarını yeniden kullanacaktır; eşleşen bir arka uç havuzu bulunamazsa betik, herhangi bir değişiklik yapmadan sonlanır. Alternatif olarak, her zaman yeni arka uç havuzları oluşturmak için -backendPoolReuseStrategy parametresini (NoReuse) ya da eşleşen bir havuz yoksa yeni bir arka uç havuzu oluşturmak için (OptionalFirstMatch) kullanın. Arka uç havuzları ve NAT Kuralı ilişkilendirmeleri, geçiş sonrasında tercihinize uyacak şekilde güncelleştirilebilir.

Prerequisites

Geçiş işlemine başlamadan önce aşağıdaki önkoşulların karşılandığından emin olun:

AzureLoadBalancerNATPoolMigration Modülü yükleme

Aşağıdaki komutla PowerShell Galerisi AzureLoadBalancerNATPoolMigration modülünü yükleyin:

# Install the AzureLoadBalancerNATPoolMigration module

Install-Module -Name AzureLoadBalancerNATPoolMigration -Scope CurrentUser -Repository PSGallery -Force 

NAT Havuzlarını NAT Kurallarına Yükseltme

azureLoadBalancerNATPoolMigration Modül yüklendikten sonra aşağıdaki adımları izleyerek NAT Havuzlarınızı NAT Kurallarına yükseltin:

  1. Connect-AzAccount ile Azure bağlanın.

  2. NAT kuralları yükseltmesi için hedef yük dengeleyicisinin isimlerini ve kaynak grubu adını toplayın.

  3. <loadBalancerResourceGroupName> ve <loadBalancerName> yer tutucularını kaynak adlarınızla değiştirerek geçiş komutunu çalıştırın:

    # Run the migration command 
    
    Start-AzNATPoolMigration -ResourceGroupName <loadBalancerResourceGroupName> -LoadBalancerName <loadBalancerName>
    
    

Sonraki Adımlar