{"id":31603,"date":"2025-10-11T20:02:04","date_gmt":"2025-10-11T17:02:04","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/"},"modified":"2025-10-11T20:02:04","modified_gmt":"2025-10-11T17:02:04","slug":"aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/","title":{"rendered":"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber"},"content":{"rendered":"<p><body><\/p>\n<style>\n        \/* Bu makale, mobil uyumlu HTML yap\u0131s\u0131n\u0131n nas\u0131l tasarlanabilece\u011fini g\u00f6sterir. *\/\n        \/* A\u015fa\u011f\u0131daki CSS sadece bir \u00f6rnektir ve makalenin sunuldu\u011fu ortamda d\u0131\u015f bir stil dosyas\u0131 veya\n           dahili stil blo\u011fu ile y\u00f6netilmelidir. *\/\n        .container {\n            width: 90%;\n            margin: 0 auto;\n            padding: 1em;\n        }\n        .expert-tip {\n            background-color: #f0f8ff;\n            border-left: 5px solid #007bff;\n            padding: 1em;\n            margin: 1em 0;\n            font-style: italic;\n            color: #333;\n        }\n        @media (max-width: 768px) {\n            .container {\n                width: 100%;\n                padding: 0.5em;\n            }\n            h2 {\n                font-size: 1.5em;\n            }\n            h3 {\n                font-size: 1.2em;\n            }\n            \/* Ek mobil optimizasyon kurallar\u0131 buraya eklenebilir *\/\n        }\n    <\/style>\n<div class=\"container\">\n<p>B\u00f6lgesel kesintiler i\u015f s\u00fcreklili\u011finizi tehdit mi ediyor? AWS ve Terraform kullanarak \u00e7ok b\u00f6lgeli bir felaket kurtarma (DR) mimarisi kurmay\u0131 ad\u0131m ad\u0131m \u00f6\u011frenin, sistemlerinizi kesintisiz \u00e7al\u0131\u015ft\u0131r\u0131n ve veri kay\u0131plar\u0131n\u0131 en aza indirin. G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015fletmeler i\u00e7in kesintisiz hizmet sunumu, sadece bir tercih de\u011fil, ayn\u0131 zamanda zorunluluk haline gelmi\u015ftir. Peki, bir veri merkezinde ya\u015fanan b\u00f6lgesel bir elektrik kesintisi, do\u011fal afet veya geni\u015f \u00e7apl\u0131 bir siber sald\u0131r\u0131 durumunda \u015firketinizin operasyonlar\u0131 ne kadar dayan\u0131kl\u0131? Bu t\u00fcr senaryolar, sadece ciddi finansal kay\u0131plara yol a\u00e7makla kalmaz, ayn\u0131 zamanda m\u00fc\u015fteri g\u00fcvenini sarsar ve marka itibar\u0131n\u0131 zedeler. \u0130\u015fte tam da bu noktada, \u00e7ok b\u00f6lgeli bir felaket kurtarma (Disaster Recovery &#8211; DR) stratejisi devreye girer ve i\u015f s\u00fcreklili\u011finin sigortas\u0131 niteli\u011fini ta\u015f\u0131r.<\/p>\n<p>Geleneksel felaket kurtarma yakla\u015f\u0131mlar\u0131 genellikle tek bir yedek site veya b\u00f6lgeye odaklan\u0131rken, bulut bili\u015fimin sundu\u011fu imkanlar sayesinde, art\u0131k birden fazla co\u011frafi b\u00f6lgeye yay\u0131lan, daha esnek ve daha dayan\u0131kl\u0131 sistemler in\u015fa edebiliriz. Amazon Web Services (AWS) gibi bulut sa\u011flay\u0131c\u0131lar\u0131, d\u00fcnya genelinde birbirinden ba\u011f\u0131ms\u0131z bir\u00e7ok co\u011frafi b\u00f6lge (Region) sunarak bu imkan\u0131 bize sa\u011fl\u0131yor. Ancak bu karma\u015f\u0131k altyap\u0131y\u0131 manuel olarak y\u00f6netmek hem zaman al\u0131c\u0131 hem de hataya a\u00e7\u0131k olabilir. \u0130\u015fte tam bu a\u015famada, altyap\u0131y\u0131 kod olarak (Infrastructure as Code &#8211; IaC) tan\u0131mlaman\u0131n g\u00fcc\u00fcn\u00fc kullanan Terraform gibi ara\u00e7lar, bize b\u00fcy\u00fck bir kolayl\u0131k sunar. Terraform, karma\u015f\u0131k AWS kaynaklar\u0131n\u0131 tutarl\u0131, tekrarlanabilir ve s\u00fcr\u00fcm kontrol\u00fcne tabi bir \u015fekilde da\u011f\u0131tarak felaket kurtarma kurulumlar\u0131n\u0131 otomatize etmemizi sa\u011flar. Bu makalede, \u00e7ok b\u00f6lgeli bir felaket kurtarma kurulumunun temel prensiplerinden ba\u015flayarak, AWS&#8217;nin sundu\u011fu hizmetleri ve Terraform&#8217;un g\u00fcc\u00fcn\u00fc birle\u015ftirerek nas\u0131l sa\u011flam bir DR mimarisi olu\u015fturabilece\u011finizi ad\u0131m ad\u0131m ele alaca\u011f\u0131z. Hedefimiz, okuyucunun konuyu s\u0131f\u0131rdan anlayarak kendi DR stratejilerini geli\u015ftirebilmesini sa\u011flamakt\u0131r. Bu yolculukta ger\u00e7ek d\u00fcnya senaryolar\u0131na ve pratik kod \u00f6rneklerine de yer verece\u011fiz.<\/p>\n<h2>Temel Kavramlar: Felaket Kurtarma Modelleri ve Metrikleri Nelerdir?<\/h2>\n<p>Herhangi bir felaket kurtarma stratejisi geli\u015ftirmeden \u00f6nce, i\u015finizin gereksinimlerini anlamak ve do\u011fru hedefleri belirlemek kritik \u00f6neme sahiptir. Bu hedefler, genellikle iki ana metrikle ifade edilir: RTO ve RPO. Ayr\u0131ca, farkl\u0131 felaket kurtarma senaryolar\u0131na uygun \u00e7e\u015fitli modeller bulunmaktad\u0131r. Bu b\u00f6l\u00fcmde, bu temel kavramlar\u0131 detayl\u0131 bir \u015fekilde inceleyerek, hangi stratejinin sizin i\u00e7in en uygun olabilece\u011fine dair net bir anlay\u0131\u015f kazanman\u0131z\u0131 sa\u011flayaca\u011f\u0131z. Unutmay\u0131n ki do\u011fru strateji se\u00e7imi, hem maliyetleri optimize etmenize hem de felaket an\u0131nda h\u0131zl\u0131 ve etkili bir kurtarma ger\u00e7ekle\u015ftirmenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>RTO (Recovery Time Objective) ve RPO (Recovery Point Objective) Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p><strong>RTO (Recovery Time Objective &#8211; Kurtarma S\u00fcresi Hedefi)<\/strong>, bir felaket sonras\u0131 hizmetlerin ne kadar s\u00fcre i\u00e7inde yeniden \u00e7al\u0131\u015f\u0131r hale gelmesi gerekti\u011fini ifade eder. Yani, sistemleriniz tamamen kesintiye u\u011frad\u0131ktan sonra, maksimum ne kadar s\u00fcre i\u00e7inde normal operasyonlara d\u00f6nebilece\u011finizi g\u00f6steren bir hedeftir. \u00d6rne\u011fin, bir web sitesinin RTO&#8217;su 4 saat ise, felaketten sonra en ge\u00e7 4 saat i\u00e7inde web sitesinin eri\u015filebilir olmas\u0131 gerekir. Bu s\u00fcre; i\u015finizin kritikli\u011fi, m\u00fc\u015fteri beklentileri ve finansal kay\u0131plar gibi fakt\u00f6rlere ba\u011fl\u0131 olarak belirlenir. RTO&#8217;yu ne kadar k\u0131salt\u0131rsan\u0131z, genellikle o kadar \u00e7ok maliyetle kar\u015f\u0131la\u015f\u0131rs\u0131n\u0131z, \u00e7\u00fcnk\u00fc daha k\u0131sa RTO&#8217;lar daha fazla kaynak ve otomasyon gerektirir.<\/p>\n<p><strong>RPO (Recovery Point Objective &#8211; Kurtarma Noktas\u0131 Hedefi)<\/strong> ise, bir felaket durumunda kaybedilebilecek maksimum veri miktar\u0131d\u0131r. Bir di\u011fer deyi\u015fle, felaketin meydana geldi\u011fi an ile en son ge\u00e7erli yedekleme veya replikasyon noktas\u0131 aras\u0131ndaki zaman dilimini ifade eder. E\u011fer bir veritaban\u0131n\u0131n RPO&#8217;su 15 dakika ise, felaket an\u0131nda en fazla 15 dakikal\u0131k veri kayb\u0131n\u0131 kabul ediyorsunuz demektir. RPO ne kadar d\u00fc\u015f\u00fck olursa, veri kayb\u0131 riski o kadar azal\u0131r. S\u0131f\u0131ra yak\u0131n RPO&#8217;lar i\u00e7in genellikle s\u00fcrekli veri replikasyonu veya senkronizasyonu gibi daha karma\u015f\u0131k ve maliyetli \u00e7\u00f6z\u00fcmler gereklidir. \u0130\u015f birimleriyle yak\u0131n \u00e7al\u0131\u015farak bu hedefleri ger\u00e7ek\u00e7i bir \u015fekilde belirlemek, ba\u015far\u0131l\u0131 bir DR stratejisinin temelini olu\u015fturur.<\/p>\n<h3>Felaket Kurtarma Stratejileri: So\u011fuk, Il\u0131k ve S\u0131cak Bekleme Modelleri<\/h3>\n<p>AWS gibi bulut ortamlar\u0131nda uygulanabilecek \u00e7e\u015fitli felaket kurtarma stratejileri bulunmaktad\u0131r. Bu stratejiler genellikle RTO ve RPO hedeflerinize, b\u00fct\u00e7enize ve karma\u015f\u0131kl\u0131k tolerans\u0131n\u0131za g\u00f6re se\u00e7ilir:<\/p>\n<ol>\n<li><strong>Yedekleme ve Geri Y\u00fckleme (Backup and Restore &#8211; So\u011fuk Bekleme):<\/strong> Bu en temel ve en uygun maliyetli yakla\u015f\u0131md\u0131r. Verileriniz d\u00fczenli olarak farkl\u0131 bir b\u00f6lgeye yedeklenir. Bir felaket durumunda, bu yedeklerden yeni bir altyap\u0131 olu\u015fturulur ve veriler geri y\u00fcklenir. RTO ve RPO hedefleri genellikle saatler veya g\u00fcnler mertebesindedir. \u00d6rne\u011fin, S3&#8217;e yedeklenen EBS snapshot&#8217;lar\u0131 veya RDS anl\u0131k g\u00f6r\u00fcnt\u00fcleri bu kategoriye girer. Bu model, kritik olmayan uygulamalar veya maliyeti \u00f6n planda tutan senaryolar i\u00e7in uygundur.<\/li>\n<li><strong>Pilot Light (Il\u0131k Bekleme):<\/strong> Bu model, temel altyap\u0131n\u0131n (veri tabanlar\u0131, a\u011f yap\u0131land\u0131rmas\u0131 gibi) yedek b\u00f6lgede s\u00fcrekli \u00e7al\u0131\u015f\u0131r durumda tutuldu\u011fu bir yakla\u015f\u0131md\u0131r. Uygulama sunucular\u0131 gibi daha maliyetli kaynaklar ise felaket an\u0131na kadar kapal\u0131 veya minimum kapasitede bekletilir. Bir felaket durumunda, bu kapal\u0131 kaynaklar devreye al\u0131n\u0131r ve kapasite art\u0131r\u0131larak tam operasyonel hale getirilir. RTO ve RPO genellikle dakikalar veya saatler mertebesindedir. RDS Read Replica&#8217;lar veya replike edilmi\u015f S3 bucket&#8217;lar\u0131 bu stratejinin temelini olu\u015fturabilir. Daha d\u00fc\u015f\u00fck RTO&#8217;lar elde etmek isteyen ancak maliyetleri de d\u00fc\u015f\u00fcnd\u00fcren i\u015fletmeler i\u00e7in ideal bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/li>\n<li><strong>Warm Standby (S\u0131cak Bekleme &#8211; geli\u015fmi\u015f Il\u0131k Bekleme):<\/strong> Pilot Light&#8217;a benzer ancak yedek b\u00f6lgedeki altyap\u0131, birincil b\u00f6lgenin tam kapasitesinin k\u00fc\u00e7\u00fck bir k\u0131sm\u0131yla s\u00fcrekli \u00e7al\u0131\u015f\u0131r durumdad\u0131r. Bu, felaket an\u0131nda daha h\u0131zl\u0131 bir ge\u00e7i\u015f sa\u011flar, \u00e7\u00fcnk\u00fc sistemler zaten minimum y\u00fckle \u00e7al\u0131\u015fmaktad\u0131r. \u00d6l\u00e7eklendirme i\u015flemi daha h\u0131zl\u0131 ger\u00e7ekle\u015fir. RTO ve RPO genellikle dakikalar mertebesindedir. Genellikle Auto Scaling Gruplar\u0131 ve Load Balancer&#8217;lar ile birlikte kullan\u0131l\u0131r.<\/li>\n<li><strong>Multi-Site Active-Active (S\u0131cak Bekleme &#8211; Tamamen Etkin):<\/strong> Bu, en karma\u015f\u0131k ve en maliyetli ancak en y\u00fcksek kullan\u0131labilirli\u011fi ve en d\u00fc\u015f\u00fck RTO\/RPO&#8217;yu sunan yakla\u015f\u0131md\u0131r. Uygulama ayn\u0131 anda birden fazla b\u00f6lgede tam kapasiteyle \u00e7al\u0131\u015f\u0131r ve gelen trafik bu b\u00f6lgeler aras\u0131nda da\u011f\u0131t\u0131l\u0131r. Veri replikasyonu genellikle senkron veya near-real-time (neredeyse ger\u00e7ek zamanl\u0131) olarak yap\u0131l\u0131r. Bu sayede, bir b\u00f6lgedeki felaket durumunda di\u011fer b\u00f6lge an\u0131nda trafi\u011fi devralabilir ve neredeyse hi\u00e7 kesinti ya\u015fanmaz. RTO ve RPO genellikle saniyeler mertebesindedir.<\/li>\n<\/ol>\n<p>AWS Region&#8217;lar\u0131 co\u011frafi olarak ayr\u0131lm\u0131\u015f, ba\u011f\u0131ms\u0131z veri merkezleri k\u00fcmeleridir ve her Region, kendi i\u00e7inde izole edilmi\u015f birden fazla Availability Zone (AZ) i\u00e7erir. AZ&#8217;ler, bir Region i\u00e7indeki ayr\u0131 veri merkezleridir ve birbirlerinden ba\u011f\u0131ms\u0131z g\u00fc\u00e7, a\u011f ve so\u011futma sistemlerine sahiptir. \u00c7ok b\u00f6lgeli bir DR kurulumunda, farkl\u0131 Region&#8217;lar\u0131 kullanarak b\u00f6lgesel felaketlere kar\u015f\u0131 korunurken, her bir Region i\u00e7indeki AZ&#8217;ler aras\u0131 da\u011f\u0131t\u0131m ile de AZ bazl\u0131 kesintilere kar\u015f\u0131 dayan\u0131kl\u0131l\u0131k sa\u011flan\u0131r. Bu iki katmanl\u0131 yakla\u015f\u0131m, maksimum dayan\u0131kl\u0131l\u0131k i\u00e7in kritik \u00f6neme sahiptir.<\/p>\n<h2>Terraform ile Altyap\u0131y\u0131 Kod Olarak Tan\u0131mlamak: Neden IaC Tercih Ediyoruz?<\/h2>\n<p>Felaket kurtarma mimarileri genellikle birden fazla b\u00f6lgeye yay\u0131lan karma\u015f\u0131k altyap\u0131lar gerektirir. Bu altyap\u0131y\u0131 manuel olarak kurmak ve y\u00f6netmek, hem zaman al\u0131c\u0131 hem de insan hatas\u0131na a\u00e7\u0131k bir s\u00fcre\u00e7tir. \u0130\u015fte bu noktada, Altyap\u0131y\u0131 Kod Olarak (Infrastructure as Code &#8211; IaC) yakla\u015f\u0131m\u0131 devreye girer. IaC, sunucular, a\u011flar, depolama ve veritabanlar\u0131 gibi altyap\u0131 kaynaklar\u0131n\u0131n yap\u0131land\u0131rmas\u0131n\u0131 ve y\u00f6netimini kod arac\u0131l\u0131\u011f\u0131yla otomatize etme prati\u011fidir. Terraform ise bu IaC ara\u00e7lar\u0131n\u0131n en pop\u00fcler ve g\u00fc\u00e7l\u00fc \u00f6rneklerinden biridir. Neden mi IaC ve Terraform&#8217;u felaket kurtarma i\u00e7in tercih etmeliyiz? \u00c7\u00fcnk\u00fc otomasyon, tutarl\u0131l\u0131k ve h\u0131z, DR senaryolar\u0131nda hayati \u00f6neme sahiptir.<\/p>\n<h3>Terraform&#8217;un Felaket Kurtarmadaki Rol\u00fc Nedir?<\/h3>\n<p>Terraform, felaket kurtarma stratejilerini uygulamada bir dizi avantaj sunar:<\/p>\n<ul>\n<li><strong>Otomasyon ve H\u0131z:<\/strong> Bir felaket an\u0131nda her saniye de\u011ferlidir. Terraform ile yedek b\u00f6lgedeki t\u00fcm altyap\u0131y\u0131 saniyeler i\u00e7inde aya\u011fa kald\u0131rabilirsiniz. Manuel kurulumun aksine, uzun s\u00fcren yap\u0131land\u0131rma i\u015flemleriyle u\u011fra\u015fmak zorunda kalmazs\u0131n\u0131z. Bu otomasyon, RTO hedeflerinize ula\u015fman\u0131z\u0131 kolayla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>Tutarl\u0131l\u0131k ve Tekrarlanabilirlik:<\/strong> \u0130nsan hatas\u0131, manuel s\u00fcre\u00e7lerin ka\u00e7\u0131n\u0131lmaz bir par\u00e7as\u0131d\u0131r. Terraform, altyap\u0131n\u0131z\u0131 kod olarak tan\u0131mlad\u0131\u011f\u0131n\u0131z i\u00e7in, her da\u011f\u0131t\u0131m\u0131n ayn\u0131 sonucu vermesini sa\u011flar. Bu, ana ve yedek b\u00f6lgeler aras\u0131ndaki tutarl\u0131l\u0131\u011f\u0131 garantiler ve kurtarma s\u00fcre\u00e7lerindeki hatalar\u0131 minimuma indirir. Altyap\u0131n\u0131z\u0131n bir kopyas\u0131n\u0131 farkl\u0131 bir b\u00f6lgede, hatta farkl\u0131 bir AWS hesab\u0131nda bile tamamen ayn\u0131 \u015fekilde olu\u015fturabilirsiniz.<\/li>\n<li><strong>S\u00fcr\u00fcm Kontrol\u00fc ve Geri Alma:<\/strong> Terraform yap\u0131land\u0131rma dosyalar\u0131 (<code>.tf<\/code> uzant\u0131l\u0131 dosyalar), Git gibi s\u00fcr\u00fcm kontrol sistemlerinde saklanabilir. Bu sayede, altyap\u0131 de\u011fi\u015fikliklerini takip edebilir, kimin ne zaman hangi de\u011fi\u015fikli\u011fi yapt\u0131\u011f\u0131n\u0131 g\u00f6rebilir ve gerekti\u011finde \u00f6nceki bir versiyona geri d\u00f6nebilirsiniz. Bu \u00f6zellik, \u00f6zellikle karma\u015f\u0131k DR mimarilerinde hata ay\u0131klama ve denetim i\u00e7in paha bi\u00e7ilmezdir.<\/li>\n<li><strong>Maliyet Optimizasyonu:<\/strong> Pilot Light gibi DR stratejilerinde, yedek b\u00f6lgede sadece minimum kaynaklar\u0131 \u00e7al\u0131\u015f\u0131r durumda tutmak istenir. Terraform ile bu minimum altyap\u0131y\u0131 kolayca tan\u0131mlayabilir ve felaket durumunda ek kaynaklar\u0131 an\u0131nda devreye alabilirsiniz. Bu, gereksiz kaynaklar\u0131n \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 \u00f6nleyerek maliyetleri d\u00fc\u015f\u00fcrmeye yard\u0131mc\u0131 olur.<\/li>\n<\/ul>\n<p>Terraform&#8217;un temel \u00e7al\u0131\u015fma prensibi olduk\u00e7a basittir: \u0130stenen durumu (desired state) tan\u0131mlars\u0131n\u0131z ve Terraform, mevcut durumu (current state) bu istenen duruma getirmek i\u00e7in gerekli AWS API \u00e7a\u011fr\u0131lar\u0131n\u0131 yapar. Temel Terraform komutlar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><code>terraform init<\/code>: Terraform yap\u0131land\u0131rma dizinini ba\u015flat\u0131r, gerekli sa\u011flay\u0131c\u0131 eklentilerini (AWS provider gibi) indirir.<\/li>\n<li><code>terraform plan<\/code>: Yap\u0131land\u0131rma dosyalar\u0131nda tan\u0131mlanan kaynaklar\u0131 mevcut durumla kar\u015f\u0131la\u015ft\u0131r\u0131r ve yap\u0131lacak de\u011fi\u015fiklikleri g\u00f6sterir. Bu komut, bir &#8220;kuru \u00e7al\u0131\u015ft\u0131rma&#8221; gibidir ve ger\u00e7ek bir de\u011fi\u015fiklik yapmaz.<\/li>\n<li><code>terraform apply<\/code>: <code>plan<\/code> \u00e7\u0131kt\u0131s\u0131nda g\u00f6sterilen de\u011fi\u015fiklikleri AWS hesab\u0131n\u0131zda uygular ve kaynaklar\u0131 olu\u015fturur veya g\u00fcnceller.<\/li>\n<li><code>terraform destroy<\/code>: Terraform taraf\u0131ndan olu\u015fturulan t\u00fcm kaynaklar\u0131 temizler. Bu, test ortamlar\u0131n\u0131 h\u0131zl\u0131ca kald\u0131rmak veya maliyetleri d\u00fc\u015f\u00fcrmek i\u00e7in faydal\u0131d\u0131r.<\/li>\n<\/ul>\n<p>Terraform projeleri genellikle <code>main.tf<\/code> (ana kaynak tan\u0131mlar\u0131), <code>variables.tf<\/code> (de\u011fi\u015fken tan\u0131mlar\u0131) ve <code>outputs.tf<\/code> (\u00e7\u0131kt\u0131 tan\u0131mlar\u0131) gibi dosyalardan olu\u015fur. \u00d6rne\u011fin, farkl\u0131 bir b\u00f6lgede bir EC2 \u00f6rne\u011fi olu\u015fturmak i\u00e7in a\u015fa\u011f\u0131daki gibi bir yap\u0131land\u0131rma dosyas\u0131 kullanabiliriz:<\/p>\n<pre><code class=\"language-hcl\">\n# main.tf\n\n# AWS sa\u011flay\u0131c\u0131s\u0131n\u0131 us-east-1 b\u00f6lgesinde yap\u0131land\u0131r\nprovider \"aws\" {\n  region = \"us-east-1\"\n  alias  = \"primary\" # Birincil b\u00f6lge i\u00e7in takma ad\n}\n\n# AWS sa\u011flay\u0131c\u0131s\u0131n\u0131 us-west-2 b\u00f6lgesinde yap\u0131land\u0131r (yedek b\u00f6lge)\nprovider \"aws\" {\n  region = \"us-west-2\"\n  alias  = \"secondary\" # \u0130kincil b\u00f6lge i\u00e7in takma ad\n}\n\n# Birincil b\u00f6lgede EC2 \u00f6rne\u011fi\nresource \"aws_instance\" \"primary_web_server\" {\n  provider      = aws.primary\n  ami           = \"ami-0abcdef1234567890\" # L\u00fctfen g\u00fcncel bir AMI ID kullan\u0131n\n  instance_type = \"t2.micro\"\n  tags = {\n    Name = \"PrimaryWebServer\"\n  }\n}\n\n# \u0130kincil b\u00f6lgede (yedek) EC2 \u00f6rne\u011fi\nresource \"aws_instance\" \"secondary_web_server\" {\n  provider      = aws.secondary\n  ami           = \"ami-0fedcba9876543210\" # L\u00fctfen g\u00fcncel bir AMI ID kullan\u0131n\n  instance_type = \"t2.micro\"\n  tags = {\n    Name = \"SecondaryWebServer\"\n  }\n  # Bu \u00f6rne\u011fi felaket an\u0131na kadar kapal\u0131 tutmak i\u00e7in yorum sat\u0131r\u0131 olarak b\u0131rak\u0131yoruz:\n  # user_data = file(\"bootstrap.sh\") # Uygulama kurulumu i\u00e7in\n  # Bu kayna\u011f\u0131n otomatik olarak olu\u015fturulmas\u0131n\u0131 engellemek i\u00e7in lifecycle blo\u011fu kullan\u0131labilir:\n  # lifecycle {\n  #   prevent_destroy = true\n  # }\n}\n\noutput \"primary_instance_ip\" {\n  description = \"Birincil web sunucusunun genel IP adresi.\"\n  value       = aws_instance.primary_web_server.public_ip\n}\n\noutput \"secondary_instance_ip\" {\n  description = \"\u0130kincil web sunucusunun genel IP adresi (\u015fu an kapal\u0131).\"\n  value       = aws_instance.secondary_web_server.public_ip\n}\n        <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekte, ayn\u0131 anda iki farkl\u0131 AWS b\u00f6lgesinde kaynak tan\u0131mlayabiliyoruz. Bu esneklik, \u00e7ok b\u00f6lgeli DR kurulumlar\u0131 i\u00e7in Terraform'u vazge\u00e7ilmez k\u0131lar. Bu sayede, felaket an\u0131nda yedek b\u00f6lgedeki sunucular\u0131 an\u0131nda ba\u015flatarak ve uygulama yap\u0131land\u0131rmalar\u0131n\u0131 devreye alarak h\u0131zl\u0131 bir ge\u00e7i\u015f sa\u011flayabiliriz.<\/p>\n<h2>\u00c7ok B\u00f6lgeli Bir Felaket Kurtarma Senaryosu Olu\u015fturma: Ad\u0131m Ad\u0131m Rehber<\/h2>\n<p>Art\u0131k temel kavramlara ve Terraform'un g\u00fcc\u00fcne a\u015fina oldu\u011funuza g\u00f6re, ger\u00e7ek bir \u00e7ok b\u00f6lgeli felaket kurtarma (DR) senaryosu olu\u015fturman\u0131n ad\u0131mlar\u0131na ge\u00e7ebiliriz. Bu b\u00f6l\u00fcmde, pop\u00fcler bir DR stratejisi olan \"Pilot Light\" mimarisini temel alarak, birincil ve ikincil b\u00f6lgelerde gerekli AWS kaynaklar\u0131n\u0131 Terraform ile nas\u0131l da\u011f\u0131taca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz. Bu senaryo, k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli bir e-ticaret sitesi gibi bir uygulamay\u0131 ele alacak ve veri tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flaman\u0131n yan\u0131 s\u0131ra, felaket an\u0131nda h\u0131zl\u0131 bir ge\u00e7i\u015f yapabilme yetene\u011fini g\u00f6sterecektir.<\/p>\n<h3>Senaryo Se\u00e7imi: Pilot Light Mimarisi Nas\u0131l Uygulan\u0131r?<\/h3>\n<p>Senaryomuz i\u00e7in birincil b\u00f6lgemiz <code>eu-central-1<\/code> (Frankfurt) ve ikincil b\u00f6lgemiz <code>eu-west-1<\/code> (Dublin) olacakt\u0131r. Uygulamam\u0131z, bir web sunucusu (EC2), bir ili\u015fkisel veritaban\u0131 (RDS) ve statik varl\u0131klar i\u00e7in bir S3 bucket'\u0131ndan olu\u015fmaktad\u0131r. Pilot Light stratejisinde, ikincil b\u00f6lgede veritaban\u0131n\u0131n bir kopyas\u0131 (\u00f6rne\u011fin bir RDS Read Replica) ve S3 verilerinin replikasyonu s\u00fcrekli olarak senkronize edilirken, EC2 web sunucusu gibi daha maliyetli i\u015flem kaynaklar\u0131 felaket an\u0131na kadar minimalde tutulur veya kapat\u0131l\u0131r.<\/p>\n<p>Bu yakla\u015f\u0131m, aktif-aktif bir setup kadar maliyetli de\u011fildir ancak yine de dakikalar i\u00e7inde bir kurtarma sa\u011flayarak Backup & Restore modelinden \u00e7ok daha d\u00fc\u015f\u00fck RTO\/RPO hedeflerine ula\u015fmam\u0131z\u0131 sa\u011flar. Veri replikasyonu, bu stratejinin kalbidir. RDS i\u00e7in Multi-AZ da\u011f\u0131t\u0131m\u0131 veya Read Replica'lar kullan\u0131l\u0131rken, S3 i\u00e7in Cross-Region Replication (CRR) \u00f6zelli\u011fi devreye girecektir. Felaket an\u0131nda, ikincil b\u00f6lgedeki Read Replica ana veritaban\u0131na terfi ettirilir, web sunucular\u0131 ba\u015flat\u0131l\u0131r ve DNS kay\u0131tlar\u0131 ikincil b\u00f6lgeye y\u00f6nlendirilir.<\/p>\n<h3>Terraform ile Temel Altyap\u0131 Kurulumu<\/h3>\n<p>\u015eimdi, bu mimariyi Terraform ile nas\u0131l olu\u015fturaca\u011f\u0131m\u0131za bakal\u0131m. \u0130lk ad\u0131m, AWS sa\u011flay\u0131c\u0131lar\u0131n\u0131 her iki b\u00f6lge i\u00e7in de yap\u0131land\u0131rmakt\u0131r.<\/p>\n<pre><code class=\"language-hcl\">\n# providers.tf\nprovider \"aws\" {\n  region = \"eu-central-1\" # Birincil b\u00f6lge\n  alias  = \"primary\"\n}\n\nprovider \"aws\" {\n  region = \"eu-west-1\" # \u0130kincil b\u00f6lge (felaket kurtarma)\n  alias  = \"secondary\"\n}\n        <\/pre>\n<p><\/code><\/p>\n<p>Ard\u0131ndan, her iki b\u00f6lgede de temel a\u011f altyap\u0131s\u0131n\u0131 (VPC, subnetler, g\u00fcvenlik gruplar\u0131) olu\u015ftural\u0131m. Basitlik ad\u0131na, her b\u00f6lgede tek bir VPC ve iki alt a\u011f (bir genel, bir \u00f6zel) tan\u0131mlayaca\u011f\u0131z. Ger\u00e7ek bir senaryoda, \u00fcretim ortam\u0131nda birden fazla AZ ve daha karma\u015f\u0131k a\u011f yap\u0131lar\u0131 kullanmak gerekebilir.<\/p>\n<pre><code class=\"language-hcl\">\n# network.tf\n\n# Birincil b\u00f6lge (eu-central-1) VPC ve Subnetler\nresource \"aws_vpc\" \"primary_vpc\" {\n  provider = aws.primary\n  cidr_block = \"10.0.0.0\/16\"\n  tags = {\n    Name = \"Primary-DR-VPC\"\n  }\n}\n\nresource \"aws_subnet\" \"primary_public_subnet\" {\n  provider = aws.primary\n  vpc_id     = aws_vpc.primary_vpc.id\n  cidr_block = \"10.0.1.0\/24\"\n  availability_zone = \"eu-central-1a\" # L\u00fctfen b\u00f6lgenizdeki ge\u00e7erli bir AZ kullan\u0131n\n  map_public_ip_on_launch = true\n  tags = {\n    Name = \"Primary-Public-Subnet\"\n  }\n}\n\nresource \"aws_subnet\" \"primary_private_subnet\" {\n  provider = aws.primary\n  vpc_id     = aws_vpc.primary_vpc.id\n  cidr_block = \"10.0.2.0\/24\"\n  availability_zone = \"eu-central-1a\" # L\u00fctfen b\u00f6lgenizdeki ge\u00e7erli bir AZ kullan\u0131n\n  tags = {\n    Name = \"Primary-Private-Subnet\"\n  }\n}\n\n# \u0130kincil b\u00f6lge (eu-west-1) VPC ve Subnetler (Pilot Light i\u00e7in minimumda)\nresource \"aws_vpc\" \"secondary_vpc\" {\n  provider = aws.secondary\n  cidr_block = \"10.1.0.0\/16\"\n  tags = {\n    Name = \"Secondary-DR-VPC\"\n  }\n}\n\nresource \"aws_subnet\" \"secondary_public_subnet\" {\n  provider = aws.secondary\n  vpc_id     = aws_vpc.secondary_vpc.id\n  cidr_block = \"10.1.1.0\/24\"\n  availability_zone = \"eu-west-1a\" # L\u00fctfen b\u00f6lgenizdeki ge\u00e7erli bir AZ kullan\u0131n\n  map_public_ip_on_launch = true\n  tags = {\n    Name = \"Secondary-Public-Subnet\"\n  }\n}\n\nresource \"aws_subnet\" \"secondary_private_subnet\" {\n  provider = aws.secondary\n  vpc_id     = aws_vpc.secondary_vpc.id\n  cidr_block = \"10.1.2.0\/24\"\n  availability_zone = \"eu-west-1a\" # L\u00fctfen b\u00f6lgenizdeki ge\u00e7erli bir AZ kullan\u0131n\n  tags = {\n    Name = \"Secondary-Private-Subnet\"\n  }\n}\n\n# G\u00fcvenlik Gruplar\u0131 (Basit \u00f6rnekler)\nresource \"aws_security_group\" \"primary_web_sg\" {\n  provider = aws.primary\n  name        = \"primary-web-sg\"\n  description = \"Allow HTTP and SSH\"\n  vpc_id      = aws_vpc.primary_vpc.id\n\n  ingress {\n    from_port   = 80\n    to_port     = 80\n    protocol    = \"tcp\"\n    cidr_blocks = [\"0.0.0.0\/0\"]\n  }\n  ingress {\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    cidr_blocks = [\"0.0.0.0\/0\"]\n  }\n  egress {\n    from_port   = 0\n    to_port     = 0\n    protocol    = \"-1\"\n    cidr_blocks = [\"0.0.0.0\/0\"]\n  }\n}\n\nresource \"aws_security_group\" \"secondary_web_sg\" {\n  provider = aws.secondary\n  name        = \"secondary-web-sg\"\n  description = \"Allow HTTP and SSH\"\n  vpc_id      = aws_vpc.secondary_vpc.id\n\n  ingress {\n    from_port   = 80\n    to_port     = 80\n    protocol    = \"tcp\"\n    cidr_blocks = [\"0.0.0.0\/0\"]\n  }\n  ingress {\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    cidr_blocks = [\"0.0.0.0\/0\"]\n  }\n  egress {\n    from_port   = 0\n    to_port     = 0\n    protocol    = \"-1\"\n    cidr_blocks = [\"0.0.0.0\/0\"]\n  }\n}\n        <\/pre>\n<p><\/code><\/p>\n<p><strong>Veritaban\u0131 Replikasyonu (RDS Read Replica):<\/strong> Pilot Light modelinde, birincil b\u00f6lgedeki RDS veritaban\u0131m\u0131z\u0131n bir Read Replica's\u0131n\u0131 ikincil b\u00f6lgede tutar\u0131z. Bu, veri kayb\u0131n\u0131 en aza indirmek i\u00e7in s\u00fcrekli replikasyon sa\u011flar. Felaket an\u0131nda bu Read Replica ana veritaban\u0131na terfi ettirilebilir.<\/p>\n<pre><code class=\"language-hcl\">\n# database.tf\n\n# Birincil b\u00f6lgede RDS instance\nresource \"aws_db_instance\" \"primary_db\" {\n  provider              = aws.primary\n  allocated_storage     = 20\n  engine                = \"mysql\"\n  engine_version        = \"8.0.28\"\n  instance_class        = \"db.t3.micro\"\n  name                  = \"ecommerce_db\"\n  username              = \"admin\"\n  password              = \"SecurePassword123\" # Ger\u00e7ek ortamda Secrets Manager kullan\u0131n\n  vpc_security_group_ids = [aws_security_group.primary_web_sg.id]\n  db_subnet_group_name  = \"primary-db-subnet-group\" # Terraform ile olu\u015fturulmal\u0131\n  skip_final_snapshot   = true # \u00dcretim ortam\u0131nda 'false' olmal\u0131\n  multi_az              = true # Y\u00fcksek eri\u015filebilirlik i\u00e7in\n  tags = {\n    Name = \"Primary-ECommerce-DB\"\n  }\n}\n\n# \u0130kincil b\u00f6lgede Read Replica (Pilot Light i\u00e7in)\nresource \"aws_db_instance\" \"secondary_db_replica\" {\n  provider                  = aws.secondary\n  engine                    = \"mysql\"\n  instance_class            = \"db.t3.micro\"\n  identifier                = \"ecommerce-replica-db\"\n  replicate_source_db       = aws_db_instance.primary_db.identifier\n  vpc_security_group_ids    = [aws_security_group.secondary_web_sg.id]\n  db_subnet_group_name      = \"secondary-db-subnet-group\" # Terraform ile olu\u015fturulmal\u0131\n  skip_final_snapshot       = true\n  multi_az                  = false # DR i\u00e7in yeterli, ana DB Multi-AZ ise\n  tags = {\n    Name = \"Secondary-ECommerce-DB-Replica\"\n  }\n}\n        <\/pre>\n<p><\/code><\/p>\n<p><strong>S3 Cross-Region Replication (CRR):<\/strong> Statik varl\u0131klar ve yedeklemeler i\u00e7in kullan\u0131lan S3 bucket'lar\u0131n\u0131n otomatik olarak yedek b\u00f6lgeye kopyalanmas\u0131 i\u00e7in CRR kullan\u0131r\u0131z.<\/p>\n<pre><code class=\"language-hcl\">\n# s3.tf\n\n# Birincil b\u00f6lge S3 Bucket\nresource \"aws_s3_bucket\" \"primary_assets_bucket\" {\n  provider = aws.primary\n  bucket   = \"my-ecommerce-assets-primary-region\"\n  acl      = \"private\"\n  versioning {\n    enabled = true\n  }\n  tags = {\n    Name = \"Primary-ECommerce-Assets\"\n  }\n}\n\n# \u0130kincil b\u00f6lge S3 Bucket\nresource \"aws_s3_bucket\" \"secondary_assets_bucket\" {\n  provider = aws.secondary\n  bucket   = \"my-ecommerce-assets-secondary-region\"\n  acl      = \"private\"\n  versioning {\n    enabled = true\n  }\n  tags = {\n    Name = \"Secondary-ECommerce-Assets\"\n  }\n}\n\n# Cross-Region Replication i\u00e7in gerekli IAM Role\nresource \"aws_iam_role\" \"s3_replication_role\" {\n  name = \"s3-replication-role\"\n\n  assume_role_policy = jsonencode({\n    Version = \"2012-10-17\",\n    Statement = [\n      {\n        Action = \"sts:AssumeRole\",\n        Effect = \"Allow\",\n        Principal = {\n          Service = \"s3.amazonaws.com\"\n        }\n      },\n    ],\n  })\n}\n\nresource \"aws_iam_policy\" \"s3_replication_policy\" {\n  name = \"s3-replication-policy\"\n\n  policy = jsonencode({\n    Version = \"2012-10-17\",\n    Statement = [\n      {\n        Action = [\n          \"s3:GetReplicationConfiguration\",\n          \"s3:ListBucket\",\n        ],\n        Effect   = \"Allow\",\n        Resource = [\n          aws_s3_bucket.primary_assets_bucket.arn,\n        ]\n      },\n      {\n        Action = [\n          \"s3:GetObjectVersion\",\n          \"s3:GetObjectVersionAcl\",\n          \"s3:GetObjectVersionTagging\",\n        ],\n        Effect   = \"Allow\",\n        Resource = [\n          \"${aws_s3_bucket.primary_assets_bucket.arn}\/*\",\n        ]\n      },\n      {\n        Action = [\n          \"s3:ReplicateObject\",\n          \"s3:ReplicateDelete\",\n          \"s3:ReplicateTags\",\n        ],\n        Effect   = \"Allow\",\n        Resource = [\n          \"${aws_s3_bucket.secondary_assets_bucket.arn}\/*\",\n        ]\n      },\n    ],\n  })\n}\n\nresource \"aws_iam_role_policy_attachment\" \"s3_replication_attach\" {\n  role       = aws_iam_role.s3_replication_role.name\n  policy_arn = aws_iam_policy.s3_replication_policy.arn\n}\n\n# Cross-Region Replication yap\u0131land\u0131rmas\u0131\nresource \"aws_s3_bucket_replication_configuration\" \"primary_to_secondary\" {\n  provider = aws.primary\n  role     = aws_iam_role.s3_replication_role.arn\n  bucket   = aws_s3_bucket.primary_assets_bucket.id\n\n  rule {\n    id     = \"replicate-all-objects\"\n    status = \"Enabled\"\n    destination {\n      bucket        = aws_s3_bucket.secondary_assets_bucket.arn\n      storage_class = \"STANDARD\"\n      replication_time {\n        status  = \"Enabled\"\n        minutes = 15 # RPO hedefi\n      }\n    }\n  }\n}\n        <\/pre>\n<p><\/code><\/p>\n<p><strong>Web Sunucular\u0131 (EC2 ve Auto Scaling Group):<\/strong> Birincil b\u00f6lgede aktif web sunucular\u0131m\u0131z olacak. \u0130kincil b\u00f6lgede ise Pilot Light stratejisine uygun olarak, felaket an\u0131na kadar bu sunucular\u0131 ya kapal\u0131 tutar\u0131z ya da minimum kapasitede (0 instance) bir Auto Scaling Group tan\u0131mlar\u0131z. Felaket durumunda bu grup \u00f6l\u00e7eklendirilir.<\/p>\n<pre><code class=\"language-hcl\">\n# webserver.tf\n\n# Birincil b\u00f6lge Web Sunucusu (\u00d6rnek)\nresource \"aws_instance\" \"primary_web_instance\" {\n  provider             = aws.primary\n  ami                  = \"ami-0abcdef1234567890\" # eu-central-1 i\u00e7in uygun bir AMI\n  instance_type        = \"t2.micro\"\n  subnet_id            = aws_subnet.primary_public_subnet.id\n  vpc_security_group_ids = [aws_security_group.primary_web_sg.id]\n  tags = {\n    Name = \"Primary-ECommerce-WebServer\"\n  }\n}\n\n# \u0130kincil b\u00f6lge Web Sunucusu i\u00e7in Launch Configuration ve Auto Scaling Group\n# Pilot Light i\u00e7in ASG'yi min_size = 0, desired_capacity = 0 olarak ayarl\u0131yoruz.\nresource \"aws_launch_configuration\" \"secondary_web_lc\" {\n  provider            = aws.secondary\n  name_prefix         = \"secondary-web-lc-\"\n  image_id            = \"ami-0fedcba9876543210\" # eu-west-1 i\u00e7in uygun bir AMI\n  instance_type       = \"t2.micro\"\n  security_groups     = [aws_security_group.secondary_web_sg.id]\n  # user_data = file(\"bootstrap.sh\") # Uygulama kurulum beti\u011fi\n\n  lifecycle {\n    create_before_destroy = true\n  }\n}\n\nresource \"aws_autoscaling_group\" \"secondary_web_asg\" {\n  provider              = aws.secondary\n  name                  = \"secondary-web-asg\"\n  launch_configuration  = aws_launch_configuration.secondary_web_lc.name\n  vpc_zone_identifier   = [aws_subnet.secondary_public_subnet.id]\n  min_size              = 0 # Pilot Light: Normalde 0, felakette \u00f6l\u00e7eklenir\n  max_size              = 2\n  desired_capacity      = 0 # Pilot Light: Normalde 0, felakette \u00f6l\u00e7eklenir\n\n  health_check_type          = \"EC2\"\n  termination_policies       = [\"OldestInstance\"]\n  wait_for_capacity_timeout  = \"5m\"\n  tags = [\n    {\n      key                 = \"Name\"\n      value               = \"Secondary-ECommerce-WebServer\"\n      propagate_at_launch = true\n    }\n  ]\n}\n        <\/pre>\n<p><\/code><\/p>\n<div class=\"expert-tip\">\n            Uzman \u0130pucu: AMI'leri b\u00f6lgeler aras\u0131 kopyalayarak ayn\u0131 i\u015fletim sistemi ve uygulama yap\u0131land\u0131rmas\u0131na sahip EC2 \u00f6rnekleri olu\u015fturabilirsiniz. Bu, felaket an\u0131nda h\u0131zl\u0131 ve tutarl\u0131 bir da\u011f\u0131t\u0131m i\u00e7in kritik \u00f6neme sahiptir.\n        <\/div>\n<h3>Uygulama Da\u011f\u0131t\u0131m\u0131 ve DNS Y\u00f6nlendirmesi<\/h3>\n<p>Uygulaman\u0131n kendisinin (kod taban\u0131) da\u011f\u0131t\u0131m\u0131 i\u00e7in genellikle CI\/CD boru hatlar\u0131 kullan\u0131l\u0131r. Felaket an\u0131nda, ikincil b\u00f6lgedeki Auto Scaling Group tetiklenir, yeni EC2 \u00f6rnekleri ba\u015flat\u0131l\u0131r ve bu \u00f6rneklere uygulama kodu da\u011f\u0131t\u0131l\u0131r. En son ad\u0131m ise DNS y\u00f6nlendirmesidir. AWS Route 53 kullanarak, birincil b\u00f6lgenin sa\u011fl\u0131k durumunu izleyebilir ve bir sorun alg\u0131land\u0131\u011f\u0131nda trafi\u011fi otomatik olarak ikincil b\u00f6lgeye y\u00f6nlendirebiliriz.<\/p>\n<pre><code class=\"language-hcl\">\n# dns.tf\n\nresource \"aws_route53_zone\" \"main\" {\n  name = \"example.com\" # Alan ad\u0131n\u0131z\u0131 buraya yaz\u0131n\n}\n\n# Birincil b\u00f6lge i\u00e7in DNS kayd\u0131 (\u00f6rnek)\nresource \"aws_route53_record\" \"primary_app\" {\n  zone_id = aws_route53_zone.main.zone_id\n  name    = \"app.example.com\"\n  type    = \"A\"\n  ttl     = 60 # D\u00fc\u015f\u00fck TTL, failover s\u00fcresini k\u0131salt\u0131r\n  records = [aws_instance.primary_web_instance.public_ip]\n  \n  # Sa\u011fl\u0131k kontrol\u00fc ve failover i\u00e7in yorum sat\u0131r\u0131 b\u0131rak\u0131lan k\u0131s\u0131m:\n  # set_identifier = \"primary-region\"\n  # failover_routing_policy {\n  #   type = \"PRIMARY\"\n  # }\n  # health_check_id = aws_route53_health_check.primary_health_check.id\n}\n\n# \u0130kincil b\u00f6lge i\u00e7in DNS kayd\u0131 (\u00f6rnek)\nresource \"aws_route53_record\" \"secondary_app\" {\n  zone_id = aws_route53_zone.main.zone_id\n  name    = \"app.example.com\"\n  type    = \"A\"\n  ttl     = 60\n  records = [\"${aws_autoscaling_group.secondary_web_asg.name}.elb.amazonaws.com\"] # ASG'nin arkas\u0131ndaki Load Balancer DNS'i\n  \n  # Sa\u011fl\u0131k kontrol\u00fc ve failover i\u00e7in yorum sat\u0131r\u0131 b\u0131rak\u0131lan k\u0131s\u0131m:\n  # set_identifier = \"secondary-region\"\n  # failover_routing_policy {\n  #   type = \"SECONDARY\"\n  # }\n  # health_check_id = aws_route53_health_check.secondary_health_check.id\n  # depends_on = [aws_autoscaling_group.secondary_web_asg]\n}\n\n# Health Check \u00f6rnekleri (ger\u00e7ek bir Load Balancer veya EC2 IP'si ile ili\u015fkilendirilmelidir)\n# resource \"aws_route53_health_check\" \"primary_health_check\" {\n#   fqdn              = \"primary-app.example.com\" # Birincil uygulaman\u0131n Load Balancer DNS'i\n#   port              = 80\n#   type              = \"HTTP\"\n#   resource_path     = \"\/health\"\n#   failure_threshold = 3\n#   request_interval  = 30\n# }\n\n# resource \"aws_route53_health_check\" \"secondary_health_check\" {\n#   fqdn              = \"secondary-app.example.com\" # \u0130kincil uygulaman\u0131n Load Balancer DNS'i\n#   port              = 80\n#   type              = \"HTTP\"\n#   resource_path     = \"\/health\"\n#   failure_threshold = 3\n#   request_interval  = 30\n# }\n        <\/pre>\n<p><\/code><\/p>\n<p>Yukar\u0131daki \u00f6rnekler, birincil ve ikincil b\u00f6lgelerde temel altyap\u0131n\u0131n nas\u0131l yap\u0131land\u0131r\u0131labilece\u011fini g\u00f6steriyor. Ger\u00e7ek bir senaryoda, Load Balancer'lar, NAT Gateway'ler, Internet Gateway'ler gibi ek a\u011f bile\u015fenleri de eklenmelidir. Ayr\u0131ca, DNS failover mekanizmas\u0131n\u0131 tam olarak kurmak i\u00e7in Route 53 sa\u011fl\u0131k kontrolleri ve politika tabanl\u0131 y\u00f6nlendirme (failover routing policy) aktif olarak kullan\u0131lmal\u0131d\u0131r. Birincil b\u00f6lgedeki kaynaklar sa\u011fl\u0131k kontrol\u00fcn\u00fc ge\u00e7emedi\u011finde, Route 53 otomatik olarak trafi\u011fi ikincil b\u00f6lgedeki kaynaklara y\u00f6nlendirecektir. Bu, felaket kurtarma s\u00fcrecinin \u00f6nemli bir otomasyon aya\u011f\u0131d\u0131r.<\/p>\n<p><strong>Vaka Analizi: K\u00fc\u00e7\u00fck Bir E-ticaret Sitesinin DR Kurulumu<\/strong><\/p>\n<p>Diyelim ki \"Sepetim.com\" ad\u0131nda k\u00fc\u00e7\u00fck bir e-ticaret sitesi i\u015fletiyorsunuz. Ana m\u00fc\u015fteri kitleniz Avrupa'da, bu y\u00fczden birincil AWS b\u00f6lgeniz olarak Frankfurt'u (eu-central-1) se\u00e7tiniz. Ancak, bir b\u00f6lgesel kesintinin i\u015finizi tamamen durdurmas\u0131n\u0131 istemiyorsunuz. RTO hedefiniz 1 saat, RPO hedefiniz ise 15 dakikad\u0131r.<\/p>\n<p>Bu durumda, yukar\u0131da g\u00f6sterdi\u011fimiz Pilot Light mimarisi Sepetim.com i\u00e7in idealdir. Terraform kullanarak:<\/p>\n<ul>\n<li>Frankfurt'ta tam i\u015flevli bir uygulama altyap\u0131s\u0131 (Web sunucular\u0131, RDS Multi-AZ veritaban\u0131, S3 statik varl\u0131klar) kurars\u0131n\u0131z.<\/li>\n<li>Dublin'de (eu-west-1) ise bir RDS Read Replica's\u0131n\u0131 Frankfurt'taki ana veritaban\u0131ndan veri \u00e7ekmek \u00fczere yap\u0131land\u0131r\u0131rs\u0131n\u0131z. S3 bucket'lar\u0131n\u0131z i\u00e7in Cross-Region Replication'\u0131 etkinle\u015ftirirsiniz.<\/li>\n<li>Dublin'de, web sunucular\u0131n\u0131 bar\u0131nd\u0131racak bir Auto Scaling Group'u <code>min_size = 0<\/code> ve <code>desired_capacity = 0<\/code> olarak ayarlars\u0131n\u0131z. Yani, felaket an\u0131na kadar bu sunucular aktif olmaz, maliyet yaratmaz.<\/li>\n<li>Route 53 \u00fczerinde, Sepetim.com domaini i\u00e7in birincil olarak Frankfurt'u g\u00f6steren bir A kayd\u0131 ve sa\u011fl\u0131k kontrolleri ile birlikte, ikincil olarak Dublin'deki Auto Scaling Group'un arkas\u0131ndaki y\u00fck dengeleyiciyi g\u00f6steren bir failover kayd\u0131 olu\u015fturursunuz.<\/li>\n<\/ul>\n<p>Bir felaket an\u0131nda (\u00f6rne\u011fin Frankfurt b\u00f6lgesi tamamen devre d\u0131\u015f\u0131 kald\u0131\u011f\u0131nda):<\/p>\n<ol>\n<li>Route 53 sa\u011fl\u0131k kontrolleri Frankfurt'taki uygulaman\u0131n eri\u015filemez oldu\u011funu tespit eder.<\/li>\n<li>DNS kay\u0131tlar\u0131 otomatik olarak Dublin'deki yedek siteye y\u00f6nlendirilir.<\/li>\n<li>Dublin'deki RDS Read Replica, birincil veritaban\u0131na terfi ettirilir.<\/li>\n<li>Dublin'deki Auto Scaling Group'un <code>desired_capacity<\/code> de\u011feri manuel veya otomatik olarak art\u0131r\u0131larak web sunucular\u0131 ba\u015flat\u0131l\u0131r.<\/li>\n<li>Uygulama kodlar\u0131 ve statik varl\u0131klar Dublin'deki yeni sunuculara ve replike edilmi\u015f S3 bucket'\u0131na y\u00f6nlendirilir.<\/li>\n<\/ol>\n<p>Bu sayede Sepetim.com, 15 dakikal\u0131k veri kayb\u0131 tolerans\u0131 ve 1 saat i\u00e7inde hizmete geri d\u00f6n\u00fc\u015f hedefiyle operasyonlar\u0131na devam edebilir. Bu, i\u015f s\u00fcreklili\u011fi i\u00e7in olduk\u00e7a pratik ve maliyet-etkin bir yakla\u015f\u0131md\u0131r.<\/p>\n<h2>\u0130leri D\u00fczey Teknikler ve En \u0130yi Uygulamalar: Daha Dayan\u0131kl\u0131 Sistemler \u0130\u00e7in Neler Yapmal\u0131y\u0131z?<\/h2>\n<p>\u00c7ok b\u00f6lgeli felaket kurtarma kurulumu, temel kaynaklar\u0131 da\u011f\u0131tmakla bitmez. Ger\u00e7ekten dayan\u0131kl\u0131, maliyet etkin ve g\u00fcvenli bir DR mimarisi olu\u015fturmak i\u00e7in baz\u0131 ileri d\u00fczey teknikleri ve en iyi uygulamalar\u0131 benimsemek \u015fartt\u0131r. Bu b\u00f6l\u00fcm, mevcut kurulumunuzu daha da g\u00fc\u00e7lendirmek i\u00e7in atabilece\u011finiz ek ad\u0131mlar\u0131 ve dikkat etmeniz gereken kritik noktalar\u0131 ele alacakt\u0131r.<\/p>\n<h3>Maliyet Optimizasyonu Nas\u0131l Sa\u011flan\u0131r?<\/h3>\n<p>Felaket kurtarma, ek kaynaklar gerektirdi\u011fi i\u00e7in do\u011fal olarak maliyetli olabilir. Ancak ak\u0131ll\u0131 stratejiler ve otomasyon ile bu maliyetleri \u00f6nemli \u00f6l\u00e7\u00fcde optimize edebilirsiniz:<\/p>\n<ul>\n<li><strong>Pilot Light ve Warm Standby Modelini Do\u011fru Kullan\u0131n:<\/strong> Tamamen aktif-aktif bir setup yerine, uygulamalar\u0131n\u0131z\u0131n kritiklik seviyesine g\u00f6re Pilot Light veya Warm Standby modellerini tercih edin. Bu modellerde, yedek b\u00f6lgede yaln\u0131zca minimum gerekli kaynaklar\u0131 (veri replikasyonu, temel a\u011f) \u00e7al\u0131\u015f\u0131r durumda tutarak i\u015flem maliyetlerini d\u00fc\u015f\u00fcrebilirsiniz. Felaket an\u0131nda devreye girecek EC2'leri ve di\u011fer i\u015flem kaynaklar\u0131n\u0131 kapal\u0131 tutmak, en b\u00fcy\u00fck maliyet tasarrufunu sa\u011flar.<\/li>\n<li><strong>On-Demand vs. Spot Instance Kullan\u0131m\u0131:<\/strong> Kritik olmayan i\u015f y\u00fckleri veya ge\u00e7ici test ortamlar\u0131 i\u00e7in ikincil b\u00f6lgede Spot Instance'lar\u0131 kullanarak \u00f6nemli \u00f6l\u00e7\u00fcde maliyet tasarrufu sa\u011flayabilirsiniz. Ancak, \u00fcretim ortam\u0131 i\u00e7in genellikle On-Demand veya Reserved Instance'lar daha g\u00fcvenli bir se\u00e7enektir.<\/li>\n<li><strong>Otomatik Kapatma ve Ba\u015flatma:<\/strong> Felaket kurtarma testleri sonras\u0131 veya geli\u015fim\/test ortamlar\u0131nda kullan\u0131lmayan kaynaklar\u0131 otomatik olarak kapatmak i\u00e7in AWS Lambda ve CloudWatch gibi hizmetleri kullanarak otomasyon kurallar\u0131 tan\u0131mlay\u0131n. Terraform ile bu otomasyonu da kod olarak y\u00f6netebilirsiniz.<\/li>\n<li><strong>Depolama S\u0131n\u0131flar\u0131n\u0131 Optimize Edin:<\/strong> S3'te replike etti\u011finiz veriler i\u00e7in do\u011fru depolama s\u0131n\u0131f\u0131n\u0131 se\u00e7mek \u00f6nemlidir. S\u0131k eri\u015filmeyen veriler i\u00e7in S3 Infrequent Access (IA) veya S3 Glacier gibi daha uygun maliyetli depolama s\u0131n\u0131flar\u0131n\u0131 kullanmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz.<\/li>\n<li><strong>Veri Transfer Maliyetleri:<\/strong> B\u00f6lgeler aras\u0131 veri transferi maliyetli olabilir. Veri replikasyonunu optimize etmek, gereksiz transferleri azaltmak ve a\u011f mimarinizi dikkatlice tasarlamak \u00f6nemlidir. \u00d6rne\u011fin, sadece de\u011fi\u015fen verileri replike eden \u00e7\u00f6z\u00fcmleri tercih edin.<\/li>\n<\/ul>\n<h3>G\u00fcvenlik ve Kimlik Y\u00f6netimi (IAM) \u00d6nemleri<\/h3>\n<p>DR kurulumunda g\u00fcvenlik, asla g\u00f6z ard\u0131 edilmemesi gereken bir konudur. \u0130ki b\u00f6lgeye yay\u0131lan bir mimaride g\u00fcvenlik riskleri de iki kat\u0131na \u00e7\u0131kabilir:<\/p>\n<ul>\n<li><strong>Minimum Yetki Prensibi (Least Privilege):<\/strong> Terraform taraf\u0131ndan kullan\u0131lan IAM rolleri ve kullan\u0131c\u0131lar\u0131 i\u00e7in yaln\u0131zca g\u00f6revlerini yerine getirmek i\u00e7in kesinlikle gerekli olan minimum izinleri atay\u0131n. \u00d6rne\u011fin, S3 replikasyonu i\u00e7in olu\u015fturdu\u011funuz IAM rol\u00fcne sadece ilgili S3 bucket'lar\u0131na eri\u015fim yetkisi verin.<\/li>\n<li><strong>B\u00f6lgeler Aras\u0131 Eri\u015fim Kontrolleri:<\/strong> Farkl\u0131 b\u00f6lgelerdeki kaynaklar aras\u0131nda g\u00fcvenli ileti\u015fimi sa\u011flamak i\u00e7in VPC peering veya Transit Gateway gibi mekanizmalar kullan\u0131rken, g\u00fcvenlik gruplar\u0131n\u0131 ve a\u011f ACL'lerini dikkatlice yap\u0131land\u0131r\u0131n. Her iki b\u00f6lge i\u00e7in de a\u011f segmentasyonunu ve trafik filtrelemeyi uygulay\u0131n.<\/li>\n<li><strong>\u015eifreleme:<\/strong> Hem beklemedeki (at rest) hem de hareket halindeki (in transit) t\u00fcm verileri \u015fifreleyin. RDS, S3 ve EBS gibi hizmetler i\u00e7in AWS Key Management Service (KMS) kullanarak \u015fifrelemeyi etkinle\u015ftirin. Bu, veri ihlali riskini \u00f6nemli \u00f6l\u00e7\u00fcde azalt\u0131r.<\/li>\n<li><strong>Gizli Bilgilerin Y\u00f6netimi:<\/strong> Veritaban\u0131 \u015fifreleri, API anahtarlar\u0131 gibi hassas bilgileri Terraform dosyalar\u0131na do\u011frudan yazmak yerine, AWS Secrets Manager veya AWS Systems Manager Parameter Store gibi g\u00fcvenli hizmetleri kullan\u0131n. Terraform, bu hizmetlerden gizli bilgileri g\u00fcvenli bir \u015fekilde \u00e7ekebilir.<\/li>\n<\/ul>\n<h3>Otomasyon ve Test S\u00fcre\u00e7leri<\/h3>\n<p>Bir felaket kurtarma plan\u0131, ancak d\u00fczenli olarak test edildi\u011finde g\u00fcvenilirdir. Otomasyon, bu testleri daha kolay ve tekrarlanabilir hale getirir:<\/p>\n<ul>\n<li><strong>DR Testlerini Otomatize Edin (Game Day):<\/strong> DR plan\u0131n\u0131z\u0131n i\u015fe yarad\u0131\u011f\u0131ndan emin olmak i\u00e7in d\u00fczenli olarak \"Game Day\" tatbikatlar\u0131 yap\u0131n. Terraform, bu tatbikatlar s\u0131ras\u0131nda yedek b\u00f6lgedeki kaynaklar\u0131 h\u0131zla ba\u015flatman\u0131za ve test senaryolar\u0131n\u0131 uygulaman\u0131za olanak tan\u0131r. Kurtarma ad\u0131mlar\u0131n\u0131 otomatize etmek i\u00e7in AWS Lambda fonksiyonlar\u0131 veya Step Functions kullanabilirsiniz.<\/li>\n<li><strong>Kurtarma S\u00fcre\u00e7lerini Belgeleyin ve Otomatize Edin:<\/strong> Kurtarma s\u00fcre\u00e7lerini ad\u0131m ad\u0131m belgeleyin ve m\u00fcmk\u00fcn oldu\u011funca otomatize edin. Herhangi bir felaket durumunda panik yerine, \u00f6nceden tan\u0131mlanm\u0131\u015f ve test edilmi\u015f bir \"runbook\" ile hareket etmek kritik \u00f6neme sahiptir. Terraform kodunuz, bu runbook'un temelini olu\u015fturur.<\/li>\n<li><strong>CI\/CD Entegrasyonu:<\/strong> Terraform yap\u0131land\u0131rma dosyalar\u0131n\u0131z\u0131 bir CI\/CD boru hatt\u0131na entegre edin. Bu, altyap\u0131 de\u011fi\u015fikliklerinin otomatik olarak planlanmas\u0131n\u0131, do\u011frulanmas\u0131n\u0131 ve uygulanmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, DR altyap\u0131n\u0131zdaki olas\u0131 sapmalar\u0131 (drift) tespit etmek i\u00e7in d\u00fczenli <code>terraform plan<\/code> \u00e7al\u0131\u015ft\u0131rmalar\u0131 planlay\u0131n.<\/li>\n<li><strong> \u0130zleme ve Uyar\u0131lar:<\/strong> Hem birincil hem de ikincil b\u00f6lgelerdeki t\u00fcm kritik kaynaklar i\u00e7in kapsaml\u0131 izleme ve uyar\u0131 sistemleri kurun. AWS CloudWatch, Prometheus veya Datadog gibi ara\u00e7lar kullanarak uygulaman\u0131z\u0131n ve altyap\u0131n\u0131z\u0131n sa\u011fl\u0131k durumunu s\u00fcrekli takip edin. Bu, olas\u0131 sorunlar\u0131 erken tespit etmenize ve proaktif ad\u0131mlar atman\u0131za yard\u0131mc\u0131 olur. \u00d6zellikle Route 53 Health Check'lerinin do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan ve uyar\u0131lar\u0131 zaman\u0131nda tetikledi\u011finden emin olun.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey teknikler ve en iyi uygulamalar, sadece DR kurulumunuzu daha sa\u011flam hale getirmekle kalmaz, ayn\u0131 zamanda operasyonel verimlili\u011fi art\u0131r\u0131r, maliyetleri d\u00fc\u015f\u00fcr\u00fcr ve genel g\u00fcvenlik duru\u015funuzu g\u00fc\u00e7lendirir. Unutmay\u0131n ki felaket kurtarma, tek seferlik bir proje de\u011fil, s\u00fcrekli bir iyile\u015ftirme ve test s\u00fcrecidir.<\/p>\n<h2>Sonu\u00e7: \u0130\u015f S\u00fcreklili\u011fi Yolculu\u011funuzda Neredesiniz?<\/h2>\n<p>Bu makalede, i\u015f s\u00fcreklili\u011finin g\u00fcn\u00fcm\u00fcz dijital \u00e7a\u011f\u0131ndaki kritik \u00f6neminden ba\u015flayarak, \u00e7ok b\u00f6lgeli felaket kurtarma (DR) stratejilerini AWS ve Terraform gibi g\u00fc\u00e7l\u00fc ara\u00e7larla nas\u0131l hayata ge\u00e7irebilece\u011finizi kapsaml\u0131 bir \u015fekilde inceledik. RTO ve RPO gibi temel metrikleri, farkl\u0131 DR modellerini (Pilot Light, Warm Standby) ve Terraform'un IaC prensipleriyle otomasyon, tutarl\u0131l\u0131k ve h\u0131z sa\u011flama yetene\u011fini ele ald\u0131k. Ad\u0131m ad\u0131m bir Pilot Light senaryosu \u00fczerinden AWS VPC, Subnet, RDS replikasyonu, S3 Cross-Region Replication ve Route 53 ile DNS failover mekanizmalar\u0131n\u0131 Terraform kod \u00f6rnekleriyle g\u00f6sterdik.<\/p>\n<p>Ayr\u0131ca, maliyet optimizasyonu, g\u00fcvenlik en iyi uygulamalar\u0131 (IAM, \u015fifreleme) ve otomatik test s\u00fcre\u00e7lerinin (Game Day, CI\/CD) \u00f6nemine de\u011finerek, DR kurulumunuzu daha da g\u00fc\u00e7lendirecek ileri d\u00fczey teknikleri tart\u0131\u015ft\u0131k. Unutulmamal\u0131d\u0131r ki, felaket kurtarma bir \u00fcr\u00fcn de\u011fil, bir s\u00fcre\u00e7tir. S\u00fcrekli izleme, d\u00fczenli testler ve de\u011fi\u015fen i\u015f ihtiya\u00e7lar\u0131na g\u00f6re ayarlamalar yapmak, ba\u015far\u0131l\u0131 bir DR stratejisinin temel ta\u015flar\u0131d\u0131r. AWS'nin sundu\u011fu k\u00fcresel altyap\u0131 ve Terraform'un otomasyon yetenekleri sayesinde, i\u015fletmeler art\u0131k felaketlere kar\u015f\u0131 daha dayan\u0131kl\u0131, esnek ve h\u0131zl\u0131 bir \u015fekilde toparlanabilen sistemler in\u015fa edebilirler. Bu sayede, beklenmedik kesintiler kar\u015f\u0131s\u0131nda bile operasyonlar\u0131n\u0131z\u0131 sorunsuz bir \u015fekilde s\u00fcrd\u00fcrebilir ve m\u00fc\u015fteri g\u00fcvenini koruyabilirsiniz. \u0130\u015f s\u00fcreklili\u011fi yolculu\u011funuzda bu rehberin size \u0131\u015f\u0131k tutmas\u0131n\u0131 umuyoruz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<p>\u00c7ok b\u00f6lgeli felaket kurtarma kurulumu hakk\u0131nda en s\u0131k kar\u015f\u0131la\u015f\u0131lan sorulara ve cevaplar\u0131na g\u00f6z atal\u0131m:<\/p>\n<ol>\n<li>\n                <strong>\u00c7ok b\u00f6lgeli DR ne kadar maliyetli?<\/strong><\/p>\n<p>Maliyet, se\u00e7ti\u011finiz DR stratejisine (So\u011fuk, Il\u0131k, S\u0131cak Bekleme), RTO\/RPO hedeflerinize ve kullan\u0131lan kaynaklar\u0131n \u00f6l\u00e7e\u011fine g\u00f6re b\u00fcy\u00fck \u00f6l\u00e7\u00fcde de\u011fi\u015fir. Pilot Light ve Warm Standby modelleri, aktif-aktif bir setup'a g\u00f6re daha d\u00fc\u015f\u00fck maliyetlidir \u00e7\u00fcnk\u00fc yedek b\u00f6lgede daha az kaynak \u00e7al\u0131\u015f\u0131r durumda tutulur. Veri replikasyonu, depolama ve b\u00f6lgeler aras\u0131 veri transferi de maliyet kalemleridir. Maliyet optimizasyonu i\u00e7in kullan\u0131lmayan kaynaklar\u0131 kapatmak ve do\u011fru depolama s\u0131n\u0131flar\u0131n\u0131 se\u00e7mek \u00f6nemlidir.<\/p>\n<\/li>\n<li>\n                <strong>RTO\/RPO hedeflerimi nas\u0131l belirlemeliyim?<\/strong><\/p>\n<p>RTO ve RPO hedefleri, i\u015finizin kritikli\u011fi ve finansal kay\u0131plar\u0131 tolere etme yetene\u011finizle do\u011frudan ili\u015fkilidir. \u0130\u015f birimlerinizle yak\u0131n \u00e7al\u0131\u015farak, her uygulama veya hizmet i\u00e7in maksimum kabul edilebilir kesinti s\u00fcresini (RTO) ve maksimum kabul edilebilir veri kayb\u0131n\u0131 (RPO) belirleyin. Bu hedefler, genellikle bir \u0130\u015f Etki Analizi (Business Impact Analysis - BIA) sonucunda ortaya \u00e7\u0131kar. Daha d\u00fc\u015f\u00fck hedefler, daha y\u00fcksek maliyet ve karma\u015f\u0131kl\u0131k anlam\u0131na gelir.<\/p>\n<\/li>\n<li>\n                <strong>Veri tutarl\u0131l\u0131\u011f\u0131n\u0131 nas\u0131l sa\u011flar\u0131m?<\/strong><\/p>\n<p>Veri tutarl\u0131l\u0131\u011f\u0131, DR kurulumunun en kritik y\u00f6nlerinden biridir. RDS i\u00e7in Read Replica'lar (e\u015fzamans\u0131z replikasyon) veya Multi-AZ da\u011f\u0131t\u0131mlar\u0131 (senkron replikasyon), S3 i\u00e7in Cross-Region Replication (CRR) gibi AWS hizmetleri ile veri replikasyonunu sa\u011flayabilirsiniz. Uygulaman\u0131z\u0131n veritaban\u0131 d\u0131\u015f\u0131ndaki (\u00f6rne\u011fin dosya sistemindeki) verileri i\u00e7in EBS anl\u0131k g\u00f6r\u00fcnt\u00fcleri veya EFS yedeklemeleri de b\u00f6lgeler aras\u0131 kopyalanabilir. Uygulama seviyesinde, veritaban\u0131na yazmadan \u00f6nce verilerin replike edildi\u011finden emin olmak i\u00e7in ek mant\u0131klar geli\u015ftirilebilir.<\/p>\n<\/li>\n<li>\n                <strong>Bu kurulumu test etmek ne kadar s\u00fcrer?<\/strong><\/p>\n<p>DR testlerinin s\u00fcresi, altyap\u0131n\u0131n karma\u015f\u0131kl\u0131\u011f\u0131na ve otomasyon seviyesine ba\u011fl\u0131d\u0131r. Manuel testler g\u00fcnler s\u00fcrebilirken, Terraform ve di\u011fer otomasyon ara\u00e7lar\u0131yla yap\u0131lan testler saatlere hatta dakikalara inebilir. \u00d6nemli olan, testleri d\u00fczenli olarak ve ger\u00e7ek bir felaket senaryosunu taklit edecek \u015fekilde yapmakt\u0131r. Bu testler, plan\u0131n\u0131zdaki eksiklikleri ve iyile\u015ftirme alanlar\u0131n\u0131 ortaya \u00e7\u0131karacakt\u0131r.<\/p>\n<\/li>\n<li>\n                <strong>Tek bir b\u00f6lge yetmez miydi?<\/strong><\/p>\n<p>Tek bir AWS b\u00f6lgesinde bile y\u00fcksek eri\u015filebilirlik sa\u011flamak m\u00fcmk\u00fcnd\u00fcr (\u00f6rne\u011fin, Multi-AZ da\u011f\u0131t\u0131mlar\u0131). Ancak, tek bir b\u00f6lgenin tamamen devre d\u0131\u015f\u0131 kalmas\u0131na neden olabilecek (do\u011fal afet, geni\u015f \u00e7apl\u0131 elektrik kesintisi vb.) b\u00f6lgesel bir felaket durumunda, t\u00fcm uygulaman\u0131z kesintiye u\u011frar. \u00c7ok b\u00f6lgeli DR, bu t\u00fcr geni\u015f \u00f6l\u00e7ekli felaketlere kar\u015f\u0131 ek bir koruma katman\u0131 sa\u011flayarak i\u015finizin \u00e7ok daha dayan\u0131kl\u0131 olmas\u0131n\u0131 garanti eder. Bu, risk tolerans\u0131n\u0131za ve i\u015finizin kritiklik seviyesine g\u00f6re verilmesi gereken bir karard\u0131r.<\/p>\n<\/li>\n<\/ol><\/div>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"B\u00f6lgesel kesintiler i\u015f s\u00fcreklili\u011finizi tehdit mi ediyor? AWS ve Terraform kullanarak \u00e7ok b\u00f6lgeli bir felaket kurtarma (DR) mimarisi&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1406],"tags":[],"class_list":{"0":"post-31603","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-aws","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber<\/title>\n<meta name=\"description\" content=\"B\u00f6lgesel kesintiler i\u015f s\u00fcreklili\u011finizi tehdit mi ediyor? AWS ve Terraform kullanarak \u00e7ok b\u00f6lgeli bir felaket kurtarma (DR) mimarisi kurmay\u0131 ad\u0131m ad\u0131m \u00f6\u011frenin, sistemlerinizi kesintisiz \u00e7al\u0131\u015ft\u0131r\u0131n ve veri kay\u0131plar\u0131n\u0131 en aza indirin. G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015fletmeler i\u00e7in kesintisiz hizmet sunumu, sadece bir tercih de\u011fil, ayn\u0131 zamanda zorunluluk haline gelmi\u015ftir. Peki, bir veri merkezinde ya\u015fanan b\u00f6lgesel bir elektrik kesintisi, do\u011fal afet veya geni\u015f \u00e7apl\u0131 bir siber sald\u0131r\u0131 durumunda \u015firketinizin operasyonlar\u0131 ne kadar dayan\u0131kl\u0131? Bu t\u00fcr senaryolar, sadece ciddi finansal kay\u0131plara yol a\u00e7makla kalmaz, ayn\u0131 zamanda m\u00fc\u015fteri g\u00fcvenini sarsar ve marka itibar\u0131n\u0131 zedeler. \u0130\u015fte tam da bu noktada, \u00e7ok b\u00f6lgeli bir felaket kurtarma (Disaster Recovery - DR) stratejisi devreye girer ve i\u015f s\u00fcreklili\u011finin sigortas\u0131 niteli\u011fini ta\u015f\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber\" \/>\n<meta property=\"og:description\" content=\"B\u00f6lgesel kesintiler i\u015f s\u00fcreklili\u011finizi tehdit mi ediyor? AWS ve Terraform kullanarak \u00e7ok b\u00f6lgeli bir felaket kurtarma (DR) mimarisi kurmay\u0131 ad\u0131m ad\u0131m \u00f6\u011frenin, sistemlerinizi kesintisiz \u00e7al\u0131\u015ft\u0131r\u0131n ve veri kay\u0131plar\u0131n\u0131 en aza indirin. G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015fletmeler i\u00e7in kesintisiz hizmet sunumu, sadece bir tercih de\u011fil, ayn\u0131 zamanda zorunluluk haline gelmi\u015ftir. Peki, bir veri merkezinde ya\u015fanan b\u00f6lgesel bir elektrik kesintisi, do\u011fal afet veya geni\u015f \u00e7apl\u0131 bir siber sald\u0131r\u0131 durumunda \u015firketinizin operasyonlar\u0131 ne kadar dayan\u0131kl\u0131? Bu t\u00fcr senaryolar, sadece ciddi finansal kay\u0131plara yol a\u00e7makla kalmaz, ayn\u0131 zamanda m\u00fc\u015fteri g\u00fcvenini sarsar ve marka itibar\u0131n\u0131 zedeler. \u0130\u015fte tam da bu noktada, \u00e7ok b\u00f6lgeli bir felaket kurtarma (Disaster Recovery - DR) stratejisi devreye girer ve i\u015f s\u00fcreklili\u011finin sigortas\u0131 niteli\u011fini ta\u015f\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-11T17:02:04+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"30 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber\",\"datePublished\":\"2025-10-11T17:02:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/\"},\"wordCount\":4701,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AWS\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/\",\"name\":\"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-11T17:02:04+00:00\",\"description\":\"B\u00f6lgesel kesintiler i\u015f s\u00fcreklili\u011finizi tehdit mi ediyor? AWS ve Terraform kullanarak \u00e7ok b\u00f6lgeli bir felaket kurtarma (DR) mimarisi kurmay\u0131 ad\u0131m ad\u0131m \u00f6\u011frenin, sistemlerinizi kesintisiz \u00e7al\u0131\u015ft\u0131r\u0131n ve veri kay\u0131plar\u0131n\u0131 en aza indirin. G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015fletmeler i\u00e7in kesintisiz hizmet sunumu, sadece bir tercih de\u011fil, ayn\u0131 zamanda zorunluluk haline gelmi\u015ftir. Peki, bir veri merkezinde ya\u015fanan b\u00f6lgesel bir elektrik kesintisi, do\u011fal afet veya geni\u015f \u00e7apl\u0131 bir siber sald\u0131r\u0131 durumunda \u015firketinizin operasyonlar\u0131 ne kadar dayan\u0131kl\u0131? Bu t\u00fcr senaryolar, sadece ciddi finansal kay\u0131plara yol a\u00e7makla kalmaz, ayn\u0131 zamanda m\u00fc\u015fteri g\u00fcvenini sarsar ve marka itibar\u0131n\u0131 zedeler. \u0130\u015fte tam da bu noktada, \u00e7ok b\u00f6lgeli bir felaket kurtarma (Disaster Recovery - DR) stratejisi devreye girer ve i\u015f s\u00fcreklili\u011finin sigortas\u0131 niteli\u011fini ta\u015f\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber","description":"B\u00f6lgesel kesintiler i\u015f s\u00fcreklili\u011finizi tehdit mi ediyor? AWS ve Terraform kullanarak \u00e7ok b\u00f6lgeli bir felaket kurtarma (DR) mimarisi kurmay\u0131 ad\u0131m ad\u0131m \u00f6\u011frenin, sistemlerinizi kesintisiz \u00e7al\u0131\u015ft\u0131r\u0131n ve veri kay\u0131plar\u0131n\u0131 en aza indirin. G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015fletmeler i\u00e7in kesintisiz hizmet sunumu, sadece bir tercih de\u011fil, ayn\u0131 zamanda zorunluluk haline gelmi\u015ftir. Peki, bir veri merkezinde ya\u015fanan b\u00f6lgesel bir elektrik kesintisi, do\u011fal afet veya geni\u015f \u00e7apl\u0131 bir siber sald\u0131r\u0131 durumunda \u015firketinizin operasyonlar\u0131 ne kadar dayan\u0131kl\u0131? Bu t\u00fcr senaryolar, sadece ciddi finansal kay\u0131plara yol a\u00e7makla kalmaz, ayn\u0131 zamanda m\u00fc\u015fteri g\u00fcvenini sarsar ve marka itibar\u0131n\u0131 zedeler. \u0130\u015fte tam da bu noktada, \u00e7ok b\u00f6lgeli bir felaket kurtarma (Disaster Recovery - DR) stratejisi devreye girer ve i\u015f s\u00fcreklili\u011finin sigortas\u0131 niteli\u011fini ta\u015f\u0131r.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber","og_description":"B\u00f6lgesel kesintiler i\u015f s\u00fcreklili\u011finizi tehdit mi ediyor? AWS ve Terraform kullanarak \u00e7ok b\u00f6lgeli bir felaket kurtarma (DR) mimarisi kurmay\u0131 ad\u0131m ad\u0131m \u00f6\u011frenin, sistemlerinizi kesintisiz \u00e7al\u0131\u015ft\u0131r\u0131n ve veri kay\u0131plar\u0131n\u0131 en aza indirin. G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015fletmeler i\u00e7in kesintisiz hizmet sunumu, sadece bir tercih de\u011fil, ayn\u0131 zamanda zorunluluk haline gelmi\u015ftir. Peki, bir veri merkezinde ya\u015fanan b\u00f6lgesel bir elektrik kesintisi, do\u011fal afet veya geni\u015f \u00e7apl\u0131 bir siber sald\u0131r\u0131 durumunda \u015firketinizin operasyonlar\u0131 ne kadar dayan\u0131kl\u0131? Bu t\u00fcr senaryolar, sadece ciddi finansal kay\u0131plara yol a\u00e7makla kalmaz, ayn\u0131 zamanda m\u00fc\u015fteri g\u00fcvenini sarsar ve marka itibar\u0131n\u0131 zedeler. \u0130\u015fte tam da bu noktada, \u00e7ok b\u00f6lgeli bir felaket kurtarma (Disaster Recovery - DR) stratejisi devreye girer ve i\u015f s\u00fcreklili\u011finin sigortas\u0131 niteli\u011fini ta\u015f\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-11T17:02:04+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"30 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber","datePublished":"2025-10-11T17:02:04+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/"},"wordCount":4701,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AWS"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/","name":"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-11T17:02:04+00:00","description":"B\u00f6lgesel kesintiler i\u015f s\u00fcreklili\u011finizi tehdit mi ediyor? AWS ve Terraform kullanarak \u00e7ok b\u00f6lgeli bir felaket kurtarma (DR) mimarisi kurmay\u0131 ad\u0131m ad\u0131m \u00f6\u011frenin, sistemlerinizi kesintisiz \u00e7al\u0131\u015ft\u0131r\u0131n ve veri kay\u0131plar\u0131n\u0131 en aza indirin. G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015fletmeler i\u00e7in kesintisiz hizmet sunumu, sadece bir tercih de\u011fil, ayn\u0131 zamanda zorunluluk haline gelmi\u015ftir. Peki, bir veri merkezinde ya\u015fanan b\u00f6lgesel bir elektrik kesintisi, do\u011fal afet veya geni\u015f \u00e7apl\u0131 bir siber sald\u0131r\u0131 durumunda \u015firketinizin operasyonlar\u0131 ne kadar dayan\u0131kl\u0131? Bu t\u00fcr senaryolar, sadece ciddi finansal kay\u0131plara yol a\u00e7makla kalmaz, ayn\u0131 zamanda m\u00fc\u015fteri g\u00fcvenini sarsar ve marka itibar\u0131n\u0131 zedeler. \u0130\u015fte tam da bu noktada, \u00e7ok b\u00f6lgeli bir felaket kurtarma (Disaster Recovery - DR) stratejisi devreye girer ve i\u015f s\u00fcreklili\u011finin sigortas\u0131 niteli\u011fini ta\u015f\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/aws-ve-terraform-ile-cok-bolgeli-felaket-kurtarma-kurulumu-is-surekliligi-icin-kapsamli-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS ve Terraform ile \u00c7ok B\u00f6lgeli Felaket Kurtarma Kurulumu: \u0130\u015f S\u00fcreklili\u011fi \u0130\u00e7in Kapsaml\u0131 Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31603"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31603\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}