๐VPC
Virtual Private Cloud
Kendi รถzel aฤ alt yapฤฑmฤฑzฤฑ oluลturmamฤฑzฤฑ saฤlayan, sanal aฤ katmanฤฑdฤฑr. Tamamen kullanฤฑcฤฑya รถzel ve paylaลฤฑmlฤฑ deฤil.
Her AWS hesabฤฑnda, her region da bir adet varsayฤฑlan VPC ile gelmektedir. Biz istersek her region iรงin 5 tane daha VPC yaratabiliriz. 5 soft bir limittir. 5den fazla VPC ihtiyacฤฑmฤฑz olduฤunda AWS den bunu talep edebiliriz.
Her VPC bizim รถnceden tanฤฑmladฤฑฤฤฑmฤฑz IP aralฤฑฤฤฑna sahip olur. Yani VPC iรงerisinde kullanabileceฤimiz IP bloฤu tanฤฑmlฤฑyoruz.
รrneฤin 10.0.0.0/16lฤฑ bir blok ekleyip, bunlarฤฑ alt subnetlere ayฤฑrabiliyoruz.
Subnetler public ve private olarak 2 รงeลitle ayrฤฑlabiliyor.
Public : Dฤฑล dรผnyadan eriลimin yapฤฑlacaฤฤฑ subnet.
Private : VPC iรงerisindeki sunucularฤฑn birbirine eriลim yaparken kullanฤฑlฤฑr.
VPC altฤฑnda tรผm trafik yรถnlendirmesini "routing table" dediฤimiz servisle yaparฤฑz.
รrnek olarak, X subnetinden Y subnetine ya da Z subnetinden internete nasฤฑl gidileceฤini ya da, hangi yolun kullanฤฑlacaฤฤฑnฤฑ anlatan ayarlama (konfigรผrasyon) dosyalarฤฑ arayฤฑcฤฑlฤฑฤฤฑyla yapฤฑlฤฑr.
Tรผm bu karmaลฤฑk yapฤฑnฤฑn, gรผvenliฤini saฤlamak adฤฑna da, aฤ alt yapฤฑsฤฑnda hangi subnet'e, hangi trafik gidebilsin, ve ya hangi subnet'den hangi trafik dฤฑลarฤฑya รงฤฑkabilsin gibi kurallarฤฑ belirlediฤimiz Network access list ya da network ACL ayarlamalarฤฑ yapabiliyoruz.
Buna ek olarak VPC de oluลturduฤumuz kaynaklara, direkt atayarak da bu kaynaklara ne tarz bir trafik eriลimine izin verebileceฤimizi belirlediฤimiz EC2 kฤฑsmฤฑnda da gรถrdรผฤรผmรผz SGlar yaratabiliyoruz.
Public subnetlerin internet eriลimini saฤlayan ve aynen evimizde bulunan internete girmemizi saฤlayan modem,router larla aynฤฑ mantฤฑฤa sahip olan, internet gateway hizmetini de VPC altฤฑnda kullanabiliyoruz.
Bunun yanฤฑ sฤฑra kendi ลirket aฤ altyapฤฑsฤฑ ile bu VPC arasฤฑndaki direkt bir baฤlantฤฑ olacak olan VPN baฤlantฤฑsฤฑnฤฑ sonlandฤฑrmak iรงin VPN gateway tanฤฑmฤฑ yapฤฑlabiliyor.
S3 ya da dynomoDB gibi diฤer AWS servislerine bu vpc'den direkt ulaลmak adฤฑna private endpoint linkleri yaratabiliyoruz. Ayrฤฑca hem kendi hesabฤฑmฤฑzda bulunan diฤer VPC'ler, hem baลka hesapta bulunan VPCler ile pear dediฤimiz ayarlamalar yaparak bu VPCler arasฤฑnda direkt baฤlantฤฑ kurulabiliyor. Ve bu VPClerde bulunan kaynaklarฤฑn birbirine eriลebilmelerini saฤlayabiliyoruz.
Internet Gateway, Dฤฑล dรผnyaya รงฤฑkฤฑล ve dฤฑล dรผnyadan geliลi saฤlar.
Nat Gateway, Private subnetlerde bulunan sunucular internete รงฤฑkmasฤฑ iรงin kullanฤฑlacak. Public subnetlerin birinde bulunmasฤฑ gerekmektedir.
Private subnet'de bulunan sunucularฤฑmฤฑzฤฑn S3 servisi gibi servislerle iletiลime geรงebilmesi iรงin bir private link oluลturmalฤฑyฤฑz.
VPC Oluลtururken,
VPC konsoluna girip, create diyoruz. IP bloฤu ne olacaksa onu giriyoruz.
IPv6 istiyorsak VPC oluลtururken seรงiyoruz.
Her region'da default bir VPC bulunur.
ฤฐlk VPC yaratฤฑldฤฑktan sonra VPC'ye tฤฑklayฤฑp actions kฤฑsmฤฑndan DNS hostname aรงmamฤฑz gerekiyor. Bunu seรงmezsek VPC altฤฑnda bulunan sunucular VPC DNS'i รผzerinden haberleลemez.
Route tables, her VPC yaratฤฑldฤฑฤฤฑnda otomatik olarak bir route table oluลur. Route table VPCnin nereye nasฤฑl eriลeceฤini belirlediฤimiz kฤฑsฤฑmdฤฑr.
Internet Gateway, ฤฐnternet gw oluลturup, yapฤฑmฤฑzฤฑ internete รงฤฑkarmalฤฑyฤฑz. oluลturup, รผzerine รงift tฤฑklayฤฑp VPCmize mount ediyoruz. Bรถylelikle dฤฑลarฤฑdan da kaynaklarฤฑmฤฑza eriลim olacak.
Route table, 0.0.0.0/0 a giderken internet gw kullan diyerek. ฤฐnternet รงฤฑkฤฑลฤฑmฤฑz aktif oluyor.
Subnets kฤฑsmฤฑndan yeni bir subnet yaratabiliriz.
Create subnet
ฤฐsim giriyoruz.
Yeni yarattฤฑฤฤฑmฤฑz VPCyi seรงiyoruz.
Hangi AZ olacaฤฤฑnฤฑ seรงiyoruz. Hangi blokta olacaksa bunu seรงiyoruz.
Private subnetler iรงin yeni bir route table yaratฤฑyoruz. subnet associations kฤฑsmฤฑndan edit diyerek private bloklarฤฑmฤฑzฤฑ seรงiyoruz private ve public ayrฤฑmฤฑnฤฑ bu ลekilde yapฤฑyoruz. Subnets kฤฑsmฤฑna gelip, public subnetleri tek tek seรงip, Actions kฤฑsmฤฑndan Auto-assingn IP setting enable diyoruz. Ve bรถylelikle public subnetlere otomatik olarak public IP adresi tanฤฑmlanacak.
Dฤฑล dรผnyadan iรงeride private subnet' de bulunan sunuculara eriลmek istersek, public subnet bloฤuna jump box sunucusu kurup ilk bu sunucuya baฤlanฤฑp, daha sonra private blokta bulunan sunuculara eriลebiliriz.
Sunucu kurulumu esnasฤฑnda oluลturduฤumuz VPC seรงebiliriz. Auto-assingn public IP kฤฑsmฤฑnฤฑ eฤer public subnetler auto assingn IP olarak seรงmediysek enable diyoruz. Fakat biz public subnetlerde enable etmiลtik. O yรผzden default kalabilir.
Sunucu kurulumunda VPC seรงtiฤimizde bu VPC iรงin yeni bir SG oluลturmalฤฑyฤฑz. รรผnkรผ her VPC nin SG kurallarฤฑ farklฤฑdฤฑr. Ek olarak private blokta sunucu oluลturuyoruz. Jump box sunucudan private subnet de bulunan sunucuya eriลmek iรงin AWS nin bize verdiฤi pem dosyasฤฑnฤฑ JUMP box sunucuna import ediyoruz.
Network Access list, atandฤฑฤฤฑ subnetin hangi originden hangi tรผrden trafiฤi kabul edeceฤini,hangi destination hangi tรผrde trafik gรถndermesine izin verileceฤini belirlediฤimiz kural bรถlรผmรผ. Her subnet de en azฤฑndan bir ACL atanmak zorundadฤฑr. Her subnet iรงin ayrฤฑ ayrฤฑ ACL yaratฤฑlabilir. Tek bir ACL yaratฤฑlฤฑp birden fazla subnete atanabilir. Bir nevi subnet bazฤฑnda SGlardฤฑr.
Network ACL : Subnetlere atanฤฑp, subnet bazฤฑnda kurallar oluลturulur.
Security Group : Sunuculara atanฤฑp, sunucu bazฤฑnda kurallar oluลturulur.
Network ACL de kurallar baลtan sona bakฤฑlฤฑr. Kurallar ACL de yoksa paket (istek) deny olur.
NACL, alt aฤ dรผzeyinde รงalฤฑลฤฑr ve bu nedenle รถnce trafiฤe eriลim saฤlar. Bu, trafiฤi bir sonraki seviyeye, yani Gรผvenlik grubuna ulaลmadan รถnce filtrelemesine izin verir. NACL tarafฤฑndan herhangi bir trafik reddedilirse, gรผvenlik grubu bunu asla gรถrmez. Gรผvenlik grubu, NACL tarafฤฑndan izin verilen trafiฤi yine de reddedebilir.
Normal de Public bir blokta bulunan sunucular her restart ettiฤimizde IP adresleri deฤiลiyor. Sunucularฤฑmฤฑzฤฑn da sabit bir IP adresi olmasฤฑnฤฑ istersek aลaฤฤฑda bulunan adฤฑmlarฤฑ yapmalฤฑyฤฑz.
Elastic IPs
Allocate new address
Allocate
Bรถylelikle AWS bize sabit bir IP adresi verdi. Bu IP adresinin รผzerine tฤฑklayฤฑp,
Actions
Associate address
instance (IP adresini kullanacaฤฤฑmฤฑz sunucuyu seรงiyoruz)
Associate
Sabit IP adresimizi yukarฤฑda belirttiฤimiz sunucuya tanฤฑmlamฤฑล olduk. Ve ilgili sunucu sรผrekli olarak bu IP adresini kullanฤฑyor olacak.
Subnetlerin, private ve public olmasฤฑnฤฑ belirleyen etken route table'dฤฑr. Route table รผzerinde private blok kendi iรงerisinde haberleลebiliyor. Public ise internet GW kullanarak dฤฑลarฤฑ รงฤฑkabiliyor.
Private blokta bulunan sunucularฤฑn (lokal IP 'ye sahip olan) internete รงฤฑkmasฤฑnฤฑ istersek nat gw yaratฤฑp, public subnet'in iรงerisine konumlandฤฑrฤฑyoruz. (herhangi bir public subnet'e konumlandฤฑrabiliriz) daha sonra private subnetlerin bulunduฤu route table'na diyoruz ki, sen internete giderken bu nat gw servisine paketleri teslim et. Dolayฤฑsฤฑyla private sunucular internete bu ลekilde eriลebilir. Ama nat gw bir internet gw olmadฤฑฤฤฑ iรงin dฤฑล dรผnyadan burada bulunan sunuculara eriลilemiyor.
NATGW VS INTERNETGW
Bu ลekilde dรผลรผnebilirsiniz, diyelim ki iki alt aฤฤฑnฤฑz var. sunucularฤฑ her iki alt aฤda da baลlatฤฑrsฤฑnฤฑz. ลimdi IGW'yi alt aฤlara eklerseniz, bu alt aฤ herkese aรงฤฑk hale gelir. Bu, dฤฑล dรผnyanฤฑn bu alt aฤa baฤlanabileceฤi anlamฤฑna gelir. Bulut sunucunuza dฤฑลarฤฑdan eriลilebildiฤi ve bulut sunucunuzun dฤฑล dรผnyaya baฤlanabileceฤi anlamฤฑna gelir.
Ancak dฤฑล dรผnyanฤฑn sizin bulut sunucunuza baฤlanamamasฤฑ gibi bir gereksiniminiz varsa, o zaman alt aฤฤฑnฤฑzda NAT kullanmanฤฑz gerekir ve alt aฤฤฑnฤฑz รถzel alt aฤ olur. Bรถylece, bu alt aฤdaki her รถrnek dฤฑล dรผnyaya baฤlanabilir, ancak dฤฑล dรผnya sizin bulut sunucularฤฑnฤฑza baฤlanamaz.
---------------------------------------------------------------------------------------------------
Bir ฤฐnternet Aฤ Geรงidi (IGW), VPC'nizdeki kaynaklarฤฑn internete eriลmesine izin verir ve bunun tersi de geรงerlidir. Bunun olmasฤฑ iรงin, bir alt aฤฤฑn IGW'ye eriลmesine izin veren bir yรถnlendirme tablosu giriลi olmasฤฑ gerekir.
Yani - bir IGW, genel alt aฤฤฑnฤฑzdaki kaynaklarฤฑn internete eriลmesine ve internetin sรถz konusu kaynaklara eriลmesine izin verir.
Bir NAT Aฤ Geรงidi benzer bir ลey yapar, ancak iki ana fark vardฤฑr:
รzel bir alt aฤdaki kaynaklarฤฑn internete eriลmesine izin verir (yum gรผncellemelerini, harici veritabanฤฑ baฤlantฤฑlarฤฑnฤฑ, wget รงaฤrฤฑlarฤฑnฤฑ vb. dรผลรผnรผn) ve
sadece tek yรถnlรผ รงalฤฑลฤฑr. Siz aรงฤฑkรงa izin vermedikรงe, internet genel olarak NAT'ฤฑnฤฑzdan รถzel kaynaklarฤฑnฤฑza ulaลamaz.
Nat Gateway Oluลturmak;
Create Nat Gateway
Subnet (Hangi public subnet de olacaฤฤฑnฤฑ seรงiyoruz)
Elastic IP allocation ( Nat gw iรงin bir IP adresi ayฤฑrฤฑyoruz )
Create Nat GW
Ardฤฑndan private subnet iรงin yarattฤฑฤฤฑmฤฑz route table geliyoruz. 0.0.0.0/0 a giderken NAT GW 'kullanmasฤฑnฤฑ sรถyleyen route ekliyoruz.
Private sunucularฤฑn internete รงฤฑkmasฤฑnฤฑ saฤlayan bir diฤer yolu nat instance kurmaktฤฑr. Bunun iรงin yeni sunucu kuruyoruz. Ami olarak arama kฤฑsmฤฑna "NAT" yazฤฑp, amazonun nat ami 'ฤฑnฤฑ seรงiyoruz. Eฤer ki yapฤฑmฤฑz bรผyรผk ise, nat instance olarak kuracaฤฤฑmฤฑz sunucunun instance type'ฤฑnฤฑ daha uygun yรผksek paketler seรงmeliyiz. Bu sunucuyu da Public Subnetlerin birine kuruyoruz. Mevcut yarattฤฑฤฤฑmฤฑz SG seรงiyoruz. Bรถylelikle nat instance oluลturuluyor. Ardฤฑndan nat instance olarak oluลturduฤumuz sunucuyu seรงip, Actions kฤฑsmฤฑndan source/destination check kฤฑsmฤฑnฤฑ disable ediyoruz.
Private subnetlerin route tablolarฤฑna gidip 0.0.0.0/0 a giderken bu sunucuyu kullan diyebiliyoruz.
Nat GW : AWS kontrolรผ altฤฑndadฤฑr. Nat Instance : Bizim kontrolรผmรผz altฤฑndadฤฑr.
Endpoints, sunucularฤฑn internete รงฤฑkmadan (zaman harcamadan) AWS servislerine eriลmesini saฤlar.
Endpoints Oluลturmak iรงin;
Create endpoints
AWS services (AWS servislerine eriลmek iรงin kullanacaฤฤฑz) รrnek olarak S3 servisini seรงebiliriz.
Service Name : S3
VPC ( kullanacaฤฤฑmฤฑz, yarattฤฑฤฤฑmฤฑz VPC'yi seรงmeliyiz)
Route tables, Hangi subnetler endpoint รผzerinden AWS servislerine ulaลabilsin? Burada bunu seรงmeliyiz. Hepsini seรงiyoruz.
Policy, Eriลimleri vs kฤฑsฤฑtlamak istersek custom bir policy yaratabiliriz. Biz full access seรงebiliriz.
Create endpoint
Route tablolarฤฑna bu endpoint iรงin ilgili rule'lar otomatik olarak eklendi.
VPC Peering, Farklฤฑ VPCler internete รงฤฑkmadan kendi aralarฤฑnda haberleลmelerini saฤlar. รrnek olarak A VPC'si B VPC'si arasฤฑnda peering yaparsak kendi aralarฤฑnda irtibatฤฑ olur.
Peering connections, รถrnek olarak varsayฤฑlan VPC'miz ile sonradan yarattฤฑฤฤฑmฤฑz VPCyi peering yaparak birbirleri ile haberleลtirebiliriz.
Peering connections name : isim giriyoruz.
VPC (requester) : Baฤlantฤฑ kurmayฤฑ kim talep ediyor? Bunu seรงmeliyiz.
Select Another VPC to peer with : Neredeki VPC ile iletiลim kuracaฤฤฑz bunu seรงiyoruz. Kendi hesabฤฑmฤฑzdaki mi? Baลka bir hesapta bulunan VPC mi?
VPC (accepter) : Baฤlantฤฑyฤฑ hangi VPC ye gรถndereceฤiz bunu seรงmeliyiz. Create diyerek ilerleyebiliriz.
Farklฤฑ bir hesapta bulunan VPC ile de baฤlantฤฑ kurabiliriz. Ayrฤฑca farklฤฑ bir region da bulunan VPCler iรงinde peering yapabiliriz. Peering yaparken, VPClerin IP bloklarฤฑ (lokal) birbirinden farklฤฑ olmalฤฑdฤฑr.
Farklฤฑ bir hesap ile peering yaparsak o hesaba bir onay gidecektir. O hesap onay verirse, baฤlantฤฑ sorunsuz saฤlanacaktฤฑr. Kendi hesabฤฑmฤฑzda bulunan VPCler iรงin peering 'imizi seรงip actions kฤฑsmฤฑndan Accept VPC peering connections request diyoruz. Ardฤฑndan route tablolarฤฑnฤฑ gรผncellememiz gerekiyor. Sayfada รงฤฑkan modify my route tables now seรงeneฤine tฤฑklฤฑyoruz. รncelikle isteฤi gรถnderen VPCnin route tablosuna gelip, edit diyoruz.
Her 2 VPC nin route tablolarฤฑna gidip, birbilerinin subnetlerini destination olarak belirtip, Peering connections' servisini kullanmalarฤฑnฤฑ sรถyledik.
Yani her 2 VPCnin de birbirine eriลebilmeleri iรงin route tablolarฤฑnฤฑ gรผncelledik. 2 VPC birbirleri ile iletiลim kurabilir.
Direct Connect ve VPN
VPN ลirket aฤฤฑmฤฑzdan VPC arasฤฑnda internet รผzerinden baฤlantฤฑ kurmamฤฑzฤฑ saฤlar.
Direct Connect, รrnek olarak AWS Tรผrkiye de Turk Telekom ile kendi arasฤฑnda kapalฤฑ devre yรผksek hฤฑzlarda baฤlantฤฑ kuruyor. Biz de Turk Telekom tarafฤฑna hat รงekerek AWS ile iletiลimi saฤlฤฑyoruz.
Last updated