Bir önceki AWS Networking Temelleri yazısında bu kavramları açıklamıştım şimdi sıfırdan oluşturup uygulamalı bir şekilde görelim.

VPC CIDR: 10.10.0.0/16
Toplam 65.536 IP (çok iyi, geniş ve esnek)

Herhangi bir subnet calculator aracıyla hızlıca IP range sınırını görebiliriz. Şimdi bu range’i 2 subnet’e böleceğim.


İki farklı AZ’de public subnet oluşturdum.
CIDR şunu söyler:
“Bu ağda kaç IP var, hangi aralık?”
/16 → 65.536 IP
Subnet = VPC içindeki daha küçük ağ parçaları
10.10.0.0/24 → my-public-subnet-b
10.10.1.0/24 → my-public-subnet-a
Her biri:
- 256 IP
- Birbirine çakışmıyor
• Aynı VPC içinde
Neden 2 subnet var?
AWS şunu ister:
“Yüksek erişilebilirlik için farklı AZ’lerde subnet olsun”
Bu şu demek:
- Aynı şehir (Paris)
- Ama farklı data center’lar
Eğer:
- eu-west-3a çökerse
- eu-west-3b hâlâ ayakta
Yani şöyle düşünelim örneğin region’ımız İstanbul olsun ve Kadıköy’de bir data centerımız var ki bu data center availability zone olarak geçer. Bu data center da bir problem çıkarsa uygulamamız erişilemez olur. Bu durumda aynı uygulamayı Istanbul bölgesinde başka bir noktaya da kuruyoruz ki Kadıköy de sorun çıkarsa örneğin Bahçelievlerdeki data center çalışsın ve yolumuza devam edelim.
Peki /16 IP aralığı çok fazla değil mi bu kadar IP ile ne yapacağız?
VPC sana 65 bin IP verir ama sen sadece ihtiyacın kadar subnet açarak o IP’leri kademeli olarak kullanıma sokarsın geri kalan IP’ler kaybolmaz ve ileride yeni subnet’ler için seni bekler.

Internet gateway oluşturdum ve “attach to vpc” diyerek vpc’me ekliyorum. IGW yoksa: subnet’teki instance internetle konuşamaz.

Daha sonra route tables’a gidip yeni bir route table oluşturuyorum.


- 0.0.0.0/0 → Internet Gateway
0.0.0.0/0 demek: “VPC dışındaki tüm IPv4 adreslere giden trafik burada belirtilen hedefe gitsin”.
Bu route table’a bağlı subnet’lerdeki instance’lar, gerekli şartlar da sağlanırsa internete çıkabilir.


Subnet association şu demek:
- “Bu subnet hangi yol haritasını (route table) kullanacak?”
Eğer subnet “public” olacaksa, o subnet’in route table’ında 0.0.0.0/0 → IGW olmalı.

2 subnet’ide düzenle deyip auto assign ip ayarını aktif ettim ki bu subnetlerde oluşan ec2ler otomatik public ip alarak internete çıkabilsin. Ama bu şart değil bu adımı ec2 başlatırkende yapabiliyoruz.
Özet: Şu an kurduğumuz mimari ne?
- 1 adet VPC: 10.10.0.0/16
- 2 adet subnet: 10.10.0.0/24 ve 10.10.1.0/24 (farklı AZ’ler)
- 1 adet IGW: VPC’nin internete kapısı
- 1 adet public route table: 0.0.0.0/0 → IGW
- subnet’leri bu route table’a bağlayarak onları “public subnet” haline getirdik
- subnet’lerde public IP auto-assign açtık ki EC2’ler public IP alsın