Giden bağlantılar için Kaynak Ağ Adresi Çevirisi'ni (SNAT) kullanma

Bazı senaryolar sanal makinelerin veya işlem örneklerinin İnternet'e giden bağlantıya sahip olmasını gerektirir. 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 yük dengeleyicinin genel IP adresine çevirmek için kaynak ağ adresi çevirisini (SNAT) kullanır. SNAT, arka ucun IP adresini yük dengeleyicinizin genel IP adresiyle eşleştirir. SNAT, dış kaynakların arka uç örneklerine doğrudan bir adres olmasını önler.

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

Azure'da giden bağlantıyı etkinleştirmek için aşağıdaki yöntemler kullanılır:

# Yöntem Bağlantı noktası ayırma türü Üretim sınıfı mı? Derecelendirme
1 Giden kuralları aracılığıyla giden için yük dengeleyicinin ön uç IP adreslerini kullanma Statik, açık Evet, ancak uygun ölçekte değil Tamam
2 NAT ağ geçidini alt ağ ile ilişkilendirme Dinamik, açık Evet En iyi
3 Sanal makineye genel IP atama Statik, açık Evet Tamam
4 Varsayılan giden erişim kullanımı Örtük Hayır Kötü

Azure giden seçeneklerinin diyagramı.

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

Giden kurallarıyla genel yük dengeleyiciyi diyagramla.

Giden kuralları, standart bir SKU genel yük dengeleyici için SNAT'yi (kaynak ağ adresi çevirisi) açıkça tanımlamanızı sağlar. Bu yapılandırma, arka uç örneklerinin giden bağlantısı için yük dengeleyicinizin genel IP'sini veya IP'lerini kullanmanıza olanak tanır.

Bu yapılandırma şunları etkinleştirir:

  • IP maskeleme

  • İzin verilenler 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 bildirim temelli denetime sahipsiniz. Giden kuralları, el ile bağlantı noktası ayırma yoluyla bu özelliği ölçeklendirmenize ve gereksinimlerinize göre ayarlamanıza olanak sağlar. Arka uç havuzu boyutuna ve ön uçIPConfigurations sayısına göre SNAT bağlantı noktasını el ile ayırma, SNAT tükenmesini önlemeye yardımcı olabilir.

SNAT bağlantı noktalarını "örnek başına bağlantı noktaları" veya "arka uç örneği sayısı üst sınırı" ile el ile ayırabilirsiniz. Arka uçta sanal makineleriniz 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ırmanız önerilir.

Örnek başına bağlantı noktaları aşağıdaki gibi hesaplanmalıdır:

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

Arka uçta Sanal Makine Ölçek Kümeleri varsa, bağlantı noktalarını "arka uç örneği sayısı üst sınırına" göre ayırmanız önerilir. Arka uçta kalan SNAT bağlantı noktalarından daha fazla VM eklenirse, sanal makine ölçek kümesi ölçeği artırma engellenebilir veya yeni VM'ler yeterli SNAT bağlantı noktalarını almaz.

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

2. Nat ağ geçidini alt ağ ile ilişkilendirme

NAT ağ geçidi ve genel yük dengeleyici diyagramı.

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

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

Azure Sanal Ağ NAT hakkında daha fazla bilgi için bkz. Azure Sanal Ağ NAT nedir?

3. Sanal makineye genel IP atama

Örnek düzeyinde genel IP adresleri olan sanal makinelerin diyagramı.

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

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

Azure, tüm giden akışlar için örneğin NIC'sinin 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 olmaması önemli değildir. Bu senaryo diğerlerinden önceliklidir.

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

4. Varsayılan giden erişim

Varsayılan giden erişimin diyagramı.

Not

Bu yöntem, üretim iş yükleri için önerilmez , bu nedenle bağlantı noktalarının tükenme riski artar. Olası bağlantı hatalarını önlemek için lütfen üretim iş yükleri için bu yöntemi kullanmaktan kaçının.

Kendisiyle ilişkilendirilmiş genel IP'ye sahip olmayan, önünde giden Kuralları olan bir yük dengeleyicisi olmayan, sanal makine ölçek kümeleri esnek düzenleme modunun parçası olmayan veya alt ağıyla ilişkilendirilmiş bir NAT ağ geçidi kaynağına sahip olmayan tüm Azure kaynaklarına giden bağlantı noktaları 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ıza giden bağlantı sağlamak için en kötü yöntemdir.

Diğer bazı varsayılan giden erişim örnekleri şunlardır:

  • Temel SKU yük dengeleyici kullanımı
  • 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 atanan ve denetleyemezsiniz. Üretim iş yükleri için varsayılan SNAT önerilmez ve bağlantı hatalarına neden olabilir.
  • Giden kuralları olmayan bir yük dengeleyicinin arka uç havuzundaki bir sanal makine. Sonuç olarak, giden ve gelen için yük dengeleyicinin ön uç IP adresini kullanırsınız ve SNAT bağlantı noktası tükenmesinden kaynaklanan bağlantı hatalarına daha yatkınsınız.

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 tanımlama grubu kullanır.

Gelen bağlantılar için bir bağlantı noktası kullanılıyorsa, bu bağlantı noktasında 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 kısa ömürlü bağlantı noktası , hedefte iletişim kuracak ve ayrı bir trafik akışının tutulacak bir bağlantı noktası sağlamak için kullanılır. Bu kısa ömürlü bağlantı noktaları SNAT için kullanıldığında SNAT bağlantı noktaları olarak adlandırılır.

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 olarak genel IP adresi eklendiğinde 64.000 bağlantı noktası SNAT için uygundur. Ön uç IP'leri olarak eklenen tüm genel IP'ler ayrılasa da, ön uç IP'leri birer birer tüketilir. Örneğin, her iki arka uç örneğine iki ön uç IP'sine erişimle birlikte 64.000 bağlantı noktası ayrılırsa, her iki arka uç örneği de 64.000 bağlantı noktasının tümü tükenene kadar ilk ön uç IP'sinden bağlantı noktalarını kullanır.

Yük dengeleme veya gelen NAT kuralında kullanılan her bağlantı noktası, kullanılabilir 64.000 SNAT bağlantı noktasından sekiz bağlantı noktası aralığı kullanır. Bu kullanım, giden bağlantı için aynı ön uç IP'sinin kullanılması durumunda SNAT için uygun bağlantı noktalarının sayısını azaltır. Yük dengeleme veya gelen NAT kurallarında kullanılan bağlantı noktaları başka bir kural tarafından kullanılan sekiz bağlantı noktasının aynı bloğundaysa, fazladan bağlantı noktası gerektirmez.

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

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

Genel yük dengeleyici aracılığıyla 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ığı gibi önceden ayrılır.

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

Aşağıdaki tabloda arka uç havuzu boyutları için SNAT bağlantı noktası ön yüklemeleri 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-1,000 32

Bağlantı noktası tükenmesi

Aynı hedef IP ve hedef bağlantı noktasına yapılan her bağlantıda bir SNAT bağlantı noktası kullanılır. Bu bağlantı, arka uç örneğinden veya istemcisindenbir sunucuya ayrı bir trafik akışı tutar. Bu işlem sunucuya trafiği ele almak için farklı bir bağlantı noktası sağlar. Bu işlem olmadan, istemci makine paketin hangi akışın parçası olduğunu anemez.

birden çok tarayıcının adresine gittiğini https://www.microsoft.comdüşünün. Bu da şu şekildedir:

  • Hedef IP = 23.53.254.142

  • Hedef Bağlantı Noktası = 443

  • Protokol = TCP

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 sorgudan ayırma yolu yoktur.

Giden bağlantılar patlayabilir. Arka uç örneğine yetersiz bağlantı noktaları atanabilir. Uygulamanızda bağlantı yeniden kullanma işlevini kullanın. Bağlantı yeniden kullanılmadan SNAT bağlantı noktası tükenme 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ını giderme

Bağlantı noktası tükenmesi oluştuğunda hedef IP'ye yeni giden bağlantılar başarısız olur. Bağlantı noktası kullanılabilir olduğunda bağlantılar başarılı olur. Bu tükenme, bir IP adresinden 64.000 bağlantı noktası birçok arka uç örneğine ince yayıldığında oluşur. SNAT bağlantı noktası tükenmesini azaltma yönergeleri için sorun giderme kılavuzuna bakın.

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

UDP bağlantıları için yük dengeleyici, hedef bağlantı noktası ne olursa olsun hedef IP başına bir SNAT bağlantı noktası kullanan bağlantı noktası kısıtlı koni 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ıysa yeniden kullanılır.

Kısıtlamalar

  • Yeni paket gönderilmeden bir bağlantı boşta olduğunda, 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 hem TCP hem de UDP bağlantıları için kullanılabilir

  • Hedef bağlantı noktası benzersiz olsa da olmasa da UDP SNAT bağlantı noktası gerekir. Hedef IP'ye yapılan her UDP bağlantısı için bir UDP SNAT bağlantı noktası kullanılır.

  • Tcp SNAT bağlantı noktası, hedef bağlantı noktalarının farklı olması koşuluyla aynı hedef IP'ye birden çok bağlantı için kullanılabilir.

  • SNAT tükenmesi, bir arka uç örneğinin belirli SNAT Bağlantı Noktaları yetersiz olduğunda oluşur. Yük dengeleyicinin kullanılmayan SNAT bağlantı noktaları olabilir. Arka uç örneğinin kullanılan SNAT bağlantı noktaları verilen SNAT bağlantı noktalarını aşarsa, yeni giden bağlantılar kuramaz.

  • Giden sanal makinenin NIC'sinde örnek düzeyinde bir genel IP üzerinden geçmediği sürece parçalanmış paketler bırakılır.

  • Bir ağ arabiriminin ikincil IP yapılandırmaları, yük dengeleyici aracılığıyla giden iletişim sağlamaz (genel IP ile ilişkilendirilmediği sürece).

Sonraki adımlar