Azure Azure Firewall

Azure Firewall SNAT Port Exhaustion Nedir ?

Avatar
Written by Emre Martin

Outbound SNAT Azure Firewall’in en temel özelliklerinden birisidir. Kısaca SNAT (Source Network Address Translation) Private IP adresin Public IP adresine çevrilerek internet kaynaklarına erişebilmesidir. Azure Firewall bu SNAT işlemini otomatik olarak yaparak internete bağlanmak isteyen VM’lerin Firewall’ın Public IP ‘sini kullanarak internete erişmelerini sağlar.

Sanal makinalardan farklı hedef IP ve Port’a yapılacak her bir bağlantı Azure üzerinde farklı bir SNAT portunun kullanılması demektir. Azure Firewall ile SNAT işlemi için kullanabileceğiniz SNAT portların bir limiti vardır. Bu limitin aşılması demek SNAT Port Exhaustion – yani SNAT için kullanılacak portların tükenmesi ve  yeni yapılacak bağlantıların gerçekleştirilememesi demektir.  Bu limit Firewall’un sahip olduğu her bir backend instance için Public IP başına 1024’dür. (Varsayılan olarak Firewall’larda iki backend instance bulunmaktadır) Yani tek bir Public IP’ye sahip bir Azure Firewall 2048 SNAT portuna sahiptir. (Azure NAT Gateway’de bu limit IP başına 64.000 port’tur).

Microsoft bu limitasyona takılmamak için Firewall’un dağıtımınızın en az 5 Public IP ye sahip olmasını önerir. Azure Firewall ile en fazla 250 public IP’ye sahip olabilirsiniz.

Bu durum genelde backend ‘den REST API’ler ile internet üzerine yapılan yoğun istekler, PaaS servisler için service endpoint yada private endpoint kullanmamak gibi durumlarda ortaya çıkabilir.

Azure Firewall üzerinde SNAT kullanımını Azure Firewall -> Metrics altında bulunan SNAT port utilization değerini kullanarak görebilirsiniz.

Sahip olduğunuz SNAT portlarının %95’ini kullanmanız durumunda Azure Firewall sağlık durumuda otomatik olarak %50 ye düşücektir.

Yazar Hakkında

Avatar

Emre Martin

Cloud Solutions Architect