Azure sanal ağınızdan çıkan trafiğin statik bir IP adresiyle devam etmesini sağlamak oldukça yaygın bir gereksinimdir. Bu gereksinim genelde bankacılık, lisans doğrulama gibi harici sistemlerin yada müşterilerin sadece güvendikleri kaynak IP adresilerine erişim izni sağlamaları amacıyla istenir. Söz konusu bu gereksinim Public IP’ye sahip sanal makinalar için olduğunda yapmamız gereken pek bir şey yoktur ancak Azure üzerindeki her sanal makinanın public IP’si olması demek ekstra maliyet, yönetilmesi gereken NSG’(ler) ve harici bu sistemlere bilgirilmesi gereken IP’ler demektir.
Diğer bir seçenek Azure load balancer kullanmak olabilir ancak Load balancer’in sahip olduğu public IP adresinin igili sanal makinalara atanabilmesi için load balancer üzerinde inbound kural oluşturmanız gerekir ve bu gereksinim birden fazla sanal makina için söz konusu ise tüm sanal makinaların aynı load balancer’ın arkasına konumlandırılabilmesi için aynı availability set içerisine alınması gerek demektir. Son seçenek olarak Azure Firewall’u düşünebiliriz ancak sadece bu iş için biraz fazla maliyetli ve yönetimi zordur.
Azure NAT Gateway
Azure NAT gateway servisi subnet seviyesinde SNAT yaparak o subnette bulunan tüm sanal makinaların outbound bağlantı için hangi static IP adresi yada IP Prefix’leri kullanacağını belirtmemizi sağlar. NAT Gateway’in bulunduğu subnet’teki tüm sanal makinalar Public IP, load balancer yada Azure Firewall gibi ihtiyaçlara gerek duymaksızın aynı IP adresini kullanarak outbound bağlantılar gerçekleştirebilirler.
Limitasyonlar:
- NAT Standart SKU public IP, public IP Prefix, Load Balancer kaynakları ile uyumludur.
- Basic SKU IP yada load balancer bulunan subnet içerisine deploy edilemez.
- IPv4 IP’ler desteklenmektedir.
- IPv6 adres’lere sahip bir subnet içerisine dağıtılamaz.
- NSG Flow logging kullanımı NAT ile deskteklenmez.
- Birden fazla subnet’e sahip virtual networklerde her subnet farklı NAT yapılandırmasına sahip olabilir.
NAT gateway saatlik compute ve işlenen trafik için ücretlendirilmektedir.
Azure NAT Gateway’in oluşturulması
Azure Portal -> All Services -> NAT Gateway yolunu izleyerek NAT servisine erişebilirsiniz.Outbound IP için Standart Public IP yada Public IP Prefix’leri kullanabilirsiniz. Ben yeni oluşturduğum public IP ile devam edeceğim. (MyStaticIPAddress: 40.114.165.45)
NAT gateway’i atayacağım Virtual network ve subnet’imi seçiyorum.
NAT gatewey’i deploy ettiğim subnet içerisinde bulunan sanal makinamın ayrıntıları aşağıdaki gibidir. SAnal makinanın Public IP’si bulunmamakla birlikte ortamda herhangi bir load balancer yada firewall yapılandırması mevcut değil.
Sanal makinama RDP yapıyorum Public IP mi kontrol ediyorum. Public IP adresim NAT gateway’i yapılandırırken oluşturmuş olduğum Public IP adresi olarak gözükmekte.
Daha fazlası için:
- https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-outbound-connections
- https://docs.microsoft.com/en-us/azure/virtual-network/nat-gateway-resource
Görüşmek üzere.