Düzenle

Aracılığıyla paylaş


Azure NAT ağ geçidinin Azure İyi Tasarlanmış Çerçeve incelemesi

Azure Application Gateway
Azure Virtual Network
Azure Private Link

Bu makalede Azure NAT ağ geçidi için en iyi yöntemler açıklanmaktadır. Rehberlik, mimari mükemmelliği temel alan beş yapıyı temel alır: Maliyet İyileştirme, Operasyonel Mükemmellik, Performans Verimliliği, Güvenilirlik ve Güvenlik.

Bu kılavuzun önkoşulu olarak, Azure NAT Gateway hakkında çalışan bir bilgiye sahip olmanız ve ilgili özelliklerini anlamanız gerekir. Daha fazla bilgi için bkz . Azure NAT Gateway belgeleri.

Maliyet iyileştirme

NAT ağ geçidi kullanmanız gerekmemesi için depolama dahil olmak üzere Azure Özel Bağlantı veya hizmet uç noktaları aracılığıyla hizmet olarak platform (PaaS) çözümlerine erişimi yapılandırın. Özel Bağlantı ve hizmet uç noktaları, PaaS hizmetlerine erişmek için NAT ağ geçidinin çapraz geçişini gerektirmez. Bu yaklaşım, NAT ağ geçidi kullanma maliyetine kıyasla gigabayt başına (GB) işlenen veri maliyetini azaltır. Özel Bağlantı ve hizmet uç noktaları da güvenlik avantajları sağlar.

Performans verimliliği

Her NAT ağ geçidi kaynağı saniyede en fazla 50 gigabit (Gb/sn) aktarım hızı sağlar. Dağıtımlarınızı birden çok alt ağa bölebilir ve sonra ölçeği genişletmek için her alt ağa veya alt ağ grubuna bir NAT ağ geçidi atayabilirsiniz.

Her NAT ağ geçidi genel IP adresi 64.512 Kaynak Ağ Adresi Çevirisi (SNAT) bağlantı noktası sağlar. Nat ağ geçidine tek tek standart genel IP adresleri, genel IP ön eki veya her ikisi de dahil olmak üzere en fazla 16 IP adresi atayabilirsiniz. Nat ağ geçidi, aynı hedef uç noktaya giden atanan her giden IP adresi için sırasıyla İletim Denetimi Protokolü (TCP) ve Kullanıcı Veri Birimi Protokolü (UDP) için en fazla 50.000 eşzamanlı akışı destekleyebilir.

SNAT tükenmesi

SNAT tükenmesini önlemeye yardımcı olmak için aşağıdaki yönergeleri göz önünde bulundurun:

  • NAT ağ geçidi kaynaklarının varsayılan TCP boşta kalma zaman aşımı dört dakikadır. Zaman aşımını 120 dakikaya kadar yapılandırabilirsiniz. Bu ayarı varsayılan değerden daha yüksek bir değere değiştirirseniz, NAT ağ geçidi akışları daha uzun süre tutar ve bu da SNAT bağlantı noktası envanterinde gereksiz baskı oluşturabilir.

  • Atomik istekler (bağlantı başına bir istek) ölçeği sınırlar, performansı azaltır ve güvenilirliği azaltır. Atomik istekler yerine, bağlantı sayısını ve ilişkili SNAT bağlantı noktalarını azaltmak için HTTP veya HTTPS bağlantılarını yeniden kullanabilirsiniz. Bağlantıları yeniden kullandığınızda uygulama daha iyi ölçeklendirilebilir. Aktarım Katmanı Güvenliği (TLS) kullandığınızda el sıkışmalarının, ek yükün ve şifreleme işlemi maliyetlerinin azalması nedeniyle uygulama performansı artar.

  • DNS çözümleyicinin sonuçlarını önbelleğe almazsanız, Etki Alanı Adı Sistemi (DNS) aramaları birimde birçok ayrı akışa neden olabilir. Akış hacmini azaltmak ve SNAT bağlantı noktası sayısını azaltmak için DNS önbelleğini kullanın. DNS, etki alanı adlarını İnternet'e veya özel bir ağa bağlı kaynakların IP adresleriyle eşleyen adlandırma sistemidir.

  • DNS aramaları gibi UDP akışları, boşta kalma zaman aşımı sırasında SNAT bağlantı noktalarını kullanır. UDP boşta kalma zaman aşımı süreölçeri dört dakikada düzeltildi.

  • Bağlantı biriminizi şekillendirmek için bağlantı havuzlarını kullanın.

  • Akışları temizlemek için TCP akışlarını sessizce bırakmayın veya TCP zamanlayıcılarına güvenmeyin. TCP'nin bir bağlantıyı açıkça kapatmasına izin vermezseniz, TCP bağlantısı açık kalır. Ara sistemler ve uç noktalar bu bağlantıyı kullanımda tutar ve bu da SNAT bağlantı noktasını diğer bağlantılar için kullanılamaz hale getirir. Bu kötü model uygulama hatalarını ve SNAT tükenmesini tetikleyebilir.

  • etkilerini bilmiyorsanız işletim sistemi düzeyinde TCP'ye yakın ilgili süreölçer değerlerini değiştirmeyin. Bir bağlantının uç noktalarının beklentileri uyuşmuyorsa TCP yığını kurtarılabilir, ancak uygulama performansınızı olumsuz etkileyebilir. Zamanlayıcı değerlerini değiştirmeniz gerekiyorsa genellikle temel alınan bir tasarım sorununuz vardır. Ayrıca, temel alınan uygulamada başka kötü amaçlı değişkenler varsa ve zamanlayıcı değerlerini değiştirirseniz, SNAT tükenmesini de hızlandırabilirsiniz.

Hizmetinizin ölçeğini ve güvenilirliğini geliştirmek için aşağıdaki kılavuzu gözden geçirin:

  • TCP boşta kalma zaman aşımını daha düşük bir değere düşürmenin etkilerini göz önünde bulundurun. Varsayılan dört dakikalık boşta kalma zaman aşımı SNAT bağlantı noktası envanterini önceden boşaltabilir.

  • Bağlantı kaynaklarınızı diğer işlemler için boşaltmak üzere uzun süre çalışan işlemler için zaman uyumsuz yoklama desenlerini göz önünde bulundurun.

  • Ara sistemlerin zaman aşımına uğramasını önlemek için yeniden kullanılan TCP bağlantıları gibi uzun ömürlü TCP akışları için TCP korumalarını veya uygulama katmanı korumalarını kullanmayı göz önünde bulundurun. Boşta kalma zaman aşımını yalnızca son çare olarak artırmanız gerekir ve kök nedeni çözmeyebilir. Uzun bir zaman aşımı, zaman aşımı süresi dolduğunda düşük hız hatalarına neden olabilir. Ayrıca gecikmeye ve gereksiz hatalara neden olabilir. Bağlantıyı her iki taraftan da canlı tutmak için bağlantının bir tarafından TCP korumalarını etkinleştirebilirsiniz.

  • Ara sistemlerin zaman aşımına uğramasını önlemek için uzun ömürlü UDP akışları için UDP korumaları kullanmayı göz önünde bulundurun. Bağlantının bir tarafında UDP korumalarını etkinleştirdiğinizde, bağlantının yalnızca bir tarafı etkin kalır. Bağlantıyı canlı tutmak için bir bağlantının her iki tarafında UDP korumalarını etkinleştirmeniz gerekir.

  • Geçici hata veya hata kurtarma sırasında agresif yeniden denemeleri ve ani artışları önlemek için düzgün yeniden deneme desenlerini göz önünde bulundurun. Kötü amaçlı atomik bağlantılar için her HTTP işlemi için yeni bir TCP bağlantısı oluşturursunuz. Atomik bağlantılar kaynakları boşa harcar ve uygulamanızın iyi ölçeklenmesini önler.

    uygulamanızın işlem hızını artırmak ve kaynak maliyetlerini azaltmak için her zaman aynı bağlantıda birden çok işlemi işlem hattı haline getirebilirsiniz. Uygulamanız aktarım katmanı şifrelemesi (örneğin TLS) kullandığında, yeni bağlantı işleme maliyeti artırır. Daha iyi uygulama desenleri için bkz . Azure bulut tasarım desenleri.

Operasyonel mükemmellik

Azure Kubernetes Service (AKS) ile NAT ağ geçidi kullanabilirsiniz, ancak NAT ağ geçidi yönetimi AKS'ye dahil değildir. Kapsayıcı Ağ Arabirimi (CNI) alt ağına bir NAT ağ geçidi atarsanız, AKS podlarının NAT ağ geçidi üzerinden çıkış yapmasını etkinleştirirsiniz.

Bölgeler veya bölgeler arasında birden çok NAT ağ geçidi kullandığınızda, Azure genel IP ön eklerini veya kendi IP'nizi getir (BYOIP) ön eklerini kullanarak giden IP varlığını yönetilebilir durumda tutun. NAT ağ geçidine 16 IP adresten (/28 ön ek boyutu) daha büyük bir IP ön eki boyutu atayamazsınız.

SNAT bağlantı noktası kullanımını, işlenen veya bırakılan paketleri ve iletilen veri miktarını izlemek ve uyarmak için Azure İzleyici uyarılarını kullanın. NAT ağ geçidi tarafından yapılandırılmış alt ağdaki sanal makine (VM) örneklerinden giden trafik akışını izlemek için ağ güvenlik grubu (NSG) akış günlüklerini kullanın.

Nat ağ geçidi ile bir alt ağ yapılandırdığınızda, NAT ağ geçidi bu alt bilgisayarınızda bulunan tüm VM'ler için genel İnternet'e giden diğer tüm bağlantıların yerini alır. NAT ağ geçidi, giden kurallardan bağımsız olarak yük dengeleyiciden önceliklidir. Ağ geçidi ayrıca doğrudan VM'lere atanan genel IP adreslerinden önceliklidir. Azure bir akışın yönünü izler ve asimetrik yönlendirmeyi önler. Yük dengeleyici ön uç IP'si gibi gelen kaynaklı trafik doğru şekilde çevrilir ve NAT ağ geçidi üzerinden giden kaynaklı trafikten ayrı olarak çevrilir. Bu ayrım, gelen ve giden hizmetlerin sorunsuz bir şekilde bir arada var olmasını sağlar.

Sanal ağlarda giden bağlantıyı etkinleştirmek için varsayılan olarak bir NAT ağ geçidi öneririz. NAT ağ geçidi, Azure'daki diğer giden bağlantı tekniklerine kıyasla verimlilik ve işletimsel kolaylık sağlar. NAT ağ geçitleri SNAT bağlantı noktalarını isteğe bağlı olarak ayırır ve SNAT bağlantı noktası yeniden kullanım çakışmalarını önlemek için daha verimli bir algoritma kullanır. Varlığınız için varsayılan giden bağlantı kötü modeline güvenmeyin. Bunun yerine, NAT ağ geçidi kaynaklarıyla yapılandırmanızı açıkça tanımlayın.

Güvenilirlik

NAT ağ geçidi kaynakları bir kullanılabilirlik alanında yüksek oranda kullanılabilir ve birden çok hata etki alanına yayılır. NAT ağ geçidini, Azure'ın NAT ağ geçidini yerleştirmek için otomatik olarak bir bölge seçtiği veya NAT ağ geçidini belirli bir kullanılabilirlik alanına yalıttığı bir bölgeye dağıtabilirsiniz.

Kullanılabilirlik alanı yalıtımı sağlamak için her alt ağın yalnızca belirli bir bölgede kaynakları olmalıdır. Bu yaklaşımı uygulamak için şunları yapabilirsiniz:

  • VM'lerin dağıtıldığı kullanılabilirlik alanlarının her biri için bir alt ağ dağıtın.
  • Bölgesel VM'leri eşleşen bölgesel NAT ağ geçitleriyle hizalayın.
  • Ayrı bölgesel yığınlar oluşturun.

Aşağıdaki diyagramda, kullanılabilirlik alanı 1'deki bir VM, aynı zamanda yalnızca kullanılabilirlik alanı 1'de bulunan diğer kaynakları içeren bir alt ağda yer alır. Nat ağ geçidi, bu alt ağa hizmet vermek için kullanılabilirlik alanı 1'de yapılandırılır.

Bir bölgesel yığının yönlü akışını gösteren diyagram.

Sanal ağlar ve alt ağlar bir bölgedeki tüm kullanılabilirlik alanlarına yayılmıştır. Bölgesel kaynakları barındırmak için bunları kullanılabilirlik alanlarına bölmeniz gerekmez.

Güvenlik

NAT ağ geçidi ile tek tek VM'ler veya diğer işlem kaynakları genel IP adreslerine ihtiyaç duymaz ve tamamen özel kalabilir. Genel IP adresi olmayan kaynaklar yine de sanal ağ dışındaki dış kaynaklara ulaşabilir. Giden bağlantı için bitişik IP kümesi kullandığınızdan emin olmak için genel IP ön ekini ilişkilendirebilirsiniz. Hedef güvenlik duvarı kurallarını bu tahmin edilebilir IP listesine göre yapılandırabilirsiniz.

Yaygın bir yaklaşım, Microsoft dışı güvenlik duvarları veya ara sunucularla yalnızca giden ağ sanal gereci (NVA) senaryosu tasarlamaktır. Sanal makine ölçek kümesi NVA'ları olan bir alt ağa NAT ağ geçidi dağıttığınızda, bu NVA'lar yük dengeleyici IP'leri veya tek tek IP'ler yerine giden bağlantı için bir veya daha fazla NAT ağ geçidi adresi kullanır. Bu senaryoya Azure Güvenlik Duvarı uygulamak için bkz. Azure Güvenlik Duvarı Azure standart yük dengeleyici ile tümleştirme.

Yük dengeleyici sandviçi ve NAT ağ geçidi olan güvenlik duvarlarını gösteren diyagram.

NAT ağ geçidindeki şüpheli giden bağlantıları izlemek için Bulut için Microsoft Defender uyarı özelliğini kullanabilirsiniz.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar