Giden bağlantılar için Kaynak Ağ Adresi Çevirisi'nin (SNAT) kullanımı

Bazı senaryolar, sanal makinelerin veya işlem örneklerinin İnternet'e giden bağlantısına sahip olmak gerektirir. Azure genel yük dengeleyicinin ön uç IP'leri, arka uç örnekleri için İnternet'e giden bağlantı sağlamak için kullanılabilir. Bu yapılandırma, sanal makinenin özel IP'sini sanal makinenin genel IP adresine çevirmek için Load Balancer adresi çevirisi (SNAT) kullanır. SNAT, arka ucun IP adresini yük dengeleyicinizin genel IP adresiyle eşler. SNAT, dış kaynakların arka uç örneklerine doğrudan adrese sahip olması engel olur.

Azure'ın giden bağlantı yöntemleri

Azure'da İnternet'e giden bağlantı aşağıdaki yollarla etkinleştirilebilir:

# Yöntem Bağlantı noktası ayırma türü Üretim sınıfı? Derecelendirme
1 Giden kuralları aracılığıyla gidenler için bir Load Balancer uç IP adreslerini kullanma Statik, açık Evet, ancak büyük ölçekte değil Tamam
2 BIR NAT ağ geçidini alt ağ ile irdele Statik, açık Yes En iyi
3 Sanal Makineye Genel IP Atama Statik, açık Yes Tamam
4 Varsayılan giden erişimi kullanma Örtük No Kötü

1. Giden kuralları aracılığıyla gidenler için yük dengeleyicinin ön uç IP adresini kullanma

Giden kuralları, Standart Genel Erişim için SNAT'yi (kaynak ağ adresi çevirisi) açıkça tanımlama Load Balancer. Bu yapılandırma, arka uç örneklerinin giden bağlantısı için yük dengeleyicinizin genel IP'sini veya IP'lerini kullanmanızı sağlar.

Bu yapılandırma şunları sağlar:

  • IP maskesini maskele
  • İzin verme listelerinizi basitleştirme
  • Dağıtım için genel IP kaynaklarının sayısını azaltır

Giden kurallarıyla, giden İnternet bağlantısı üzerinde tam bildirimli denetime sahip oluruz. Giden kuralları, el ile bağlantı noktası ayırma yoluyla bu özelliği ölçeklendirmenize ve belirli ihtiyaçlarınıza göre ayarlamanıza olanak sağlar. Arka uç havuzu boyutuna ve frontendIPConfigurations sayısına bağlı olarak SNAT bağlantı noktasını el ile birlikte bulundurarak SNAT tükenmesi önleyebilirsiniz.

SNAT bağlantı noktalarını "örnek başına bağlantı noktaları" veya "en fazla arka uç örneği sayısı" ile el ile ayırabilirsiniz. Arka uçta Sanal Makineler varsa, en fazla SNAT bağlantı noktası kullanımı elde etmek için bağlantı noktalarını "örnek başına bağlantı noktalarına" göre ayırmayı öneririz.

Örnek başına bağlantı noktası sayısı aşağıdaki gibi hesaplanması gerekir:

Ön uç IP sayısı * 64.000 / Arka uç örneği sayısı

Arka uçta Sanal Makine Ölçek Kümeleri varsa, bağlantı noktalarını "en fazla arka uç örneği sayısı" değerine göre ayırmanız önerilir. Arka sona izin verilen diğer SNAT bağlantı noktalarından daha fazla VM eklenirse, sanal makine ölçek kümesi ölçeğini genişletme engellenmiş olabilir veya yeni VM'ler yeterli SNAT bağlantı noktalarını almayacak olabilir.

Giden kuralları hakkında daha fazla bilgi için bkz. Giden kuralları.

2. Bir NAT ağ geçidini alt ağ ile irdele

Sanal Ağ Adres Çevirisi sanal ağlar için yalnızca giden İnternet bağlantısını basitleştiriyor. Bir alt ağda yapılandırıldığında, tüm giden bağlantılarda belirttiğiniz statik genel IP adresleri kullanılır. Yük dengeleyici veya genel IP adresleri doğrudan sanal makinelere bağlı olmadan giden bağlantı mümkündür. NAT tam olarak yönetilir ve yüksek oranda deyazlıdır.

NAT ağ geçidi kullanmak, giden bağlantı için en iyi yöntemdir. NAT ağ geçidi yüksek oranda genişletilebilir, güvenilirdir ve SNAT bağlantı noktası tükenmesi ile aynı endişeye sahip değildir.

Daha fazla bilgi için Azure Sanal Ağ Adres Çevirisi bkz. Azure Sanal Ağ Adres Çevirisi.

3. Sanal makineye genel IP atama

Dernek Yöntem IP protokolleri
VM'nin NIC'leri üzerinde genel IP SNAT (Kaynak Ağ Adresi Çevirisi)
kullanılamaz.
TCP (İletim Denetimi Protokolü)
UDP (Kullanıcı Veri Birimi Protokolü)
ICMP (İnternet Denetim İletisi Protokolü)
ESP (Güvenlik Yükünü Kapsülleme)

Trafik, sanal makinenin genel IP adresinden (Örnek Düzeyi IP) istekte geçen istemciye geri döner.

Azure, tüm giden akışlar için örneğin NIC'sini IP yapılandırmasına atanan genel IP'yi kullanır. Örnekte tüm kısa ömürlü bağlantı noktaları kullanılabilir. VM'nin yük dengeli olup olmadığı önemli değildir. Bu senaryo diğerlerine göre önceliklidir.

Bir VM'ye atanan genel IP 1:1 ilişkisidir (1 yerine: çok) ve durum bilgisiz 1:1 NAT olarak uygulanır.

4. Varsayılan Giden Erişim

Not

Bu yöntem, bağlantı noktalarının tükenme riskini artıran üretim iş yükleri için önerilmez. Olası bağlantı hatalarından kaçınmak için üretim iş yükleri için bu yöntemi kullanmaktan kaçının.

Genel IP adresine sahip olan, önünde Giden Kuralları olan bir Load Balancer olan bir Azure kaynağı yok, sanal makine ölçek kümeleri esnek düzenleme modunun parçası değildir veya alt ağıyla ilişkilendirilmiş bir NAT ağ geçidi kaynağına giden bağlantı noktası için en az sayıda bağlantı noktası ayrılır. Bu erişim Varsayılan Giden Erişim olarak bilinir ve uygulamalarınız için giden bağlantı sağlamanın en kötü yöntemidir.

Varsayılan Giden Erişime diğer örneklerden bazıları:

  • Temel Load Balancer
  • Azure'da bir sanal makine (yukarıda belirtilen ilişkilendirmeler olmadan). Bu durumda giden bağlantı Varsayılan Giden Erişim IP'si tarafından sağlanır. Bu IP, Azure tarafından kontrol altına alamayabilirsiniz dinamik bir IP'dir. Varsayılan SNAT üretim iş yükleri için önerilmez ve bağlantı hatalara neden olabilir.
  • Giden kuralları olmayan bir sanal makinenin arka Load Balancer VM. Sonuç olarak, giden ve gelen için bir yük dengeleyicinin ön uç IP adresini kullanır ve SNAT bağlantı noktası tükenmesi nedeniyle bağlantı hatalarında daha fazla açık olur.

SNAT bağlantı noktaları nedir?

Bağlantı noktaları, ayrı akışları korumak için kullanılan benzersiz tanımlayıcılar oluşturmak için kullanılır. İnternet bu ayrımı sağlamak için beşli bir tuple kullanır.

Gelen bağlantılar için bir bağlantı noktası kullanılıyorsa, bu bağlantı noktası üzerinde gelen bağlantı istekleri için bir dinleyicisi vardır. Bu bağlantı noktası giden bağlantılar için kullanılamaz. Giden bağlantı kurmak için, hedefe iletişim kurulacak ve ayrı bir trafik akışının korunacak bir bağlantı noktası sağlamak için kısa ömürlü bağlantı noktası kullanılır. Bu kısa ömürlü bağlantı noktaları SNAT için kullanılırken, bunlara SNAT bağlantı noktaları denir.

Tanım gereği, her IP adresinin 65.535 bağlantı noktası vardır. Her bağlantı noktası TCP (İletim Denetimi Protokolü) ve UDP (Kullanıcı Veri Birimi Protokolü) için gelen veya giden bağlantılar için kullanılabilir. Yük dengeleyiciye ön uç IP adresi olarak genel IP adresi ekleniyorsa, 64.000 bağlantı noktası SNAT için uygun olur. Ön uç IP'leri olarak eklenen tüm genel IP'ler ayrılırken, ön uç IP'leri tek tek tüketilir. Örneğin, iki arka uç örneğine 64.000 bağlantı noktası ayrılmışsa, 2 ön uç IP erişimi olan her iki arka uç, tüm 64.000 bağlantı noktaları tükenene kadar ilk ön uç IP 'sinden bağlantı noktalarını kullanır.

Yük Dengeleme veya gelen NAT kuralı için kullanılan bağlantı noktası 64.000 bağlantı noktalarından sekiz bağlantı noktası kullanır. Bu kullanım, SNAT için uygun bağlantı noktası sayısını azaltır. Bir yük dengeleme veya gelen NAT kuralı, diğeri aynı sekiz aralıkta ise, ek bağlantı noktaları kullanmaz.

Varsayılan SNAT nasıl çalışır?

Bir VM bir giden akış oluşturduğunda, Azure Kaynak IP adresini kısa ömürlü bir IP adresine dönüştürür. Bu çeviri, SNAT aracılığıyla yapılır.

Genel bir Load Balancer üzerinden giden kuralları olmadan SNAT kullanılıyorsa, SNAT bağlantı noktaları aşağıdaki varsayılan SNAT bağlantı noktaları ayırma tablosunda açıklandığı şekilde önceden ayrılır.

Varsayılan bağlantı noktası ayırma tablosu

Aşağıdaki tabloda, arka uç havuz boyutları IÇIN SNAT bağlantı noktası ön ayırmaları gösterilmektedir:

Havuz boyutu (VM örnekleri) IP yapılandırması başına varsayılan SNAT bağlantı noktaları
1-50 1.024
51-100 512
101-200 256
201-400 128
401-800 64
801-1000 32

Bağlantı noktaları tüketilme

Aynı hedef IP ve hedef bağlantı noktasına yapılan her bağlantı için bir SNAT bağlantı noktası kullanılır. Bu bağlantı, arka uç örneğinden veya istemcisinden bir sunucuya ayrı bir trafik akışı sağlar. Bu işlem, sunucuya trafiğin ele alınacağı ayrı bir bağlantı noktası sağlar. Bu işlem olmadan, istemci makinesi bir paketin bir parçası olduğu farkında değildir.

birden çok tarayıcıyla karşılaşmaktan Imagine https://www.microsoft.com :

  • Hedef IP = 23.53.254.142
  • Hedef bağlantı noktası = 443
  • Protokol = TCP

Geri dönüş trafiği için farklı hedef bağlantı noktaları olmadan (bağlantıyı kurmak için kullanılan SNAT bağlantı noktası), istemcinin bir sorgu sonucunu başka bir şekilde ayırabilmeyecektir.

Giden bağlantılar veri bloğu alabilir. Bir arka uç örneğine yetersiz bağlantı noktası tahsis edilebilir. Uygulamanızın içinde bağlantı yeniden kullanma işlevini kullanın. Bağlantı yeniden kullanımı olmadan, SNAT bağlantı noktası tükenmesi riski artar. Azure App Service ile bağlantı havuzu oluşturma hakkında daha fazla bilgi için bkz. Azure App Service 'de aralıklı giden bağlantı hatalarında sorun giderme

Bağlantı noktası tükenmesi gerçekleştiğinde, hedef IP 'ye yönelik yeni giden bağlantılar başarısız olur. Bağlantı noktası kullanılabilir olduğunda bağlantı başarılı olur. Bu tükenme, bir IP adresinden 64.000 bağlantı noktası birçok arka uç örneğine ince yayıldığı zaman meydana gelir. SNAT bağlantı noktası tükenmesi 'ni azaltma hakkında yönergeler için bkz. sorun giderme kılavuzu.

TCP bağlantılarında, yük dengeleyici her hedef IP ve bağlantı noktası için tek bir SNAT bağlantı noktası kullanır. Bu Multiuse aynı SNAT bağlantı noktasıyla aynı hedef IP 'ye birden çok bağlantı sağlar. Bağlantı farklı hedef bağlantı noktalarına değilse bu Multiuse sınırlı olur.

UDP bağlantılarında, yük dengeleyici hedef bağlantı noktasına her ne kadar hedef IP başına bir SNAT bağlantı noktası tüketen bir bağlantı noktası kısıtlanmış konı NAT algoritması kullanır.

Bağlantı noktası sınırsız sayıda bağlantı için yeniden kullanılır. Bağlantı noktası yalnızca hedef IP veya bağlantı noktası farklı olduğunda yeniden kullanılır.

Kısıtlamalar

  • Bir bağlantı yeni paket gönderilmeden boşta kaldığında, bağlantı noktaları 4 – 120 dakika sonra serbest bırakılır.
  • Bu eşik, giden kuralları aracılığıyla yapılandırılabilir.
  • Her IP adresi, SNAT için kullanılabilecek 64.000 bağlantı noktası sağlar.
  • Her bağlantı noktası, hedef IP adresine yönelik TCP ve UDP bağlantıları için kullanılabilir
  • Hedef bağlantı noktasının benzersiz olup olmadığı bir UDP SNAT bağlantı noktası gerekir. Bir hedef IP 'ye yönelik her UDP bağlantısı için, bir UDP SNAT bağlantı noktası kullanılır.
  • Bir TCP SNAT bağlantı noktası, hedef bağlantı noktaları farklı olduğundan aynı hedef IP 'ye birden fazla bağlantı için kullanılabilir.
  • SNAT tükenmesi, bir arka uç örneği verilen SNAT bağlantı noktalarından çıktığında oluşur. Yük dengeleyici hala kullanılmayan SNAT bağlantı noktalarına sahip olabilir. Bir arka uç örneğinin kullanılan SNAT bağlantı noktaları, belirtilen SNAT bağlantı noktalarını aşarsa, yeni giden bağlantılar kurulamaz.
  • SANAL makinenin NIC 'inde bir örnek düzeyi genel IP 'si üzerinden gelmediği takdirde parçalanmış paketler bırakılır.
  • Bir ağ arabiriminin ikincil IP yapılandırmalarının, Load Balancer aracılığıyla giden iletişim (ortak IP ilişkilendirilmedikçe) yoktur.

Sonraki adımlar