{"id":33725,"date":"2025-11-06T09:01:08","date_gmt":"2025-11-06T06:01:08","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/"},"modified":"2025-11-06T09:01:08","modified_gmt":"2025-11-06T06:01:08","slug":"aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/","title":{"rendered":"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma"},"content":{"rendered":"<p><body><\/p>\n<p>Geleneksel web sitesi bar\u0131nd\u0131rma y\u00f6ntemlerinin y\u00fcksek maliyetleri, \u00f6l\u00e7eklenebilirlik zorluklar\u0131 ve g\u00fcvenlik endi\u015feleri sizi de yoruyor mu? \u0130\u015fte modern web geli\u015ftirmenin sundu\u011fu en \u015f\u0131k \u00e7\u00f6z\u00fcmlerden biri: AWS S3 ve CloudFront ile statik web sitesi bar\u0131nd\u0131rma. Bu makalede, projenizi s\u0131f\u0131rdan hayata ge\u00e7irmeniz i\u00e7in ad\u0131m ad\u0131m bir rehber sunarken, s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) prensipleriyle otomasyonun kap\u0131lar\u0131n\u0131 aralayaca\u011f\u0131z.<\/p>\n<p>G\u00fcn\u00fcm\u00fcz dijital d\u00fcnyas\u0131nda, web sitelerinin performans\u0131, g\u00fcvenli\u011fi ve eri\u015filebilirli\u011fi her zamankinden daha kritik. Eski usul sunucu tabanl\u0131 hosting \u00e7\u00f6z\u00fcmleri, ne yaz\u0131k ki modern beklentileri kar\u015f\u0131lamakta zorlanabiliyor. \u00d6zellikle y\u00fcksek trafikli d\u00f6nemlerde sunucular\u0131n \u00e7\u00f6kmesi, g\u00fcvenlik a\u00e7\u0131klar\u0131 nedeniyle veri ihlalleri veya basit bir g\u00fcncelleme i\u00e7in saatler s\u00fcren manuel i\u015flemler, hem maliyetli hem de zaman kayb\u0131na yol a\u00e7abiliyor. Bu geleneksel y\u00f6ntemler genellikle belirli bir sunucuya ba\u011f\u0131ml\u0131 olup, trafik artt\u0131k\u00e7a \u00f6l\u00e7eklendirme zorluklar\u0131 \u00e7\u0131karabilir, bu da kullan\u0131c\u0131 deneyimini olumsuz etkiler. Ayr\u0131ca, sunucu bak\u0131m\u0131, yama y\u00f6netimi ve i\u015fletim sistemi g\u00fcncellemeleri gibi operasyonel y\u00fckler, geli\u015ftirme ekibinin ana i\u015fine odaklanmas\u0131n\u0131 engelleyebilir.<\/p>\n<p>\u0130\u015fte tam bu noktada statik web siteleri ve bulut tabanl\u0131 modern bar\u0131nd\u0131rma \u00e7\u00f6z\u00fcmleri devreye giriyor. Statik web siteleri, veritaban\u0131 veya sunucu taraf\u0131nda karma\u015f\u0131k i\u015flem gerektirmeyen, do\u011frudan taray\u0131c\u0131da i\u015flenebilen HTML, CSS, JavaScript ve g\u00f6r\u00fcnt\u00fc dosyalar\u0131ndan olu\u015fur. Bu sadelik, beraberinde pek \u00e7ok avantaj\u0131 getirir: ilk olarak, sunucu taraf\u0131nda i\u015flem yap\u0131lmad\u0131\u011f\u0131 i\u00e7in g\u00fcvenlik a\u00e7\u0131klar\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde azal\u0131r. \u0130kinci olarak, i\u00e7erik \u00f6nbelle\u011fe al\u0131nmaya \u00e7ok daha uygun oldu\u011fu i\u00e7in y\u00fckleme s\u00fcreleri dramatik bir \u015fekilde k\u0131sal\u0131r, bu da kullan\u0131c\u0131 deneyimini ve arama motoru optimizasyonunu (SEO) do\u011frudan etkiler. \u00dc\u00e7\u00fcnc\u00fc olarak, statik dosyalar\u0131n bar\u0131nd\u0131r\u0131lmas\u0131 ve da\u011f\u0131t\u0131m\u0131, geleneksel dinamik sitelere g\u00f6re \u00e7ok daha ekonomiktir. D\u00f6rd\u00fcnc\u00fc olarak, statik i\u00e7erik, trafi\u011fin aniden artt\u0131\u011f\u0131 durumlarda bile inan\u0131lmaz derecede \u00f6l\u00e7eklenebilir; binlerce veya milyonlarca e\u015f zamanl\u0131 kullan\u0131c\u0131ya hizmet verebilirsiniz ve sistem \u00e7\u00f6kmeleri konusunda endi\u015felenmenize gerek kalmaz.<\/p>\n<p>AWS S3 ve CloudFront gibi servisler, bu modern statik web sitesi bar\u0131nd\u0131rma yakla\u015f\u0131m\u0131n\u0131 m\u00fckemmel bir \u015fekilde tamamlar. Amazon S3 (Simple Storage Service), nesne depolama i\u00e7in tasarlanm\u0131\u015f, s\u0131n\u0131rs\u0131z \u00f6l\u00e7eklenebilir, dayan\u0131kl\u0131 ve maliyet etkin bir \u00e7\u00f6z\u00fcmd\u00fcr. Web sitenizin t\u00fcm statik varl\u0131klar\u0131n\u0131 burada depolayabilirsiniz. Amazon CloudFront ise, i\u00e7eri\u011fi son kullan\u0131c\u0131ya en yak\u0131n co\u011frafi konumdaki kenar noktalar\u0131ndan (edge locations) da\u011f\u0131tan k\u00fcresel bir i\u00e7erik da\u011f\u0131t\u0131m a\u011f\u0131d\u0131r (CDN). Bu ikilinin birle\u015fimi, sitenizin d\u00fcnyan\u0131n her yerinden an\u0131nda y\u00fcklenmesini sa\u011flarken, ayn\u0131 zamanda DDoS sald\u0131r\u0131lar\u0131na kar\u015f\u0131 da koruma sunar. CI\/CD (S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m) entegrasyonuyla ise, geli\u015ftirme s\u00fcrecinizi otomatikle\u015ftirerek, kod de\u011fi\u015fikliklerinizin h\u0131zla canl\u0131ya al\u0131nmas\u0131n\u0131 sa\u011flayabilir ve manuel hatalar\u0131 ortadan kald\u0131rabilirsiniz. B\u00f6ylece, geli\u015ftiricileriniz kod yazmaya odaklan\u0131rken, da\u011f\u0131t\u0131m s\u00fcreci tamamen otomatikle\u015fir ve projenizin ya\u015fam d\u00f6ng\u00fcs\u00fc h\u0131zlan\u0131r. \u00d6zellikle pazarlama kampanyalar\u0131 veya promosyon sayfalar\u0131 gibi y\u00fcksek trafik beklenen durumlar i\u00e7in bu mimari vazge\u00e7ilmezdir.<\/p>\n<h2>AWS S3 ve CloudFront Temelleri: Statik Bar\u0131nd\u0131rma Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n<p>Statik web sitenizi modern bir altyap\u0131 \u00fczerinde bar\u0131nd\u0131rmak istiyorsan\u0131z, AWS&#8217;nin sundu\u011fu S3 ve CloudFront ikilisi adeta bi\u00e7ilmi\u015f kaftan. Bu iki servis, web sitenizin performans\u0131n\u0131, g\u00fcvenli\u011fini ve \u00f6l\u00e7eklenebilirli\u011fini maksimize etmek i\u00e7in birlikte \u00e7al\u0131\u015f\u0131r. Ancak bu entegrasyonun g\u00fcc\u00fcn\u00fc tam olarak anlamak i\u00e7in her bir servisin temel i\u015flevlerini bilmek \u00f6nemlidir. Gelin, bu servislerin ne oldu\u011funu ve neden bu kadar etkili olduklar\u0131n\u0131 daha yak\u0131ndan inceleyelim.<\/p>\n<h3>AWS S3: Sonsuz \u00d6l\u00e7eklenebilir Depolama \u00c7\u00f6z\u00fcm\u00fc<\/h3>\n<p>Amazon S3, asl\u0131nda bir dosya depolama hizmetinden \u00e7ok daha fazlas\u0131d\u0131r; nesne depolama i\u00e7in tasarlanm\u0131\u015f, end\u00fcstri lideri bir \u00e7\u00f6z\u00fcmd\u00fcr. Akl\u0131n\u0131za gelebilecek her t\u00fcrl\u00fc veriyi (resimler, videolar, belgeler, HTML dosyalar\u0131) &#8220;nesne&#8221; olarak S3&#8217;e y\u00fckleyebilirsiniz. Bu nesneler, &#8220;bucket&#8221; ad\u0131 verilen mant\u0131ksal konteynerlerde saklan\u0131r. Her bucket benzersiz bir isme sahiptir ve b\u00f6lgesel olarak konumland\u0131r\u0131l\u0131r. S3&#8217;\u00fcn en b\u00fcy\u00fck avantajlar\u0131ndan biri, inan\u0131lmaz derecede y\u00fcksek dayan\u0131kl\u0131l\u0131k (y\u00fczde 99.999999999 \u2013 11 tane 9) ve eri\u015filebilirlik sunmas\u0131d\u0131r, yani verilerinizin kaybolma veya eri\u015filemez olma olas\u0131l\u0131\u011f\u0131 neredeyse s\u0131f\u0131rd\u0131r. Bu, web sitenizin dosyalar\u0131 i\u00e7in g\u00fcvenilir bir ev anlam\u0131na gelir.<\/p>\n<p>S3, statik web sitesi bar\u0131nd\u0131rma \u00f6zelli\u011fiyle \u00f6ne \u00e7\u0131kar. Bir bucket&#8217;\u0131 statik web sitesi olarak yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131zda, S3 otomatik olarak bir web sitesi u\u00e7 noktas\u0131 (endpoint) olu\u015fturur. Bu u\u00e7 nokta \u00fczerinden, bucket&#8217;\u0131n\u0131zdaki HTML, CSS, JavaScript ve medya dosyalar\u0131n\u0131 do\u011frudan yay\u0131nlayabilirsiniz. Yani, karma\u015f\u0131k bir web sunucusu kurman\u0131za veya y\u00f6netmenize gerek kalmaz. Sadece dosyalar\u0131n\u0131z\u0131 S3&#8217;e y\u00fckleyin, gerekli izinleri verin ve web siteniz yay\u0131nda! Bu yap\u0131, sunucusuz (serverless) mimarinin temel ta\u015flar\u0131ndan biridir ve operasyonel y\u00fck\u00fc minimuma indirir. Ayr\u0131ca, kulland\u0131k\u00e7a \u00f6de modeli sayesinde, yaln\u0131zca depolad\u0131\u011f\u0131n\u0131z veri miktar\u0131 ve yap\u0131lan istekler i\u00e7in \u00f6deme yapars\u0131n\u0131z, bu da maliyetleri \u00f6nemli \u00f6l\u00e7\u00fcde d\u00fc\u015f\u00fcr\u00fcr. Bu esneklik, \u00f6zellikle de\u011fi\u015fken trafikli siteler veya ba\u015flang\u0131\u00e7 a\u015famas\u0131ndaki projeler i\u00e7in olduk\u00e7a avantajl\u0131d\u0131r.<\/p>\n<h3>Amazon CloudFront: \u0130\u00e7eri\u011fi H\u0131zla Son Kullan\u0131c\u0131ya Ula\u015ft\u0131rma<\/h3>\n<p>Web sitenizin dosyalar\u0131 S3&#8217;te g\u00fcvenli bir \u015fekilde depolan\u0131yor olsa da, d\u00fcnyan\u0131n \u00f6b\u00fcr ucundaki bir kullan\u0131c\u0131n\u0131n bu dosyalara h\u0131zl\u0131ca eri\u015fmesi i\u00e7in ek bir ad\u0131ma ihtiya\u00e7 vard\u0131r. \u0130\u015fte burada Amazon CloudFront devreye girer. CloudFront, global bir i\u00e7erik da\u011f\u0131t\u0131m a\u011f\u0131 (CDN &#8211; Content Delivery Network) hizmetidir. Temel amac\u0131, web i\u00e7eri\u011fini (statik veya dinamik) son kullan\u0131c\u0131lara co\u011frafi olarak en yak\u0131n &#8220;kenar konumlar\u0131ndan&#8221; (edge locations) sunarak gecikme s\u00fcresini (latency) azaltmak ve y\u00fckleme h\u0131zlar\u0131n\u0131 art\u0131rmakt\u0131r. D\u00fcnya genelinde y\u00fczlerce kenar konumuna sahip olan CloudFront, kullan\u0131c\u0131lar sitenize eri\u015fti\u011finde, i\u00e7eri\u011fi bu en yak\u0131n konumdaki \u00f6nbellekten servis eder.<\/p>\n<p>CloudFront&#8217;un avantajlar\u0131 saymakla bitmez. \u0130lk olarak, i\u00e7eri\u011fin \u00f6nbelle\u011fe al\u0131nmas\u0131 sayesinde, S3&#8217;e yap\u0131lan istek say\u0131s\u0131 azal\u0131r, bu da S3 maliyetlerinizi d\u00fc\u015f\u00fcr\u00fcr ve performans\u0131n\u0131z\u0131 art\u0131r\u0131r. \u0130kinci olarak, CloudFront, DDoS sald\u0131r\u0131lar\u0131na kar\u015f\u0131 yerle\u015fik koruma sunar ve AWS WAF (Web Application Firewall) gibi di\u011fer g\u00fcvenlik servisleriyle entegre olabilir. Bu sayede, sitenizin g\u00fcvenli\u011fi \u00fcst d\u00fczeyde tutulur. \u00dc\u00e7\u00fcnc\u00fc olarak, \u00f6zel alan ad\u0131n\u0131z\u0131 (\u00f6rne\u011fin, <code>www.siteadiniz.com<\/code>) CloudFront da\u011f\u0131t\u0131m\u0131n\u0131zla ili\u015fkilendirebilir ve Amazon Certificate Manager (ACM) arac\u0131l\u0131\u011f\u0131yla \u00fccretsiz SSL\/TLS sertifikalar\u0131 sa\u011flayabilirsiniz. Bu, sitenizin HTTPS \u00fczerinden g\u00fcvenli bir \u015fekilde yay\u0131nlanmas\u0131n\u0131 sa\u011flar ki bu da hem kullan\u0131c\u0131 g\u00fcveni hem de SEO i\u00e7in kritik bir fakt\u00f6rd\u00fcr. CloudFront, ayn\u0131 zamanda HTTP\/2 ve QUIC gibi modern protokolleri destekleyerek daha h\u0131zl\u0131 ve verimli ileti\u015fim sa\u011flar. K\u0131sacas\u0131, CloudFront, S3&#8217;te bar\u0131nd\u0131rd\u0131\u011f\u0131n\u0131z statik web sitenizin k\u00fcresel \u00e7apta y\u0131ld\u0131z gibi parlamas\u0131n\u0131 sa\u011flayan bir performans ve g\u00fcvenlik kalkan\u0131d\u0131r.<\/p>\n<h2>Ad\u0131m Ad\u0131m Statik Web Sitesi Kurulumu: S3 ve CloudFront Entegrasyonu<\/h2>\n<p>Art\u0131k S3 ve CloudFront&#8217;un temel yeteneklerini anlad\u0131\u011f\u0131n\u0131za g\u00f6re, gelin bu servisleri kullanarak statik bir web sitesini nas\u0131l kuraca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyelim. Bu b\u00f6l\u00fcm, AWS Konsolu \u00fczerinden ger\u00e7ek d\u00fcnya senaryolar\u0131na uygun bir \u015fekilde, kolayca takip edebilece\u011finiz talimatlar i\u00e7erecektir. Unutmay\u0131n, bu ad\u0131mlar modern ve g\u00fcvenli bir yap\u0131 olu\u015fturman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Ad\u0131m 1: S3 Bucket Olu\u015fturma ve Web Sitesi Bar\u0131nd\u0131rma Konfig\u00fcrasyonu<\/h3>\n<p>\u0130lk olarak, web sitenizin dosyalar\u0131n\u0131 bar\u0131nd\u0131raca\u011f\u0131m\u0131z bir S3 bucket olu\u015fturmam\u0131z gerekiyor. AWS hesab\u0131n\u0131za giri\u015f yap\u0131n ve S3 hizmetine gidin.<\/p>\n<ol>\n<li><strong>Bucket Olu\u015fturma:<\/strong> &#8220;Create bucket&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n. Bucket ad\u0131n\u0131z\u0131 girin (\u00f6rne\u011fin, <code>my-awesome-static-website-2023<\/code>). Bu ismin k\u00fcresel olarak benzersiz olmas\u0131 gerekti\u011fini unutmay\u0131n. Bir AWS B\u00f6lgesi se\u00e7in (\u00f6rne\u011fin, <code>eu-central-1<\/code> &#8211; Frankfurt).<\/li>\n<li><strong>Nesne Sahipli\u011fi ve Block Public Access Ayarlar\u0131:<\/strong> &#8220;Object Ownership&#8221; alt\u0131nda, &#8220;ACLs enabled&#8221; se\u00e7ene\u011fini se\u00e7in. Ayr\u0131ca, &#8220;Block Public Access settings for this bucket&#8221; k\u0131sm\u0131ndaki T\u00dcM kutucuklar\u0131n i\u015faretini kald\u0131r\u0131n. Bu, bucket&#8217;\u0131n\u0131z\u0131n herkese a\u00e7\u0131k olmas\u0131n\u0131 sa\u011flayacakt\u0131r. AWS size bir uyar\u0131 mesaj\u0131 g\u00f6sterecektir; bu ayarlar\u0131 anlad\u0131\u011f\u0131n\u0131z\u0131 ve kabul etti\u011finizi onaylay\u0131n.<\/li>\n<li><strong>Bucket Olu\u015fturmay\u0131 Tamamlama:<\/strong> Di\u011fer ayarlar\u0131 varsay\u0131lan olarak b\u0131rak\u0131p &#8220;Create bucket&#8221; d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li><strong>Statik Web Sitesi Bar\u0131nd\u0131rmay\u0131 Etkinle\u015ftirme:<\/strong> Olu\u015fturdu\u011funuz bucket&#8217;a t\u0131klay\u0131n, ard\u0131ndan &#8220;Properties&#8221; sekmesine gidin. En alta kayd\u0131rarak &#8220;Static website hosting&#8221; b\u00f6l\u00fcm\u00fcn\u00fc bulun ve &#8220;Edit&#8221;e t\u0131klay\u0131n. &#8220;Enable&#8221; se\u00e7ene\u011fini se\u00e7in. &#8220;Index document&#8221; alan\u0131na web sitenizin ana sayfa dosyas\u0131n\u0131n ad\u0131n\u0131 (genellikle <code>index.html<\/code>) girin. \u0130ste\u011fe ba\u011fl\u0131 olarak, hata sayfalar\u0131 i\u00e7in &#8220;Error document&#8221; alan\u0131na bir dosya ad\u0131 (\u00f6rne\u011fin, <code>error.html<\/code>) girebilirsiniz. De\u011fi\u015fiklikleri kaydedin.<\/li>\n<li><strong>Bucket Politikas\u0131 Olu\u015fturma:<\/strong> Bucket&#8217;\u0131n\u0131z\u0131n &#8220;Permissions&#8221; sekmesine gidin. &#8220;Bucket Policy&#8221; b\u00f6l\u00fcm\u00fcnde &#8220;Edit&#8221;e t\u0131klay\u0131n. A\u015fa\u011f\u0131daki JSON politikas\u0131n\u0131 kopyalay\u0131p yap\u0131\u015ft\u0131r\u0131n. <code>YOUR_BUCKET_NAME<\/code> k\u0131sm\u0131n\u0131 kendi bucket ad\u0131n\u0131zla de\u011fi\u015ftirin. Bu politika, internetteki herkesin bucket&#8217;\u0131n\u0131zdaki nesneleri okumas\u0131na izin verir.<\/li>\n<\/ol>\n<pre><code>\n{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Sid\": \"PublicReadGetObject\",\n            \"Effect\": \"Allow\",\n            \"Principal\": \"*\",\n            \"Action\": [\n                \"s3:GetObject\"\n            ],\n            \"Resource\": [\n                \"arn:aws:s3:::YOUR_BUCKET_NAME\/*\"\n            ]\n        }\n    ]\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Politikay\u0131 kaydedin. Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, statik web sitesi dosyalar\u0131n\u0131z\u0131 bu bucket'a y\u00fckleyebilirsiniz. Y\u00fckledi\u011finiz dosyalar\u0131n herkese a\u00e7\u0131k oldu\u011fundan emin olun. Art\u0131k S3 bucket'\u0131n\u0131z\u0131n web sitesi u\u00e7 noktas\u0131n\u0131 kullanarak sitenize taray\u0131c\u0131dan eri\u015febilirsiniz (S3 bucket \u00f6zelliklerindeki \"Static website hosting\" b\u00f6l\u00fcm\u00fcnde bulabilirsiniz).<\/p>\n<h3>Ad\u0131m 2: CloudFront Da\u011f\u0131t\u0131m\u0131 Olu\u015fturma ve S3 ile Entegrasyon<\/h3>\n<p>\u015eimdi S3'teki i\u00e7eri\u011fimizi h\u0131zland\u0131rmak ve g\u00fcvenli hale getirmek i\u00e7in CloudFront da\u011f\u0131t\u0131m\u0131 olu\u015fturaca\u011f\u0131z.<\/p>\n<ol>\n<li><strong>CloudFront Konsoluna Gitme:<\/strong> AWS Konsolunda CloudFront hizmetine gidin ve \"Create distribution\" d\u00fc\u011fmesine t\u0131klay\u0131n.<\/li>\n<li><strong>Origin Se\u00e7imi:<\/strong> \"Origin domain\" alan\u0131na t\u0131klad\u0131\u011f\u0131n\u0131zda, S3 bucket'lar\u0131n\u0131z\u0131n listesini g\u00f6receksiniz. <strong>Burada S3 bucket'\u0131n\u0131z\u0131n web sitesi endpoint'ini de\u011fil, do\u011frudan S3 bucket'\u0131n\u0131z\u0131 se\u00e7meniz \u00f6nemlidir (\u00f6rne\u011fin, <code>my-awesome-static-website-2023.s3.amazonaws.com<\/code>)<\/strong>. Bu, CloudFront'un S3'e do\u011frudan eri\u015fmesini sa\u011flar ve OAC (Origin Access Control) ile daha g\u00fcvenli bir entegrasyon kurabiliriz.<\/li>\n<li><strong>Origin Access Control (OAC) Olu\u015fturma:<\/strong> \"S3 bucket access\" alt\u0131nda \"Yes, use OAC (recommended)\" se\u00e7ene\u011fini se\u00e7in. \"Create new OAC\" d\u00fc\u011fmesine t\u0131klay\u0131n ve bir isim verin. Bu, CloudFront'un S3 bucket'\u0131n\u0131za g\u00fcvenli bir \u015fekilde eri\u015fmesini sa\u011flayan yeni ve daha g\u00fcvenli bir y\u00f6ntemdir. OAC olu\u015fturulduktan sonra, size bir \"Bucket policy\" g\u00f6sterilecektir. Bu politikay\u0131 kopyalay\u0131n.<\/li>\n<li><strong>S3 Bucket Politikas\u0131n\u0131 G\u00fcncelleme:<\/strong> S3 konsolunuza geri d\u00f6n\u00fcn, bucket'\u0131n\u0131z\u0131n \"Permissions\" sekmesine gidin ve \"Bucket Policy\" b\u00f6l\u00fcm\u00fcn\u00fc tekrar d\u00fczenleyin. Kopyalad\u0131\u011f\u0131n\u0131z OAC politikas\u0131n\u0131 mevcut politikan\u0131z\u0131n alt\u0131na ekleyin. Eski herkese a\u00e7\u0131k eri\u015fim politikas\u0131n\u0131 kald\u0131rabilirsiniz, \u00e7\u00fcnk\u00fc art\u0131k CloudFront \u00fczerinden g\u00fcvenli eri\u015fim sa\u011flayaca\u011f\u0131z. S3 bucket politikan\u0131zda, OAC taraf\u0131ndan olu\u015fturulan yeni bir \"Principal\" ve \"Resource\" b\u00f6l\u00fcm\u00fc olacakt\u0131r.<\/li>\n<li><strong>Viewer Protokol Politikas\u0131 ve HTTP\/HTTPS Y\u00f6nlendirmesi:<\/strong> CloudFront da\u011f\u0131t\u0131m ayarlar\u0131n\u0131za geri d\u00f6n\u00fcn. \"Viewer protocol policy\" b\u00f6l\u00fcm\u00fcnde \"Redirect HTTP to HTTPS\" se\u00e7ene\u011fini se\u00e7in. Bu, kullan\u0131c\u0131lar\u0131n sitenize her zaman g\u00fcvenli ba\u011flant\u0131lar \u00fczerinden eri\u015fmesini sa\u011flar.<\/li>\n<li><strong>Custom Domain ve SSL Sertifikas\u0131 (\u0130ste\u011fe Ba\u011fl\u0131 ama \u015eiddetle Tavsiye Edilir):<\/strong> E\u011fer \u00f6zel bir alan ad\u0131 kullanmak istiyorsan\u0131z (\u00f6rne\u011fin, <code>www.siteadiniz.com<\/code>), \"Alternate domain names (CNAMEs)\" alan\u0131na alan ad\u0131n\u0131z\u0131 girin. Ard\u0131ndan, \"Custom SSL certificate\" alt\u0131nda Amazon Certificate Manager (ACM) ile \u00f6nceden olu\u015fturdu\u011funuz bir sertifikay\u0131 se\u00e7in. E\u011fer yoksa, ACM \u00fczerinden \u00fccretsiz bir sertifika olu\u015fturup do\u011frulaman\u0131z gerekecektir. Bu ad\u0131m, web sitenizin alan ad\u0131n\u0131z \u00fczerinden HTTPS ile eri\u015filebilir olmas\u0131n\u0131 sa\u011flar.<\/li>\n<li><strong>Da\u011f\u0131t\u0131m\u0131 Olu\u015fturma:<\/strong> Di\u011fer ayarlar\u0131 varsay\u0131lan olarak b\u0131rak\u0131p \"Create distribution\" d\u00fc\u011fmesine t\u0131klay\u0131n. CloudFront da\u011f\u0131t\u0131m\u0131n\u0131n da\u011f\u0131t\u0131lmas\u0131 birka\u00e7 dakika s\u00fcrebilir. Durumu \"Deploying\" konumundan \"Deployed\" konumuna ge\u00e7ti\u011finde, siteniz CloudFront \u00fczerinden eri\u015filebilir olacakt\u0131r.<\/li>\n<li><strong>DNS Ayarlar\u0131n\u0131 Yap\u0131land\u0131rma:<\/strong> Da\u011f\u0131t\u0131m\u0131n\u0131z \"Deployed\" durumuna geldi\u011finde, CloudFront size bir Domain Name (\u00f6rne\u011fin, <code>d123abc456def.cloudfront.net<\/code>) verecektir. E\u011fer \u00f6zel bir alan ad\u0131 kulland\u0131ysan\u0131z, alan ad\u0131n\u0131z\u0131n DNS kay\u0131tlar\u0131na bir CNAME kayd\u0131 ekleyerek bu CloudFront Domain Name'ini hedef g\u00f6stermelisiniz. \u00d6rne\u011fin, <code>www.siteadiniz.com<\/code>'u bu CloudFront da\u011f\u0131t\u0131m\u0131na y\u00f6nlendirin.<\/li>\n<\/ol>\n<div class=\"expert-tip\">\n      Uzman \u0130pucu: S3 bucket'\u0131n\u0131z i\u00e7in statik web sitesi hosting \u00f6zelli\u011fini devre d\u0131\u015f\u0131 b\u0131rak\u0131p sadece CloudFront'u kullanman\u0131z, daha g\u00fcvenli ve performant bir yap\u0131 sa\u011flar. S3 bucket'\u0131n\u0131z\u0131n kendisi herkese a\u00e7\u0131k bir u\u00e7 nokta olarak g\u00f6r\u00fcnmez, eri\u015fim sadece CloudFront \u00fczerinden OAC ile sa\u011flan\u0131r.\n    <\/div>\n<p>Bu ad\u0131mlarla, statik web sitenizi S3'te bar\u0131nd\u0131rd\u0131n\u0131z ve CloudFront arac\u0131l\u0131\u011f\u0131yla d\u00fcnya geneline h\u0131zl\u0131 ve g\u00fcvenli bir \u015fekilde da\u011f\u0131t\u0131m\u0131n\u0131 sa\u011flad\u0131n\u0131z. \u015eimdi s\u0131ra geli\u015ftirme s\u00fcre\u00e7lerimizi otomatikle\u015ftirerek i\u015f y\u00fck\u00fcm\u00fcz\u00fc hafifletmeye geldi.<\/p>\n<h2>CI\/CD ile Otomatik Da\u011f\u0131t\u0131m: Geli\u015ftirme S\u00fcrecinizi H\u0131zland\u0131r\u0131n<\/h2>\n<p>Statik web sitenizi S3 ve CloudFront ile bar\u0131nd\u0131rmak harika bir ba\u015flang\u0131\u00e7. Ancak i\u00e7erik g\u00fcncellemeleri veya yeni \u00f6zellikler ekledi\u011finizde, bu dosyalar\u0131 manuel olarak S3'e y\u00fcklemek ve CloudFront \u00f6nbelle\u011fini temizlemek s\u0131k\u0131c\u0131, hataya a\u00e7\u0131k ve zaman al\u0131c\u0131 olabilir. \u0130\u015fte bu noktada S\u00fcrekli Entegrasyon (CI) ve S\u00fcrekli Da\u011f\u0131t\u0131m (CD) devreye girer. CI\/CD, yaz\u0131l\u0131m geli\u015ftirme s\u00fcrecinizi otomatikle\u015ftirerek, kod de\u011fi\u015fikliklerinizin test edilmesini, derlenmesini ve h\u0131zla canl\u0131ya al\u0131nmas\u0131n\u0131 sa\u011flar. Bu sayede, geli\u015ftirme ekipleri daha verimli \u00e7al\u0131\u015f\u0131r ve son kullan\u0131c\u0131ya daha h\u0131zl\u0131 de\u011fer sunulur.<\/p>\n<h3>Neden CI\/CD Kullanmal\u0131y\u0131z? Otomatikle\u015fmenin Faydalar\u0131<\/h3>\n<p>Manuel da\u011f\u0131t\u0131m s\u00fcre\u00e7leri, \u00f6zellikle b\u00fcy\u00fck ve aktif projelerde ciddi sorunlara yol a\u00e7abilir. Bir geli\u015ftirici olarak, kodunuzu de\u011fi\u015ftirdikten sonra manuel olarak build almak, dosyalar\u0131 FTP ile sunucuya y\u00fcklemek (veya S3'e kopyalamak), sonra CloudFront invalidation yapmak... Bu i\u015flemler sadece tekrarlay\u0131c\u0131 de\u011fil, ayn\u0131 zamanda insan hatas\u0131na da a\u00e7\u0131kt\u0131r. Yanl\u0131\u015f bir dosyay\u0131 y\u00fcklemek, eksik bir ad\u0131m\u0131 atlamak veya yanl\u0131\u015f bir dizine kopyalamak, canl\u0131 sitede kesintilere veya hatalara neden olabilir.<\/p>\n<p>CI\/CD'nin temel faydalar\u0131 \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>H\u0131z ve Verimlilik:<\/strong> Kod de\u011fi\u015fiklikleri otomatik olarak alg\u0131lan\u0131r, derlenir ve da\u011f\u0131t\u0131l\u0131r. Bu, manuel s\u00fcre\u00e7lere k\u0131yasla da\u011f\u0131t\u0131m s\u00fcrelerini dakikalara, hatta saniyelere indirir.<\/li>\n<li><strong>G\u00fcvenilirlik ve Tutarl\u0131l\u0131k:<\/strong> Her da\u011f\u0131t\u0131m, \u00f6nceden tan\u0131mlanm\u0131\u015f ad\u0131mlar ve testler \u00fczerinden ge\u00e7ti\u011fi i\u00e7in tutarl\u0131 ve g\u00fcvenilir olur. Herhangi bir hatada s\u00fcre\u00e7 durdurulur ve geli\u015ftiricilere geri bildirim sa\u011flan\u0131r.<\/li>\n<li><strong>Hata Azaltma:<\/strong> \u0130nsan m\u00fcdahalesi azald\u0131k\u00e7a, manuel hatalar\u0131n riski de azal\u0131r. Test otomasyonu, hatalar\u0131n canl\u0131ya \u00e7\u0131kmadan \u00f6nce yakalanmas\u0131na yard\u0131mc\u0131 olur.<\/li>\n<li><strong>Geli\u015ftirici Odakl\u0131l\u0131k:<\/strong> Geli\u015ftiriciler, operasyonel da\u011f\u0131t\u0131m s\u00fcre\u00e7leriyle u\u011fra\u015fmak yerine, yeni \u00f6zellikler geli\u015ftirmeye ve kod kalitesini art\u0131rmaya odaklanabilir.<\/li>\n<li><strong>H\u0131zl\u0131 Geri Bildirim:<\/strong> Hatalar veya performans sorunlar\u0131 erken a\u015famada tespit edildi\u011fi i\u00e7in, d\u00fczeltmeler daha h\u0131zl\u0131 yap\u0131labilir.<\/li>\n<li><strong>Daha S\u0131k Da\u011f\u0131t\u0131mlar:<\/strong> Otomatikle\u015fmi\u015f s\u00fcre\u00e7ler sayesinde, k\u00fc\u00e7\u00fck ve s\u0131k da\u011f\u0131t\u0131mlar yapmak kolayla\u015f\u0131r. Bu, riskleri azalt\u0131r ve pazara \u00e7\u0131k\u0131\u015f s\u00fcresini k\u0131salt\u0131r.<\/li>\n<\/ul>\n<p>Statik web siteleri i\u00e7in CI\/CD, \u00f6zellikle frontend framework'leri (React, Vue, Angular) veya statik site \u00fcrete\u00e7leri (Gatsby, Hugo, Next.js) kullan\u0131l\u0131yorsa vazge\u00e7ilmezdir. Bu ara\u00e7lar genellikle bir \"build\" ad\u0131m\u0131 gerektirir ve bu ad\u0131m\u0131n otomasyonu, geli\u015ftirme ak\u0131\u015f\u0131n\u0131z\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirir.<\/p>\n<h3>AWS CodePipeline ve CodeBuild ile CI\/CD Hatt\u0131 Kurulumu<\/h3>\n<p>AWS, CI\/CD s\u00fcre\u00e7lerinizi y\u00f6netmek i\u00e7in bir dizi servis sunar. Bunlardan CodePipeline, t\u00fcm hatt\u0131 orkestra ederken, CodeBuild build i\u015flemlerini y\u00fcr\u00fct\u00fcr ve CodeCommit\/GitHub gibi servisler kaynak kontrol\u00fc sa\u011flar.<\/p>\n<ol>\n<li><strong>Kaynak (Source) A\u015famas\u0131:<\/strong>\n<p>Bu, CI\/CD hatt\u0131n\u0131n ilk ad\u0131m\u0131d\u0131r. Kod de\u011fi\u015fikliklerinizi izledi\u011finiz yerdir. Genellikle bir Git deposu kullan\u0131l\u0131r. GitHub, AWS CodeCommit veya Bitbucket gibi bir hizmeti se\u00e7ebilirsiniz. \u00d6rne\u011fin, GitHub ile entegre etti\u011finizde, her <code>git push<\/code> i\u015flemi CodePipeline'\u0131 tetikleyebilir.<\/p>\n<div class=\"expert-tip\">\n              Uzman \u0130pucu: G\u00fcvenlik i\u00e7in CodeCommit kullan\u0131yorsan\u0131z, IAM rollerini do\u011fru yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun. GitHub kullan\u0131yorsan\u0131z, webhooks ve OAuth entegrasyonu genellikle yeterlidir.\n            <\/div>\n<\/li>\n<li><strong>Derleme (Build) A\u015famas\u0131 - AWS CodeBuild:<\/strong>\n<p>Kaynak kodunuz \u00e7ekildikten sonra, CodeBuild devreye girer. CodeBuild, kodunuzu derlemek, test etmek ve da\u011f\u0131t\u0131ma haz\u0131r hale getirmek i\u00e7in y\u00f6netilen bir build hizmetidir. Statik web siteleri i\u00e7in bu a\u015fama, genellikle JavaScript ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fcklemek (<code>npm install<\/code>), siteyi derlemek (<code>npm run build<\/code> veya <code>hugo<\/code>) ve statik dosyalar\u0131 \u00e7\u0131kt\u0131 dizinine yerle\u015ftirmek anlam\u0131na gelir. CodeBuild, bu ad\u0131mlar\u0131 tan\u0131mlamak i\u00e7in bir <code>buildspec.yml<\/code> dosyas\u0131 kullan\u0131r. Bu dosya, projenizin k\u00f6k dizininde bulunur.<\/p>\n<p>A\u015fa\u011f\u0131da basit bir statik site i\u00e7in <code>buildspec.yml<\/code> \u00f6rne\u011fi bulunmaktad\u0131r:<\/p>\n<pre><code>\nversion: 0.2\n\nphases:\n  install:\n    runtime-versions:\n      nodejs: 18 # Projenizin Node.js s\u00fcr\u00fcm\u00fcn\u00fc belirtin\n    commands:\n      - echo \"Installing dependencies...\"\n      - npm install\n  build:\n    commands:\n      - echo \"Building the static website...\"\n      - npm run build # Veya projenizin build komutu, \u00f6rne\u011fin: 'hugo'\n  post_build:\n    commands:\n      - echo \"Build completed successfully.\"\n\nartifacts:\n  files:\n    - '**\/*' # Build sonras\u0131 olu\u015fturulan t\u00fcm dosyalar\u0131 i\u00e7er\n  base-directory: 'build' # Veya statik dosyalar\u0131n\u0131z\u0131n \u00e7\u0131kt\u0131\u011f\u0131 dizin, \u00f6rne\u011fin: 'public'\n<\/pre>\n<p><\/code><\/p>\n<p>Bu <code>buildspec.yml<\/code> dosyas\u0131, CodeBuild'e Node.js ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 kurmas\u0131n\u0131, ard\u0131ndan statik siteyi build etmesini ve son olarak <code>build<\/code> (veya <code>public<\/code>) klas\u00f6r\u00fcndeki t\u00fcm \u00e7\u0131kt\u0131lar\u0131 da\u011f\u0131t\u0131m i\u00e7in \"artifact\" olarak paketlemesini s\u00f6yler.<\/p>\n<\/li>\n<li><strong>Da\u011f\u0131t\u0131m (Deploy) A\u015famas\u0131:<\/strong>\n<p>Build i\u015flemi ba\u015far\u0131yla tamamland\u0131ktan sonra, CodePipeline bu \"artifact\"lar\u0131 S3 bucket'\u0131n\u0131za da\u011f\u0131t\u0131r. CodePipeline do\u011frudan S3'e da\u011f\u0131t\u0131m yapabilir. Genellikle, CodeBuild'in da\u011f\u0131t\u0131m a\u015famas\u0131nda S3'e senkronizasyon ve CloudFront \u00f6nbelle\u011fini ge\u00e7ersiz k\u0131lma (invalidation) ad\u0131mlar\u0131 birlikte y\u00fcr\u00fct\u00fcl\u00fcr. Bu, yeni i\u00e7eri\u011fin hemen yay\u0131nlanmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>A\u015fa\u011f\u0131da, S3'e da\u011f\u0131t\u0131m ve CloudFront invalidation'\u0131 i\u00e7eren g\u00fcncellenmi\u015f bir <code>buildspec.yml<\/code> \u00f6rne\u011fi bulunmaktad\u0131r:<\/p>\n<pre><code>\nversion: 0.2\n\nphases:\n  install:\n    runtime-versions:\n      nodejs: 18\n    commands:\n      - echo \"Installing dependencies...\"\n      - npm install\n  build:\n    commands:\n      - echo \"Building the static website...\"\n      - npm run build\n  post_build:\n    commands:\n      - echo \"Deploying to S3 and invalidating CloudFront cache...\"\n      - aws s3 sync build\/ s3:\/\/YOUR_S3_BUCKET_NAME --delete --acl public-read # S3'e senkronize et, eski dosyalar\u0131 sil\n      - aws cloudfront create-invalidation --distribution-id YOUR_CLOUDFRONT_DISTRIBUTION_ID --paths \"\/*\" # CloudFront \u00f6nbelle\u011fini temizle\n\nartifacts:\n  files:\n    - '**\/*'\n  base-directory: 'build'\n<\/pre>\n<p><\/code><\/p>\n<p>Bu \u00f6rnekte, <code>YOUR_S3_BUCKET_NAME<\/code> ve <code>YOUR_CLOUDFRONT_DISTRIBUTION_ID<\/code> k\u0131s\u0131mlar\u0131n\u0131 kendi de\u011ferlerinizle de\u011fi\u015ftirmelisiniz. <code>aws s3 sync<\/code> komutu, yerel <code>build\/<\/code> dizinini S3 bucket'\u0131n\u0131zla senkronize ederken, <code>--delete<\/code> parametresi S3'te art\u0131k yerel olarak bulunmayan dosyalar\u0131 siler. <code>--acl public-read<\/code> ise S3'e y\u00fcklenen dosyalar\u0131n herkese okunabilir olmas\u0131n\u0131 sa\u011flar. CloudFront invalidation komutu ise, CloudFront'a t\u00fcm yollardaki (<code>\/*<\/code>) i\u00e7eri\u011fin \u00f6nbelle\u011fini temizlemesini emreder, b\u00f6ylece yeni i\u00e7eri\u011finiz an\u0131nda yay\u0131nlan\u0131r.<\/p>\n<\/ol>\n<p>Bu CI\/CD hatt\u0131n\u0131 kurduktan sonra, her kod push'unda web siteniz otomatik olarak g\u00fcncellenecek ve CloudFront \u00f6nbelle\u011fi temizlenerek en yeni versiyon kullan\u0131c\u0131lara an\u0131nda sunulacakt\u0131r. Bu otomasyon, geli\u015ftirme s\u00fcre\u00e7lerinizi h\u0131zland\u0131r\u0131rken, operasyonel y\u00fck\u00fc ve hata oran\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde d\u00fc\u015f\u00fcr\u00fcr.<\/p>\n<h2>\u0130leri D\u00fczey Optimizasyonlar ve G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h2>\n<p>Temel bir S3 ve CloudFront entegrasyonu ile CI\/CD hatt\u0131 kurmak harika bir ba\u015flang\u0131\u00e7 olsa da, projenizin b\u00fcy\u00fckl\u00fc\u011f\u00fcne ve gereksinimlerine g\u00f6re daha fazla optimizasyon ve g\u00fcvenlik ad\u0131m\u0131 uygulayabilirsiniz. Bu ileri d\u00fczey teknikler, sitenizin performans\u0131n\u0131 daha da art\u0131r\u0131rken, k\u00f6t\u00fc niyetli sald\u0131r\u0131lara kar\u015f\u0131 direncinizi g\u00fc\u00e7lendirecektir. Modern web uygulamalar\u0131n\u0131n beklentilerini kar\u015f\u0131lamak i\u00e7in bu ek katmanlar\u0131 d\u00fc\u015f\u00fcnmek \u00f6nemlidir.<\/p>\n<ul>\n<li><strong>AWS WAF ile G\u00fcvenlik Katman\u0131:<\/strong> CloudFront, DDoS korumas\u0131 sunsa da, web uygulaman\u0131za y\u00f6nelik daha sofistike sald\u0131r\u0131lara (SQL Injection, XSS gibi) kar\u015f\u0131 ek bir koruma katman\u0131 ekleyebilirsiniz. AWS WAF (Web Application Firewall), web isteklerini izleyerek ve \u00f6nceden tan\u0131mlanm\u0131\u015f kurallara veya sizin belirledi\u011finiz \u00f6zel kurallara g\u00f6re filtreleyerek bu t\u00fcr sald\u0131r\u0131lar\u0131 engeller. CloudFront da\u011f\u0131t\u0131m\u0131n\u0131zla WAF'\u0131 entegre etmek, sitenizin g\u00fcvenlik duru\u015funu \u00f6nemli \u00f6l\u00e7\u00fcde g\u00fc\u00e7lendirir. Bu, \u00f6zellikle hassas verilerin olmad\u0131\u011f\u0131 statik siteler i\u00e7in bile k\u00f6t\u00fc niyetli taray\u0131c\u0131lar\u0131 veya botlar\u0131 engellemek ad\u0131na kritik bir ad\u0131md\u0131r.<\/li>\n<li><strong>Lambda@Edge ile Dinamik Dokunu\u015flar:<\/strong> Statik web siteleri genellikle dinamik i\u015flevselli\u011fe ihtiya\u00e7 duymaz, ancak bazen hafif dinamik davran\u0131\u015flar veya i\u00e7erik manip\u00fclasyonlar\u0131 gerekebilir. Lambda@Edge, bu ihtiyac\u0131 CloudFront'un kenar konumlar\u0131nda sunucusuz i\u015flevler \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131yarak giderir. \u00d6rne\u011fin, URL'leri yeniden yazmak, HTTP ba\u015fl\u0131klar\u0131n\u0131 de\u011fi\u015ftirmek, A\/B testi i\u00e7in kullan\u0131c\u0131lar\u0131 farkl\u0131 i\u00e7eriklere y\u00f6nlendirmek veya basit bir kimlik do\u011frulama mekanizmas\u0131 eklemek i\u00e7in Lambda@Edge kullanabilirsiniz. Bu, ana sunucunuza y\u00fck bindirmeden veya sitenizin statik yap\u0131s\u0131n\u0131 bozmadan dinamik \u00f6zellikler eklemenin g\u00fc\u00e7l\u00fc bir yoludur. B\u00f6ylece, kullan\u0131c\u0131lar\u0131n deneyimi ki\u015fiselle\u015ftirilebilir veya farkl\u0131 co\u011frafi b\u00f6lgelere \u00f6zel i\u00e7erikler sunulabilir.<\/li>\n<li><strong>S3 Versioning ve Geri Alma:<\/strong> S3 bucket'\u0131n\u0131zda s\u00fcr\u00fcm olu\u015fturmay\u0131 (Versioning) etkinle\u015ftirerek, dosyalar\u0131n\u0131z\u0131n her de\u011fi\u015fikli\u011fini saklayabilirsiniz. Bu, yanl\u0131\u015fl\u0131kla silinen veya \u00fczerine yaz\u0131lan dosyalar\u0131 kolayca geri alman\u0131z\u0131 sa\u011flar. Yanl\u0131\u015f bir da\u011f\u0131t\u0131m yapt\u0131\u011f\u0131n\u0131zda veya eski bir s\u00fcr\u00fcme d\u00f6nmeniz gerekti\u011finde hayat kurtar\u0131c\u0131 bir \u00f6zelliktir. Bu \u00f6zellik, \u00f6zellikle CI\/CD hatt\u0131n\u0131z\u0131n bir par\u00e7as\u0131 olarak otomatik da\u011f\u0131t\u0131mlarda yanl\u0131\u015f bir \u015feylerin ters gitmesi durumunda h\u0131zl\u0131 bir kurtarma noktas\u0131 sa\u011flar.<\/li>\n<li><strong>Performans Monit\u00f6r\u00fc ve Loglama:<\/strong> CloudWatch ile CloudFront ve S3 metriklerinizi izleyin. CloudFront eri\u015fim g\u00fcnl\u00fcklerini (Access Logs) etkinle\u015ftirerek, sitenize yap\u0131lan her iste\u011fi detayl\u0131 bir \u015fekilde analiz edebilirsiniz. Bu g\u00fcnl\u00fckler, kullan\u0131c\u0131 davran\u0131\u015flar\u0131n\u0131 anlamak, performans sorunlar\u0131n\u0131 gidermek ve g\u00fcvenlik olaylar\u0131n\u0131 ara\u015ft\u0131rmak i\u00e7in paha bi\u00e7ilmez bilgiler sunar. \u00d6zellikle kullan\u0131c\u0131lar\u0131n hangi b\u00f6lgelerden eri\u015fti\u011fi, hangi i\u00e7eriklerin pop\u00fcler oldu\u011fu veya hangi isteklerin yava\u015f kald\u0131\u011f\u0131 gibi detaylar\u0131 g\u00f6rmek, sitenizi daha da optimize etmenize yard\u0131mc\u0131 olur.<\/li>\n<li><strong>Mobil Uyumlu HTML ve Duyarl\u0131 Tasar\u0131m:<\/strong> Modern web siteleri, farkl\u0131 ekran boyutlar\u0131na ve cihazlara (ak\u0131ll\u0131 telefonlar, tabletler, masa\u00fcst\u00fc bilgisayarlar) uyum sa\u011flamak zorundad\u0131r. Mobil uyumlu HTML ve duyarl\u0131 (responsive) tasar\u0131m prensipleri, sitenizin t\u00fcm cihazlarda kusursuz g\u00f6r\u00fcnmesini ve \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Bu, CSS media query'leri ve esnek grid sistemleri kullanarak ger\u00e7ekle\u015ftirilir. \u0130\u00e7eri\u011finizin ve d\u00fczeninizin, kullan\u0131c\u0131lar\u0131n cihaz\u0131na g\u00f6re otomatik olarak uyum sa\u011flamas\u0131, eri\u015filebilirli\u011fi ve kullan\u0131c\u0131 deneyimini art\u0131r\u0131r. AWS S3 ve CloudFront, mobil uyumluluk konusunda do\u011frudan bir rol oynamaz; ancak h\u0131zl\u0131 teslimatlar\u0131, duyarl\u0131 tasar\u0131m\u0131n\u0131z\u0131n getirdi\u011fi faydalar\u0131n tam olarak ortaya \u00e7\u0131kmas\u0131n\u0131 sa\u011flar. Yani, altyap\u0131n\u0131z ne kadar h\u0131zl\u0131 olursa, duyarl\u0131 tasar\u0131m\u0131n\u0131z\u0131n y\u00fckleme ve tepki s\u00fcreleri de o kadar iyi olur.<\/li>\n<li><strong>HTTP G\u00fcvenlik Ba\u015fl\u0131klar\u0131:<\/strong> CloudFront ve Lambda@Edge kullanarak, sitenizin HTTP yan\u0131tlar\u0131na g\u00fcvenlik ba\u015fl\u0131klar\u0131 (\u00f6rne\u011fin, Content-Security-Policy, X-Frame-Options, X-XSS-Protection) ekleyebilirsiniz. Bu ba\u015fl\u0131klar, taray\u0131c\u0131lar\u0131n sitenizle nas\u0131l etkile\u015fime girdi\u011fini kontrol ederek XSS, clickjacking gibi yayg\u0131n web sald\u0131r\u0131lar\u0131na kar\u015f\u0131 ek bir koruma katman\u0131 sa\u011flar.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey optimizasyonlar ve g\u00fcvenlik ipu\u00e7lar\u0131, statik web sitenizi sadece h\u0131zl\u0131 ve maliyet etkin de\u011fil, ayn\u0131 zamanda son derece g\u00fcvenli ve dayan\u0131kl\u0131 hale getirecektir. Unutmay\u0131n, DevOps sadece otomasyon de\u011fil, ayn\u0131 zamanda s\u00fcrekli iyile\u015ftirme ve g\u00fcvenlik odakl\u0131 bir zihniyettir.<\/p>\n<h2>Vaka Analizi: Y\u00fcksek Trafikli Bir Pazarlama Kampanyas\u0131 Sitesi \u0130\u00e7in Statik Yakla\u015f\u0131m<\/h2>\n<p>Teorik bilgileri ve ad\u0131m ad\u0131m talimatlar\u0131 payla\u015ft\u0131k, \u015fimdi gelin ger\u00e7ek d\u00fcnyadan bir senaryoyla bu mimarinin nas\u0131l bir fark yaratabilece\u011fini g\u00f6relim. B\u00fcy\u00fck bir e-ticaret \u015firketinin, \"Black Friday\" gibi yo\u011fun indirim d\u00f6nemleri i\u00e7in \u00f6zel bir pazarlama kampanyas\u0131 sitesi olu\u015fturmas\u0131 gerekti\u011fini varsayal\u0131m. Bu site, \u00fcr\u00fcn kataloglar\u0131 veya al\u0131\u015fveri\u015f sepeti gibi dinamik \u00f6zellikler i\u00e7ermeyecek, bunun yerine sadece statik HTML sayfalar, g\u00f6rseller ve videolar ile kampanyay\u0131 ve \u00fcr\u00fcnleri tan\u0131tacakt\u0131. \u015eirketin beklentileri \u015funlard\u0131: milyarlarca potansiyel ziyaret\u00e7iye hizmet verebilecek \u00f6l\u00e7eklenebilirlik, kampanya s\u00fcresince olu\u015fabilecek ani trafik art\u0131\u015flar\u0131na dayan\u0131kl\u0131l\u0131k, s\u0131f\u0131r kesinti, h\u0131zl\u0131 y\u00fckleme s\u00fcreleri ve tabii ki y\u00fcksek g\u00fcvenlik.<\/p>\n<p><strong>Geleneksel Yakla\u015f\u0131mla Kar\u015f\u0131la\u015f\u0131lan Problemler:<\/strong><\/p>\n<ul>\n<li><strong>\u00d6l\u00e7eklenebilirlik Endi\u015fesi:<\/strong> Geleneksel bir sunucu altyap\u0131s\u0131, aniden artan trafi\u011fi y\u00f6netmekte zorlanabilirdi. Sunucular\u0131n \u00e7\u00f6kme riski, kampanya geliri i\u00e7in b\u00fcy\u00fck bir tehdit olu\u015fturuyordu. Mevcut altyap\u0131y\u0131 b\u00fcy\u00fctmek hem maliyetli hem de zaman al\u0131c\u0131 olacakt\u0131.<\/li>\n<li><strong>Performans Sorunlar\u0131:<\/strong> Sunucu yan\u0131t s\u00fcreleri ve i\u00e7erik da\u011f\u0131t\u0131m\u0131ndaki gecikmeler, kullan\u0131c\u0131lar\u0131n sayfay\u0131 terk etmesine neden olabilirdi. K\u00fcresel bir kampanya oldu\u011fu i\u00e7in, d\u00fcnyan\u0131n farkl\u0131 yerlerindeki kullan\u0131c\u0131lar\u0131n e\u015fit h\u0131zda i\u00e7eri\u011fe eri\u015fimi kritikti.<\/li>\n<li><strong>Maliyet:<\/strong> Y\u00fcksek trafik kapasitesi i\u00e7in sunucular\u0131 ve bant geni\u015fli\u011fini \u00f6nceden \u00f6l\u00e7eklendirmek, kampanya bittikten sonra bile devam eden y\u00fcksek maliyetler demekti.<\/li>\n<li><strong>Da\u011f\u0131t\u0131m Zorluklar\u0131:<\/strong> Kampanya ba\u015flamadan \u00f6nce ve kampanya s\u0131ras\u0131nda yap\u0131labilecek son dakika g\u00fcncellemelerinin h\u0131zl\u0131 ve hatas\u0131z bir \u015fekilde canl\u0131ya al\u0131nmas\u0131 gerekiyordu. Manuel da\u011f\u0131t\u0131mlar, hata riskini art\u0131r\u0131yordu.<\/li>\n<\/ul>\n<p><strong>AWS S3, CloudFront ve CI\/CD ile \u00c7\u00f6z\u00fcm:<\/strong><\/p>\n<p>\u015eirketin DevOps ekibi, bu zorluklar\u0131n \u00fcstesinden gelmek i\u00e7in AWS'nin statik web sitesi bar\u0131nd\u0131rma mimarisini uygulamaya karar verdi:<\/p>\n<ol>\n<li><strong>S3 ile Dayan\u0131kl\u0131 Depolama:<\/strong> Kampanya sitesinin t\u00fcm HTML, CSS, JavaScript dosyalar\u0131, y\u00fcksek \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc g\u00f6rselleri ve tan\u0131t\u0131m videolar\u0131 AWS S3 bucket'lar\u0131na y\u00fcklendi. S3'\u00fcn \"sonsuz\" \u00f6l\u00e7eklenebilirli\u011fi, depolama kapasitesi konusunda hi\u00e7bir endi\u015feye yer b\u0131rakmad\u0131. Ayr\u0131ca, S3'\u00fcn y\u00fcksek dayan\u0131kl\u0131l\u0131\u011f\u0131, verilerin g\u00fcvende oldu\u011funu garantiledi.<\/li>\n<li><strong>CloudFront ile K\u00fcresel H\u0131z ve G\u00fcvenlik:<\/strong> S3 bucket'lar\u0131, Amazon CloudFront da\u011f\u0131t\u0131mlar\u0131 i\u00e7in kaynak (origin) olarak ayarland\u0131. CloudFront, global kenar konumlar\u0131 a\u011f\u0131 sayesinde, i\u00e7eri\u011fi d\u00fcnyan\u0131n her yerindeki kullan\u0131c\u0131lara en yak\u0131n noktadan sundu. Bu, gecikme s\u00fcresini minimize ederek, kullan\u0131c\u0131lar\u0131n kampanyaya saniyeler i\u00e7inde eri\u015fmesini sa\u011flad\u0131. Ayr\u0131ca, CloudFront'un yerle\u015fik DDoS korumas\u0131 ve AWS WAF ile entegrasyonu, olas\u0131 k\u00f6t\u00fc niyetli trafik ve sald\u0131r\u0131lara kar\u015f\u0131 ek bir g\u00fcvenlik katman\u0131 olu\u015fturdu, b\u00f6ylece kampanya kesintisiz devam edebildi. SSL\/TLS sertifikalar\u0131 ACM \u00fczerinden kolayca sa\u011fland\u0131 ve HTTPS zorunlu k\u0131l\u0131nd\u0131.<\/li>\n<li><strong>CI\/CD ile H\u0131zl\u0131 ve G\u00fcvenli Da\u011f\u0131t\u0131m:<\/strong> Geli\u015ftirme ekibi, kampanya sitesi i\u00e7in bir CI\/CD hatt\u0131 kurdu. Bu hatt\u0131n a\u015famalar\u0131 \u015funlard\u0131:\n<ul>\n<li><strong>Kaynak:<\/strong> Kod de\u011fi\u015fiklikleri GitHub'a push edildi\u011finde tetiklenen bir webhook.<\/li>\n<li><strong>Derleme:<\/strong> AWS CodeBuild, Next.js ile geli\u015ftirilen statik siteyi derleyerek optimize edilmi\u015f HTML, CSS, JS ve imaj dosyalar\u0131n\u0131 olu\u015fturdu.<\/li>\n<li><strong>Da\u011f\u0131t\u0131m:<\/strong> CodeBuild sonras\u0131 komutlar, olu\u015fturulan t\u00fcm statik dosyalar\u0131 S3 bucket'\u0131na <code>aws s3 sync<\/code> ile senkronize etti ve ard\u0131ndan <code>aws cloudfront create-invalidation<\/code> komutuyla CloudFront \u00f6nbelle\u011fini an\u0131nda temizledi.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Sonu\u00e7lar ve Faydalar:<\/strong><\/p>\n<p>Bu mimari sayesinde e-ticaret \u015firketi \u015fu faydalar\u0131 sa\u011flad\u0131:<\/p>\n<ul>\n<li><strong>%80 Performans Art\u0131\u015f\u0131:<\/strong> CloudFront \u00f6nbellekleme ve global da\u011f\u0131t\u0131m sayesinde, sitenin y\u00fckleme s\u00fcreleri b\u00fcy\u00fck \u00f6l\u00e7\u00fcde azald\u0131. Google PageSpeed Insights skorlar\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde y\u00fckseldi, bu da kullan\u0131c\u0131 memnuniyetini art\u0131rd\u0131.<\/li>\n<li><strong>S\u0131f\u0131r Kesinti ve S\u0131n\u0131rs\u0131z \u00d6l\u00e7eklenebilirlik:<\/strong> Black Friday kampanyas\u0131 s\u0131ras\u0131nda ya\u015fanan ani ve rekor d\u00fczeydeki trafi\u011fi sorunsuz bir \u015fekilde kar\u015f\u0131lad\u0131. Sunucu \u00e7\u00f6kmesi veya yava\u015flama ya\u015fanmad\u0131.<\/li>\n<li><strong>%60 Maliyet Azalmas\u0131:<\/strong> S3'\u00fcn kulland\u0131k\u00e7a \u00f6de modeli ve CloudFront'un optimize edilmi\u015f bant geni\u015fli\u011fi kullan\u0131m\u0131 sayesinde, geleneksel altyap\u0131ya g\u00f6re \u00e7ok daha uygun maliyetli bir \u00e7\u00f6z\u00fcm elde edildi. Kampanya bitiminde de ek maliyet olu\u015fmad\u0131.<\/li>\n<li><strong>H\u0131zl\u0131 Pazarlama Yan\u0131t\u0131:<\/strong> CI\/CD hatt\u0131 sayesinde, kampanya y\u00f6neticilerinin son dakika i\u00e7erik veya g\u00f6rsel de\u011fi\u015fiklikleri an\u0131nda canl\u0131ya al\u0131nabildi, bu da pazarlama esnekli\u011fini art\u0131rd\u0131.<\/li>\n<li><strong>Y\u00fcksek G\u00fcvenlik:<\/strong> S3 OAC, CloudFront, WAF ve HTTPS entegrasyonu sayesinde, site olas\u0131 web sald\u0131r\u0131lar\u0131na kar\u015f\u0131 \u00fcst d\u00fczeyde korundu.<\/li>\n<\/ul>\n<p>Bu vaka analizi, statik web sitesi bar\u0131nd\u0131rma yakla\u015f\u0131m\u0131n\u0131n, y\u00fcksek trafikli ve kritik kampanyalar i\u00e7in bile ne kadar g\u00fc\u00e7l\u00fc, g\u00fcvenilir ve maliyet etkin bir \u00e7\u00f6z\u00fcm olabilece\u011fini a\u00e7\u0131k\u00e7a g\u00f6stermektedir. DevOps prensiplerinin AWS bulut servisleriyle birle\u015fimi, modern i\u015f gereksinimlerini kar\u015f\u0131lamada anahtar rol oynamaktad\u0131r.<\/p>\n<h2>Sonu\u00e7: Gelece\u011fin Web Mimarisine Bug\u00fcn Ad\u0131m At\u0131n<\/h2>\n<p>Bu makale boyunca, AWS S3 ve CloudFront ile statik web sitesi bar\u0131nd\u0131rman\u0131n inceliklerini, neden modern web geli\u015ftirme i\u00e7in vazge\u00e7ilmez olduklar\u0131n\u0131 ve bir CI\/CD hatt\u0131 arac\u0131l\u0131\u011f\u0131yla bu s\u00fcreci nas\u0131l tamamen otomatikle\u015ftirebilece\u011finizi derinlemesine ele ald\u0131k. Geleneksel bar\u0131nd\u0131rma \u00e7\u00f6z\u00fcmlerinin getirdi\u011fi maliyet, \u00f6l\u00e7eklenebilirlik ve g\u00fcvenlik zorluklar\u0131na kar\u015f\u0131, S3'\u00fcn s\u0131n\u0131rs\u0131z depolama kapasitesi, CloudFront'un k\u00fcresel i\u00e7erik da\u011f\u0131t\u0131m a\u011f\u0131 ve CI\/CD'nin otomasyon g\u00fcc\u00fcyle donat\u0131lm\u0131\u015f modern bir mimari, projelerinize yeni bir soluk getirecektir. Bu \u00fc\u00e7l\u00fc, web sitenizin yaln\u0131zca h\u0131zl\u0131 ve g\u00fcvenilir olmas\u0131n\u0131 sa\u011flamakla kalmaz, ayn\u0131 zamanda operasyonel y\u00fck\u00fc azaltarak geli\u015ftirme ekiplerinizin yenili\u011fe odaklanmas\u0131na olanak tan\u0131r. Bir vaka analizi ile de g\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, bu yakla\u015f\u0131m y\u00fcksek trafikli ve kritik i\u015f senaryolar\u0131nda bile beklentilerin \u00f6tesinde performans sergileyebilir. Gelece\u011fin web mimarisi art\u0131k bir hayal de\u011fil, AWS'nin bulut servisleriyle ula\u015f\u0131labilir bir ger\u00e7eklik. Art\u0131k siz de bu bilgiyle donat\u0131lm\u0131\u015f olarak, projelerinizi daha \u00f6l\u00e7eklenebilir, g\u00fcvenli ve maliyet etkin bir \u015fekilde hayata ge\u00e7irebilirsiniz. Bu yolculuk, sadece web sitenizin performans\u0131n\u0131 art\u0131rmakla kalmayacak, ayn\u0131 zamanda geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinizi de k\u00f6kten d\u00f6n\u00fc\u015ft\u00fcrecektir.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<ul>\n<li>\n            <strong>S: Statik web siteleri SEO dostu mudur?<\/strong><\/p>\n<p>C: Kesinlikle! Statik web siteleri genellikle \u00e7ok h\u0131zl\u0131 y\u00fcklenir, bu da arama motoru s\u0131ralamalar\u0131 i\u00e7in \u00f6nemli bir fakt\u00f6rd\u00fcr. Ayr\u0131ca, CloudFront \u00fczerinden HTTPS ile g\u00fcvenli bir \u015fekilde yay\u0131nlanmalar\u0131, SEO performans\u0131n\u0131 olumlu etkiler. H\u0131zl\u0131 y\u00fckleme s\u00fcreleri ve g\u00fcvenilir eri\u015fim, kullan\u0131c\u0131 deneyimini art\u0131rarak dolayl\u0131 olarak SEO'ya katk\u0131da bulunur.<\/p>\n<\/li>\n<li>\n            <strong>S: S3'te bar\u0131nd\u0131r\u0131lan siteler i\u00e7in SSL\/TLS (HTTPS) nas\u0131l sa\u011flan\u0131r?<\/strong><\/p>\n<p>C: SSL\/TLS sertifikalar\u0131n\u0131 do\u011frudan S3'e uygulayamazs\u0131n\u0131z. Bunun yerine, CloudFront da\u011f\u0131t\u0131m\u0131n\u0131z\u0131 Amazon Certificate Manager (ACM) ile entegre edersiniz. ACM \u00fczerinden \u00fccretsiz bir SSL\/TLS sertifikas\u0131 olu\u015fturur, alan ad\u0131n\u0131z\u0131 do\u011frulad\u0131ktan sonra bu sertifikay\u0131 CloudFront da\u011f\u0131t\u0131m\u0131n\u0131zla ili\u015fkilendirirsiniz. CloudFront, HTTPS trafi\u011fini y\u00f6neterek S3'teki i\u00e7eri\u011finize g\u00fcvenli eri\u015fim sa\u011flar.<\/p>\n<\/li>\n<li>\n            <strong>S: Statik web sitesine dinamik \u00f6zellikler ekleyebilir miyim?<\/strong><\/p>\n<p>C: Evet, statik bir siteye tamamen dinamik bir sunucu eklemeden dinamik \u00f6zellikler kazand\u0131rabilirsiniz. Bunun i\u00e7in AWS Lambda@Edge, Amazon API Gateway ve\/veya d\u0131\u015f API servisleri gibi sunucusuz mimari bile\u015fenlerini kullanabilirsiniz. \u00d6rne\u011fin, bir ileti\u015fim formu i\u00e7in API Gateway ve Lambda kullanarak arka u\u00e7 olu\u015fturabilir veya kullan\u0131c\u0131 tabanl\u0131 ki\u015fiselle\u015ftirme i\u00e7in Lambda@Edge kullanabilirsiniz.<\/p>\n<\/li>\n<li>\n            <strong>S: CI\/CD hatt\u0131 kurmak k\u00fc\u00e7\u00fck projeler i\u00e7in maliyetli midir?<\/strong><\/p>\n<p>C: AWS servisleri genellikle kulland\u0131k\u00e7a \u00f6de (pay-as-you-go) modeliyle \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, k\u00fc\u00e7\u00fck projeler i\u00e7in CI\/CD hatt\u0131 kurmak olduk\u00e7a uygun maliyetli olabilir. AWS CodeBuild ve CodePipeline'\u0131n \u00fccretsiz kullan\u0131m katmanlar\u0131 bulunur. Projenizin b\u00fcy\u00fckl\u00fc\u011f\u00fcne ve da\u011f\u0131t\u0131m s\u0131kl\u0131\u011f\u0131na ba\u011fl\u0131 olarak maliyetler de\u011fi\u015fir ancak genellikle manuel s\u00fcre\u00e7lere harcad\u0131\u011f\u0131n\u0131z zaman ve potansiyel hata maliyetlerinden \u00e7ok daha d\u00fc\u015f\u00fckt\u00fcr.<\/p>\n<\/li>\n<li>\n            <strong>S: CloudFront invalidation nedir ve neden gereklidir?<\/strong><\/p>\n<p>C: CloudFront invalidation, kenar konumlar\u0131ndaki (edge locations) \u00f6nbelle\u011fe al\u0131nm\u0131\u015f i\u00e7eri\u011finizi silme i\u015flemidir. Web sitenizde bir g\u00fcncelleme yapt\u0131\u011f\u0131n\u0131zda (\u00f6rne\u011fin, bir resmi veya HTML dosyas\u0131n\u0131 de\u011fi\u015ftirdi\u011finizde), CloudFront bu i\u00e7eri\u011fin eski s\u00fcr\u00fcm\u00fcn\u00fc \u00f6nbelle\u011finde tutmaya devam edebilir. Yeni i\u00e7eri\u011finizin kullan\u0131c\u0131lara hemen ula\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in invalidation iste\u011fi g\u00f6ndererek CloudFront'a \u00f6nbelle\u011fini temizlemesini s\u00f6ylersiniz. CI\/CD hatt\u0131n\u0131z\u0131n son ad\u0131m\u0131 olarak bu i\u015flemi otomatikle\u015ftirmek, her zaman en g\u00fcncel i\u00e7eri\u011fin yay\u0131nlanmas\u0131n\u0131 garanti eder.<\/p>\n<\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Geleneksel web sitesi bar\u0131nd\u0131rma y\u00f6ntemlerinin y\u00fcksek maliyetleri, \u00f6l\u00e7eklenebilirlik zorluklar\u0131 ve g\u00fcvenlik endi\u015feleri sizi de yoruyor mu? \u0130\u015fte modern&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":[1341],"tags":[],"class_list":{"0":"post-33725","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-cloud","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 S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma<\/title>\n<meta name=\"description\" content=\"Geleneksel web sitesi bar\u0131nd\u0131rma y\u00f6ntemlerinin y\u00fcksek maliyetleri, \u00f6l\u00e7eklenebilirlik zorluklar\u0131 ve g\u00fcvenlik endi\u015feleri sizi de yoruyor mu? \u0130\u015fte modern web geli\u015ftirmenin sundu\u011fu en \u015f\u0131k \u00e7\u00f6z\u00fcmlerden biri: AWS S3 ve CloudFront ile statik web sitesi bar\u0131nd\u0131rma. Bu makalede, projenizi s\u0131f\u0131rdan hayata ge\u00e7irmeniz i\u00e7in ad\u0131m ad\u0131m bir rehber sunarken, s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) prensipleriyle otomasyonun kap\u0131lar\u0131n\u0131 aralayaca\u011f\u0131z.\" \/>\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-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma\" \/>\n<meta property=\"og:description\" content=\"Geleneksel web sitesi bar\u0131nd\u0131rma y\u00f6ntemlerinin y\u00fcksek maliyetleri, \u00f6l\u00e7eklenebilirlik zorluklar\u0131 ve g\u00fcvenlik endi\u015feleri sizi de yoruyor mu? \u0130\u015fte modern web geli\u015ftirmenin sundu\u011fu en \u015f\u0131k \u00e7\u00f6z\u00fcmlerden biri: AWS S3 ve CloudFront ile statik web sitesi bar\u0131nd\u0131rma. Bu makalede, projenizi s\u0131f\u0131rdan hayata ge\u00e7irmeniz i\u00e7in ad\u0131m ad\u0131m bir rehber sunarken, s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) prensipleriyle otomasyonun kap\u0131lar\u0131n\u0131 aralayaca\u011f\u0131z.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-06T06:01:08+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=\"29 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma\",\"datePublished\":\"2025-11-06T06:01:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/\"},\"wordCount\":5637,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Cloud\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/\",\"name\":\"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-06T06:01:08+00:00\",\"description\":\"Geleneksel web sitesi bar\u0131nd\u0131rma y\u00f6ntemlerinin y\u00fcksek maliyetleri, \u00f6l\u00e7eklenebilirlik zorluklar\u0131 ve g\u00fcvenlik endi\u015feleri sizi de yoruyor mu? \u0130\u015fte modern web geli\u015ftirmenin sundu\u011fu en \u015f\u0131k \u00e7\u00f6z\u00fcmlerden biri: AWS S3 ve CloudFront ile statik web sitesi bar\u0131nd\u0131rma. Bu makalede, projenizi s\u0131f\u0131rdan hayata ge\u00e7irmeniz i\u00e7in ad\u0131m ad\u0131m bir rehber sunarken, s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) prensipleriyle otomasyonun kap\u0131lar\u0131n\u0131 aralayaca\u011f\u0131z.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma\"}]},{\"@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 S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma","description":"Geleneksel web sitesi bar\u0131nd\u0131rma y\u00f6ntemlerinin y\u00fcksek maliyetleri, \u00f6l\u00e7eklenebilirlik zorluklar\u0131 ve g\u00fcvenlik endi\u015feleri sizi de yoruyor mu? \u0130\u015fte modern web geli\u015ftirmenin sundu\u011fu en \u015f\u0131k \u00e7\u00f6z\u00fcmlerden biri: AWS S3 ve CloudFront ile statik web sitesi bar\u0131nd\u0131rma. Bu makalede, projenizi s\u0131f\u0131rdan hayata ge\u00e7irmeniz i\u00e7in ad\u0131m ad\u0131m bir rehber sunarken, s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) prensipleriyle otomasyonun kap\u0131lar\u0131n\u0131 aralayaca\u011f\u0131z.","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-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/","og_locale":"tr_TR","og_type":"article","og_title":"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma","og_description":"Geleneksel web sitesi bar\u0131nd\u0131rma y\u00f6ntemlerinin y\u00fcksek maliyetleri, \u00f6l\u00e7eklenebilirlik zorluklar\u0131 ve g\u00fcvenlik endi\u015feleri sizi de yoruyor mu? \u0130\u015fte modern web geli\u015ftirmenin sundu\u011fu en \u015f\u0131k \u00e7\u00f6z\u00fcmlerden biri: AWS S3 ve CloudFront ile statik web sitesi bar\u0131nd\u0131rma. Bu makalede, projenizi s\u0131f\u0131rdan hayata ge\u00e7irmeniz i\u00e7in ad\u0131m ad\u0131m bir rehber sunarken, s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) prensipleriyle otomasyonun kap\u0131lar\u0131n\u0131 aralayaca\u011f\u0131z.","og_url":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-06T06:01:08+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"29 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma","datePublished":"2025-11-06T06:01:08+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/"},"wordCount":5637,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Cloud"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/","url":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/","name":"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-06T06:01:08+00:00","description":"Geleneksel web sitesi bar\u0131nd\u0131rma y\u00f6ntemlerinin y\u00fcksek maliyetleri, \u00f6l\u00e7eklenebilirlik zorluklar\u0131 ve g\u00fcvenlik endi\u015feleri sizi de yoruyor mu? \u0130\u015fte modern web geli\u015ftirmenin sundu\u011fu en \u015f\u0131k \u00e7\u00f6z\u00fcmlerden biri: AWS S3 ve CloudFront ile statik web sitesi bar\u0131nd\u0131rma. Bu makalede, projenizi s\u0131f\u0131rdan hayata ge\u00e7irmeniz i\u00e7in ad\u0131m ad\u0131m bir rehber sunarken, s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) prensipleriyle otomasyonun kap\u0131lar\u0131n\u0131 aralayaca\u011f\u0131z.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/aws-s3-cloudfront-ve-ci-cd-ile-guvenli-statik-web-sitesi-barindirma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS S3, CloudFront ve CI\/CD ile G\u00fcvenli Statik Web Sitesi Bar\u0131nd\u0131rma"}]},{"@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\/33725","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=33725"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33725\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}