AWS Virtual Private Cloud (VPC) Giriş - Bölüm 2
Bölüm 1'de, CIDR blokları, Alt Ağlar (Subnets) ve Yönlendirme Tabloları (Route Tables) dahil olmak üzere AWS VPC'nin temellerini ele almıştık. Bu ikinci bölümde, AWS üzerinde güvenli ve ölçeklenebilir ağ mimarileri oluşturmak için kritik öneme sahip gelişmiş bağlantı seçeneklerini ve izleme özelliklerini keşfedeceğiz.
<div class="toc"> <ul> <li><a href="#nat-ve-alt-aglar">Network Address Translation (NAT) ve Alt Ağlar</a></li> <li><a href="#nat-gateways">NAT Gateway'ler</a></li> <li><a href="#nat-instances">NAT Instance'lar</a></li> <li><a href="#nat-gateway-olusturma">Adım Adım: NAT Gateway Oluşturma</a></li> <li><a href="#route-53-resolver">Route 53 Resolver</a></li> <li><a href="#vpc-flow-logs">VPC Flow Logs</a></li> <li><a href="#sss">Sıkça Sorulan Sorular (SSS)</a></li> </ul> </div> <h2 id="nat-ve-alt-aglar">Network Address Translation (NAT) ve Alt Ağlar</h2>Bir VPC tasarlarken, güvenlik en iyi uygulamaları gereği arka uç kaynakları (veritabanları veya uygulama sunucuları gibi) Özel Alt Ağlarda (Private Subnets) bulunmalıdır. Bu alt ağların İnternet Gateway'e (IGW) doğrudan bir rotası yoktur, yani internetten erişilemezler.
Ancak, bu kaynakların genellikle geçerli nedenlerle internete erişmesi gerekir:
- Yazılım güncellemelerini indirmek (örneğin,
yum updateveyaapt-get upgrade). - Harici depolardan kütüphaneler çekmek.
- Üçüncü taraf API'lere bağlanmak.
İşte burada Network Address Translation (NAT) devreye girer. NAT, özel bir alt ağdaki instance'ların internete giden trafiği başlatmasına izin verirken, istenmeyen gelen trafiğin onlara ulaşmasını engeller.
<h2 id="nat-gateways">NAT Gateway'ler</h2>AWS NAT Gateway, NAT işlevselliği sağlayan yönetilen bir servistir. Yüksek oranda erişilebilir ve ölçeklenebilir olacak şekilde tasarlanmıştır.
- Yönetilen Servis: Bakım, yama ve ölçeklendirme AWS tarafından yapılır.
- Yüksek Erişilebilirlik: Belirli bir Kullanılabilirlik Alanında (AZ) oluşturulur ve o alan içinde yedeklilik sağlar. Çoklu AZ yedekliliği için, her AZ'de bir NAT Gateway oluşturmalısınız.
- Performans: Otomatik olarak 45 Gbps bant genişliğine kadar ölçeklenebilir.
Bir NAT Gateway kullanmak için, bunun bir Genel Alt Ağda (Public Subnet) dağıtılması ve bir Elastik IP (EIP) adresi ile ilişkilendirilmesi gerekir. Ardından, özel alt ağın yönlendirme tablosu, internete giden trafiği (0.0.0.0/0) NAT Gateway'e yönlendirecek şekilde güncellenir.
<h2 id="nat-instances">NAT Instance'lar</h2>NAT Gateway'ler var olmadan önce, bunu başarmanın standart yolu bir NAT Instance kullanmaktı. Bu, trafiği iletmek üzere yapılandırılmış basit bir EC2 instance'ıdır.
- Kendi Kendini Yöneten: İşletim sistemi yamalarından, yazılım güncellemelerinden ve ölçeklendirmeden siz sorumlusunuz.
- Maliyet: Düşük trafikli iş yükleri için daha ucuz olabilir çünkü instance tipi için ödeme yaparsınız, oysa NAT Gateway'lerde saatlik ücret artı veri işleme ücreti vardır.
- Yapılandırma: NAT olarak işlev görmesi için EC2 instance ağ arayüzünde Kaynak/Hedef Kontrollerini (Source/Destination Checks) devre dışı bırakmalısınız.
NAT Instance'lar hala mevcut olsa da, yönetim kolaylığı ve yüksek erişilebilirlikleri nedeniyle çoğu prodüksiyon iş yükü için NAT Gateway'ler önerilir.
<h2 id="nat-gateway-olusturma">Adım Adım: NAT Gateway Oluşturma</h2>AWS Konsolunda bir NAT Gateway'i şu şekilde kurabilirsiniz:
- VPC Paneline Gidin: AWS Yönetim Konsolu'nu açın ve VPC servisine gidin.
- NAT Gateway Seçin: Sol kenar çubuğunda NAT Gateways'e ve ardından Create NAT gateway butonuna tıklayın.
- Ayarları Yapılandırın:
- İsim: Anlamlı bir isim verin (örneğin,
my-vpc-nat-gw). - Alt Ağ (Subnet): NAT Gateway'in bulunacağı Genel Alt Ağı (Public Subnet) seçin.
- Elastik IP Tahsisi: Gateway'e statik bir genel IP atamak için Allocate Elastic IP butonuna tıklayın.
- İsim: Anlamlı bir isim verin (örneğin,
- Oluşturun: Create NAT gateway butonuna tıklayın.
- Yönlendirme Tablolarını Güncelleyin:
- Route Tables'a gidin.
- Özel Alt Ağınız (Private Subnet) ile ilişkili Yönlendirme Tablosunu seçin.
- Bir rota ekleyin: Hedef
0.0.0.0/0, Targetnat-xxxxxxxxx(yeni NAT Gateway'inizin ID'si).
EC2 instance'larınızın google.com gibi DNS isimlerini veya db.local gibi dahili isimleri nasıl çözümlediğini hiç merak ettiniz mi? Bu işlem, Route 53 Resolver (eski adıyla .2 resolver) tarafından gerçekleştirilir.
Her VPC alt ağında, .2 ile biten IP adresi (örneğin, 10.0.0.0/24 alt ağı için 10.0.0.2), AWS DNS çözümleyicisi için ayrılmıştır.
- Sihirli Servis: Yüksek oranda erişilebilirdir ve yönetim gerektirmez.
- Hibrit DNS: Route 53 Resolver Endpoint'leri (Gelen/Giden) ile, VPC'nizden şirket içi (on-premise) DNS isimlerini ve tam tersini çözümleyebilir, böylece kesintisiz hibrit bulut bağlantısı sağlayabilirsiniz.
VPC Flow Logs, VPC'nizdeki ağ arayüzlerine giden ve gelen IP trafiği hakkında bilgi yakalamanızı sağlayan bir özelliktir. Bu veriler şunlar için kritiktir:
- Güvenlik İzleme: Kötü amaçlı taramaları veya yetkisiz erişim denemelerini tespit etmek.
- Sorun Giderme: Bağlantı sorunlarını teşhis etmek (örneğin, instance'ıma neden ulaşılamıyor?).
Flow log verileri şuralara yayınlanabilir:
- Amazon CloudWatch Logs
- Amazon S3
Bir flow log kaydı, Kaynak IP, Hedef IP, Protokol, Port ve Eylem (KABUL/RET) gibi ayrıntıları içerir.
Örnek bir Flow Log kaydı:
<pre><code>2 123456789012 eni-abc123de 172.31.16.139 172.31.16.21 20641 22 6 20 4249 1418530010 1418530070 ACCEPT OK</code></pre> <h2 id="sss">Sıkça Sorulan Sorular (SSS)</h2> <h3>1. Özel instance'ımı internete açmak için NAT Gateway kullanabilir miyim?</h3> Hayır. Bir NAT Gateway, özel instance'lardan internete <em>giden</em> trafiğe izin verir, ancak internetten başlatılan <em>gelen</em> bağlantılara izin vermez. Gelen erişim için genellikle bir Yük Dengeleyici (Load Balancer) kullanırsınız veya instance'ı genel bir alt ağa yerleştirirsiniz. <h3>2. Route 53 Resolver ücretli mi?</h3> Bir VPC içindeki varsayılan DNS sorguları (.2 adresini kullanarak) ücretsizdir. Ancak, hibrit DNS veya DNS Güvenlik Duvarı için Route 53 Resolver Endpoint'leri kullanırsanız ek ücretler uygulanır. <h3>3. VPC Flow Logs kayıtlarımı nerede saklamalıyım?</h3> Gerçek zamanlı analiz veya uyarılara ihtiyacınız varsa, bunları **CloudWatch Logs**'a gönderin. Uzun süreli saklama ve maliyet optimizasyonu için veya bunları Amazon Athena ile sorgulamayı planlıyorsanız, **Amazon S3** daha iyi bir seçimdir.Daha fazla bilgi için AWS Danışmanlığı ve Kubernetes Danışmanlığı hizmetlerimize göz atabilirsiniz.
Kaynak / Source: https://awsfundamentals.com/blog/introduction-to-the-aws-virtual-private-cloud-vpc-part-2