{"id":32818,"date":"2025-10-26T08:32:20","date_gmt":"2025-10-26T05:32:20","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/"},"modified":"2025-10-26T08:32:20","modified_gmt":"2025-10-26T05:32:20","slug":"s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/","title":{"rendered":"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu"},"content":{"rendered":"<p><body><\/p>\n<p>Amazon S3&#8217;te nesnelerinizi nas\u0131l depolayaca\u011f\u0131n\u0131z\u0131, herkese a\u00e7\u0131k hale getirece\u011finizi ve g\u00fcvenli bir \u015fekilde eri\u015fece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenin. Veri y\u00f6netimi ve bulut depolama pratiklerini ke\u015ffedin.<\/p>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn dijital d\u00fcnyas\u0131nda, i\u015fletmeler ve bireysel geli\u015ftiriciler s\u00fcrekli olarak b\u00fcy\u00fck miktarda veriyle \u00e7al\u0131\u015fmaktad\u0131r. Foto\u011fraflar, videolar, belge dosyalar\u0131, yedeklemeler, web sitesi varl\u0131klar\u0131 gibi \u00e7e\u015fitli veri t\u00fcrleri, g\u00fcvenilir ve \u00f6l\u00e7eklenebilir bir depolama \u00e7\u00f6z\u00fcm\u00fcne ihtiya\u00e7 duyar. Ancak bu verileri nerede saklamal\u0131s\u0131n\u0131z? Geleneksel sunucu tabanl\u0131 depolama y\u00f6ntemleri genellikle y\u00fcksek maliyetli, y\u00f6netimi zor ve \u00f6l\u00e7eklenebilirlik a\u00e7\u0131s\u0131ndan yetersiz kalabilir. \u0130\u015fte tam bu noktada bulut depolama \u00e7\u00f6z\u00fcmleri, \u00f6zellikle de Amazon Web Services (AWS) S3 (Simple Storage Service) devreye giriyor.<\/p>\n<p>Amazon S3, sekt\u00f6rdeki en pop\u00fcler ve g\u00fcvenilir nesne depolama hizmetlerinden biridir. Sa\u011flad\u0131\u011f\u0131 inan\u0131lmaz \u00f6l\u00e7eklenebilirlik, y\u00fcksek eri\u015filebilirlik, dayan\u0131kl\u0131l\u0131k ve maliyet etkinli\u011fi ile milyonlarca kullan\u0131c\u0131n\u0131n tercihi olmu\u015ftur. Bir web sitesinin t\u00fcm g\u00f6rsellerini, bir mobil uygulaman\u0131n kullan\u0131c\u0131 verilerini, b\u00fcy\u00fck veri analizleri i\u00e7in ham verileri veya kurumsal yedeklemeleri S3&#8217;te g\u00fcvenle saklayabilirsiniz. \u00dcstelik, S3&#8217;teki verilerinizi d\u00fcnyaya a\u00e7abilir veya sadece belirli kullan\u0131c\u0131lara eri\u015fim sa\u011flayabilirsiniz. Bu esneklik, S3&#8217;\u00fc her t\u00fcrl\u00fc depolama ihtiyac\u0131 i\u00e7in ideal bir platform haline getirir.<\/p>\n<p>Bu makalede, Amazon S3&#8217;e nesne y\u00fcklemenin temel ad\u0131mlar\u0131ndan ba\u015flayarak, bu nesneleri nas\u0131l herkese a\u00e7\u0131k hale getirece\u011finizi ve son olarak onlara nas\u0131l eri\u015fece\u011finizi detayl\u0131 bir \u015fekilde inceleyece\u011fiz. \u0130ster yeni ba\u015flayan bir geli\u015ftirici olun ister mevcut altyap\u0131s\u0131n\u0131 optimize etmek isteyen bir IT uzman\u0131, bu k\u0131lavuz size S3&#8217;\u00fcn g\u00fcc\u00fcn\u00fc ke\u015ffetmeniz i\u00e7in gerekli bilgi ve pratik \u00f6rnekleri sunacakt\u0131r. Ger\u00e7ek d\u00fcnya senaryolar\u0131yla desteklenen ad\u0131m ad\u0131m anlat\u0131mlarla, S3 ile veri y\u00f6netimi s\u00fcrecinizi kolayla\u015ft\u0131racak ve daha verimli hale getireceksiniz. \u00d6yleyse, bulut depolaman\u0131n derinliklerine dalmaya haz\u0131r m\u0131s\u0131n\u0131z?<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: S3, %99.999999999 (11 adet 9) oran\u0131nda dayan\u0131kl\u0131l\u0131k sunar. Bu, verilerinizin neredeyse sonsuz g\u00fcvenlikle depoland\u0131\u011f\u0131 anlam\u0131na gelir ve veri kayb\u0131 endi\u015fenizi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde ortadan kald\u0131r\u0131r.\n<\/div>\n<h2>Temel S3 Kavramlar\u0131: Kovalardan Nesnelere, Her \u015eey Nas\u0131l \u0130\u015fler?<\/h2>\n<p>Amazon S3 ile etkile\u015fime ba\u015flamadan \u00f6nce, temel yap\u0131 ta\u015flar\u0131n\u0131 ve terminolojiyi anlamak olduk\u00e7a \u00f6nemlidir. Bu b\u00f6l\u00fcmde, S3&#8217;\u00fcn ana bile\u015fenlerini ve bunlar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 a\u00e7\u0131klayaca\u011f\u0131z. Bu kavramlar\u0131 iyi anlamak, nesnelerinizi etkili bir \u015fekilde y\u00f6netmeniz ve g\u00fcvenlik politikalar\u0131n\u0131z\u0131 do\u011fru bir \u015fekilde yap\u0131land\u0131rman\u0131z i\u00e7in temel olu\u015fturacakt\u0131r.<\/p>\n<h3>Kova (Bucket) Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>S3&#8217;teki her \u015fey bir &#8216;kova&#8217; (bucket) i\u00e7inde ba\u015flar. Kova, S3&#8217;te nesnelerinizi depolad\u0131\u011f\u0131n\u0131z birincil kapsay\u0131c\u0131d\u0131r. T\u0131pk\u0131 bir bilgisayar\u0131n\u0131zdaki bir klas\u00f6r gibi d\u00fc\u015f\u00fcnebilirsiniz, ancak \u00e7ok daha geli\u015fmi\u015f \u00f6zelliklere sahiptir. Her kova, AWS i\u00e7inde global olarak benzersiz bir isme sahip olmal\u0131d\u0131r. Yani, kimse sizin kova isminizi alamaz ve siz de ba\u015fkas\u0131n\u0131n ismini kullanamazs\u0131n\u0131z. Bu benzersizlik, S3 kaynaklar\u0131na eri\u015fim ve y\u00f6netimde tutarl\u0131l\u0131k sa\u011flar. Bir kova olu\u015ftururken, depolama i\u00e7in bir AWS B\u00f6lgesi (Region) se\u00e7meniz gerekir. Bu se\u00e7im, veri gecikmesi (latency), d\u00fczenleyici gereksinimler ve maliyet a\u00e7\u0131s\u0131ndan kritik \u00f6neme sahiptir.<\/p>\n<p>Kovalar, nesneleri mant\u0131ksal olarak d\u00fczenlemenize, eri\u015fim izinlerini tan\u0131mlaman\u0131za ve veri ya\u015fam d\u00f6ng\u00fcs\u00fc kurallar\u0131 gibi y\u00f6netim \u00f6zelliklerini uygulaman\u0131za olanak tan\u0131r. \u00d6rne\u011fin, bir web sitesinin t\u00fcm statik varl\u0131klar\u0131n\u0131 (CSS, JS, resimler) tek bir kovada toplayabilir, farkl\u0131 bir kovay\u0131 ise kullan\u0131c\u0131 taraf\u0131ndan y\u00fcklenen medya i\u00e7in kullanabilirsiniz. Bu ayr\u0131m, y\u00f6netimi kolayla\u015ft\u0131r\u0131r ve g\u00fcvenlik politikalar\u0131n\u0131 daha spesifik hale getirmenizi sa\u011flar. Kovalar sadece bir depolama alan\u0131 de\u011fil, ayn\u0131 zamanda bir dizi yap\u0131land\u0131rma ve y\u00f6netim \u00f6zelli\u011fini bar\u0131nd\u0131ran temel bir kaynak birimidir.<\/p>\n<h3>Nesne (Object) Nedir? Key, Value, Metadata Kavramlar\u0131<\/h3>\n<p>S3&#8217;teki kovan\u0131n i\u00e7ine y\u00fckledi\u011finiz her \u015fey bir &#8216;nesne&#8217; (object) olarak adland\u0131r\u0131l\u0131r. Bir nesne asl\u0131nda, bir veri dosyas\u0131 ve bu veriyle ili\u015fkili meta verilerden olu\u015fur. Bir nesnenin \u00fc\u00e7 ana bile\u015feni vard\u0131r:<\/p>\n<ol>\n<li><strong>Key (Anahtar):<\/strong> Bu, kova i\u00e7indeki nesnenin benzersiz tan\u0131mlay\u0131c\u0131s\u0131d\u0131r. T\u0131pk\u0131 bir dosya yolu gibi d\u00fc\u015f\u00fcnebilirsiniz (\u00f6rne\u011fin, <code>resimler\/profil\/ben.jpg<\/code>). Key, S3&#8217;teki nesnenize eri\u015fmek i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>Value (De\u011fer):<\/strong> Nesnenin kendisi, yani depolad\u0131\u011f\u0131n\u0131z veri (\u00f6rne\u011fin, <code>ben.jpg<\/code> adl\u0131 JPEG dosyas\u0131n\u0131n ikili i\u00e7eri\u011fi). S3, bu veriye herhangi bir format veya boyutta olabilen bir bit dizisi olarak yakla\u015f\u0131r.<\/li>\n<li><strong>Metadata (Meta Veri):<\/strong> Nesne hakk\u0131nda bilgi sa\u011flayan ad-de\u011fer \u00e7iftleridir. S3, Content-Type (i\u00e7erik t\u00fcr\u00fc), Last-Modified (son de\u011fi\u015ftirilme tarihi) gibi sistem meta verilerini otomatik olarak atar. Ayr\u0131ca, kendi \u00f6zel meta verilerinizi de ekleyebilirsiniz (\u00f6rne\u011fin, <code>proje: \"fotogaleri\"<\/code>). Bu meta veriler, nesnenin i\u00e7eri\u011fini de\u011fi\u015ftirmeden ona ek \u00f6zellikler ataman\u0131z\u0131 sa\u011flar.<\/li>\n<\/ol>\n<p>S3, her nesneyi benzersiz bir \u015fekilde tan\u0131mlar ve y\u00f6netir. Nesneler, S3&#8217;\u00fcn da\u011f\u0131t\u0131k mimarisi sayesinde y\u00fcksek dayan\u0131kl\u0131l\u0131k ve kullan\u0131labilirlik ile depolan\u0131r. Yani, bir nesnenin birden \u00e7ok kopyas\u0131, farkl\u0131 veri merkezlerinde yedeklenir, bu da veri kayb\u0131 riskini minimize eder.<\/p>\n<h3>B\u00f6lge (Region) Se\u00e7imi Neden \u00d6nemlidir?<\/h3>\n<p>Bir S3 kovas\u0131 olu\u015fturdu\u011funuzda, bu kovan\u0131n fiziksel olarak hangi co\u011frafi b\u00f6lgede (AWS Region) depolanaca\u011f\u0131n\u0131 se\u00e7ersiniz. B\u00f6lge se\u00e7imi, \u00e7e\u015fitli nedenlerle kritik \u00f6neme sahiptir:<\/p>\n<ul>\n<li><strong>Gecikme (Latency):<\/strong> Kullan\u0131c\u0131lar\u0131n\u0131za veya uygulamalar\u0131n\u0131za en yak\u0131n b\u00f6lgeyi se\u00e7mek, veri eri\u015fim s\u00fcrelerini k\u0131salt\u0131r ve performans\u0131 art\u0131r\u0131r.<\/li>\n<li><strong>Maliyet:<\/strong> Farkl\u0131 AWS b\u00f6lgelerinde depolama maliyetleri biraz farkl\u0131l\u0131k g\u00f6sterebilir.<\/li>\n<li><strong>Yasal ve D\u00fczenleyici Gereksinimler:<\/strong> Baz\u0131 end\u00fcstriler veya \u00fclkeler, verilerin belirli co\u011frafi s\u0131n\u0131rlar i\u00e7inde depolanmas\u0131n\u0131 gerektiren veri ikametg\u00e2h\u0131 (data residency) yasalar\u0131na sahiptir.<\/li>\n<li><strong>Kullan\u0131labilir Hizmetler:<\/strong> Her b\u00f6lgede AWS&#8217;nin t\u00fcm hizmetleri mevcut olmayabilir, ancak S3 genellikle t\u00fcm b\u00f6lgelerde bulunur.<\/li>\n<\/ul>\n<p>Bu nedenle, kova olu\u015fturmadan \u00f6nce hedef kitlenizi, yasal y\u00fck\u00fcml\u00fcl\u00fcklerinizi ve performans beklentilerinizi g\u00f6z \u00f6n\u00fcnde bulundurarak do\u011fru b\u00f6lgeyi se\u00e7mek \u00f6nemlidir.<\/p>\n<h3>Eri\u015fim Kontrol\u00fc: ACL&#8217;ler, Kova Politikalar\u0131 ve IAM<\/h3>\n<p>S3&#8217;teki verilerinize kimin ne \u015fekilde eri\u015febilece\u011fini y\u00f6netmek, g\u00fcvenlik a\u00e7\u0131s\u0131ndan hayati \u00f6neme sahiptir. AWS S3, geli\u015fmi\u015f eri\u015fim kontrol mekanizmalar\u0131 sunar:<\/p>\n<ul>\n<li><strong>Eri\u015fim Kontrol Listeleri (ACL&#8217;ler):<\/strong> Her nesne ve kova i\u00e7in ayr\u0131 ayr\u0131 tan\u0131mlanabilen eski usul izin mekanizmas\u0131d\u0131r. Belirli AWS hesaplar\u0131na veya \u00f6nceden tan\u0131mlanm\u0131\u015f S3 gruplar\u0131na okuma\/yazma izinleri verir. Tek tek nesneler i\u00e7in basit senaryolarda kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<li><strong>Kova Politikalar\u0131 (Bucket Policies):<\/strong> Bir kovaya ve i\u00e7indeki t\u00fcm nesnelere (veya belirli alt klas\u00f6rlere) uygulanabilen JSON tabanl\u0131 politika belgeleridir. Genellikle, belirli IP adreslerinden eri\u015fim k\u0131s\u0131tlamak, belirli bir IAM rol\u00fcne veya kullan\u0131c\u0131ya geni\u015f eri\u015fim vermek gibi daha karma\u015f\u0131k senaryolar i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>Kimlik ve Eri\u015fim Y\u00f6netimi (IAM):<\/strong> AWS genelindeki en g\u00fc\u00e7l\u00fc eri\u015fim kontrol mekanizmas\u0131d\u0131r. IAM kullan\u0131c\u0131lar\u0131, gruplar\u0131 ve rolleri olu\u015fturabilir, bu varl\u0131klara S3 dahil AWS hizmetlerine eri\u015fim sa\u011flayan politikalar atayabilirsiniz. IAM politikalar\u0131, belirli AWS API \u00e7a\u011fr\u0131lar\u0131na izin verme veya reddetme konusunda \u00e7ok gran\u00fcler kontrol sa\u011flar.<\/li>\n<\/ul>\n<p>Genellikle, en iyi uygulama olarak IAM ve Kova Politikalar\u0131n\u0131 bir arada kullanarak eri\u015fim kontrol\u00fcn\u00fc sa\u011flamakt\u0131r. ACL&#8217;ler, \u00f6zellikle belirli nesneler i\u00e7in herkese a\u00e7\u0131k eri\u015fim verme gibi basit durumlar i\u00e7in hala kullan\u0131labilir olsa da, daha karma\u015f\u0131k ve merkezi y\u00f6netim i\u00e7in Kova Politikalar\u0131 ve IAM tercih edilmelidir.<\/p>\n<h2>Ad\u0131m Ad\u0131m S3&#8217;e Nesne Nas\u0131l Y\u00fcklenir? Konsol ve CLI Y\u00f6ntemleri<\/h2>\n<p>\u015eimdi teoriden prati\u011fe ge\u00e7me zaman\u0131! Bu b\u00f6l\u00fcmde, dosyalar\u0131n\u0131z\u0131 Amazon S3&#8217;e y\u00fcklemek i\u00e7in en yayg\u0131n iki y\u00f6ntemi ad\u0131m ad\u0131m ele alaca\u011f\u0131z: AWS Y\u00f6netim Konsolu ve AWS Komut Sat\u0131r\u0131 Arabirimi (CLI). Her iki y\u00f6ntem de farkl\u0131 kullan\u0131m senaryolar\u0131na uygun olup, her ikisini de anlamak S3 y\u00f6netimi becerilerinizi geli\u015ftirecektir.<\/p>\n<h3>S3 Konsolu ile Y\u00fckleme: G\u00f6rsel ve Kolay Ad\u0131mlar<\/h3>\n<p>AWS Y\u00f6netim Konsolu, S3&#8217;e dosya y\u00fcklemenin en kolay ve g\u00f6rsel yoludur. \u00d6zellikle tekil dosyalar veya k\u00fc\u00e7\u00fck dosya gruplar\u0131 i\u00e7in idealdir. Konsol \u00fczerinden y\u00fckleme yapmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyin:<\/p>\n<ol>\n<li><strong>AWS Y\u00f6netim Konsolu&#8217;na Giri\u015f Yap\u0131n:<\/strong> AWS hesab\u0131n\u0131zla giri\u015f yaparak S3 hizmetine gidin. Arama \u00e7ubu\u011funa &#8220;S3&#8221; yazarak kolayca bulabilirsiniz.<\/li>\n<li><strong>Bir Kova Se\u00e7in veya Yeni Bir Kova Olu\u015fturun:<\/strong> S3 kontrol panelinde, dosyalar\u0131n\u0131z\u0131 y\u00fcklemek istedi\u011finiz kovay\u0131 se\u00e7in. E\u011fer hen\u00fcz bir kovan\u0131z yoksa, &#8220;Create bucket&#8221; (Kova Olu\u015ftur) butonuna t\u0131klayarak yeni bir kova olu\u015fturman\u0131z gerekecektir. Kova ad\u0131n\u0131n global olarak benzersiz oldu\u011fundan ve do\u011fru b\u00f6lgeyi se\u00e7ti\u011finizden emin olun.<\/li>\n<li><strong>&#8220;Upload&#8221; (Y\u00fckle) Butonuna T\u0131klay\u0131n:<\/strong> Se\u00e7ti\u011finiz kovan\u0131n i\u00e7ine girdikten sonra, \u00fcst k\u0131s\u0131mda yer alan &#8220;Upload&#8221; butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Dosyalar\u0131 Ekleyin:<\/strong> A\u00e7\u0131lan pencerede, &#8220;Add files&#8221; (Dosyalar\u0131 ekle) veya &#8220;Add folder&#8221; (Klas\u00f6r ekle) butonlar\u0131n\u0131 kullanarak bilgisayar\u0131n\u0131zdan S3&#8217;e y\u00fcklemek istedi\u011finiz dosya veya klas\u00f6rleri se\u00e7in. Ayr\u0131ca, dosyalar\u0131 do\u011frudan bu alana s\u00fcr\u00fckleyip b\u0131rakabilirsiniz.<\/li>\n<li><strong>Y\u00fckleme Se\u00e7eneklerini G\u00f6zden Ge\u00e7irin (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong> Bu ad\u0131mda, nesneleriniz i\u00e7in depolama s\u0131n\u0131f\u0131 (\u00f6rne\u011fin, Standard, Intelligent-Tiering), \u015fifreleme ayarlar\u0131 veya meta veriler gibi ek se\u00e7enekleri yap\u0131land\u0131rabilirsiniz. \u0130lk ba\u015fta varsay\u0131lan ayarlar\u0131 b\u0131rakabilirsiniz.<\/li>\n<li><strong>\u0130zinleri Ayarlay\u0131n (\u015eimdilik Public Yapmay\u0131n):<\/strong> Bu a\u015famada, nesnelerinizi herkese a\u00e7\u0131k hale getirmeyin. &#8220;Object ownership&#8221; (Nesne sahipli\u011fi) ayarlar\u0131nda genellikle varsay\u0131lan &#8220;ACLs disabled (recommended)&#8221; veya &#8220;Bucket owner preferred&#8221; se\u00e7enekleri tercih edilir. Daha sonraki b\u00f6l\u00fcmde nesneleri nas\u0131l public yapaca\u011f\u0131m\u0131z\u0131 detayl\u0131ca anlataca\u011f\u0131z.<\/li>\n<li><strong>Y\u00fcklemeyi Ba\u015flat\u0131n:<\/strong> T\u00fcm ayarlar\u0131 g\u00f6zden ge\u00e7irdikten sonra, sayfan\u0131n alt\u0131ndaki &#8220;Upload&#8221; butonuna t\u0131klay\u0131n. S3, dosyalar\u0131n\u0131z\u0131 y\u00fcklemeye ba\u015flayacak ve i\u015flemin ilerlemesini g\u00f6sterecektir. Y\u00fckleme tamamland\u0131\u011f\u0131nda, ba\u015far\u0131yla y\u00fcklendi\u011fine dair bir mesaj g\u00f6receksiniz.<\/li>\n<\/ol>\n<p>Konsol \u00fczerinden y\u00fckleme yapmak, \u00f6zellikle AWS&#8217;ye yeni ba\u015flayanlar i\u00e7in kullan\u0131c\u0131 dostu bir deneyim sunar. Ancak, b\u00fcy\u00fck \u00f6l\u00e7ekli veya otomatize edilmi\u015f y\u00fcklemeler i\u00e7in AWS CLI \u00e7ok daha g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.<\/p>\n<h3>AWS CLI ile Nesne Y\u00fckleme: Komut Sat\u0131r\u0131 G\u00fcc\u00fc<\/h3>\n<p>AWS Komut Sat\u0131r\u0131 Arabirimi (CLI), AWS hizmetleriyle etkile\u015fim kurmak i\u00e7in birle\u015fik bir ara\u00e7t\u0131r. Otomatize g\u00f6revler, betikler arac\u0131l\u0131\u011f\u0131yla toplu y\u00fcklemeler veya CI\/CD (S\u00fcrekli Entegrasyon\/S\u00fcrekli Da\u011f\u0131t\u0131m) boru hatlar\u0131nda S3&#8217;e dosya da\u011f\u0131t\u0131m\u0131 i\u00e7in idealdir. CLI kullanmadan \u00f6nce, bilgisayar\u0131n\u0131za AWS CLI&#8217;\u0131 y\u00fcklemeniz ve yap\u0131land\u0131rman\u0131z gerekir.<\/p>\n<h4>AWS CLI Kurulumu ve Yap\u0131land\u0131rmas\u0131<\/h4>\n<p>\u00d6ncelikle, AWS CLI&#8217;\u0131n bilgisayar\u0131n\u0131zda y\u00fckl\u00fc oldu\u011fundan emin olun. Resmi AWS belgelerinden i\u015fletim sisteminize uygun kurulum talimatlar\u0131n\u0131 bulabilirsiniz. Kurulumdan sonra, AWS kimlik bilgilerinizi yap\u0131land\u0131rman\u0131z gerekecektir:<\/p>\n<pre><code class=\"language-bash\">\naws configure\n<\/pre>\n<p><\/code><\/p>\n<p>Bu komut size a\u015fa\u011f\u0131daki bilgileri soracakt\u0131r:<\/p>\n<pre><code class=\"language-plaintext\">\nAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE\nAWS Secret Access Key [None]: wJalrXUtnFEMI\/K7MDENG\/bPxRfiCYEXAMPLEKEY\nDefault region name [None]: us-east-1\nDefault output format [None]: json\n<\/pre>\n<p><\/code><\/p>\n<p><code>Access Key ID<\/code> ve <code>Secret Access Key<\/code>'i AWS IAM konsolundan alabilirsiniz. <code>Default region name<\/code> olarak kovan\u0131z\u0131n bulundu\u011fu veya \u00e7al\u0131\u015faca\u011f\u0131n\u0131z ana AWS b\u00f6lgesini belirtin. <code>Default output format<\/code> olarak <code>json<\/code> tercih edilebilir.<\/p>\n<h4>Dosya Y\u00fckleme (<code>aws s3 cp<\/code>)<\/h4>\n<p>Tek bir dosyay\u0131 veya bir grup dosyay\u0131 S3'e y\u00fcklemek i\u00e7in <code>aws s3 cp<\/code> komutunu kullan\u0131r\u0131z. Bu komut, standart Linux\/Unix <code>cp<\/code> komutuna benzer \u015fekilde \u00e7al\u0131\u015f\u0131r.<\/p>\n<p><strong>\u00d6rnek 1: Tek Bir Dosyay\u0131 Y\u00fckleme<\/strong><\/p>\n<pre><code class=\"language-bash\">\naws s3 cp yerel-dosya.txt s3:\/\/kovam\/hedef-klasor\/uzak-dosya.txt\n<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, <code>yerel-dosya.txt<\/code> dosyas\u0131n\u0131 <code>kovam<\/code> adl\u0131 S3 kovas\u0131n\u0131n i\u00e7indeki <code>hedef-klasor<\/code> alt\u0131na <code>uzak-dosya.txt<\/code> ad\u0131yla kopyalar.<\/p>\n<p><strong>\u00d6rnek 2: Bir Klas\u00f6r\u00fcn T\u00fcm \u0130\u00e7eri\u011fini Y\u00fckleme (Recursive)<\/strong><\/p>\n<p>Bir klas\u00f6r\u00fcn t\u00fcm i\u00e7eri\u011fini, alt klas\u00f6rleriyle birlikte S3'e y\u00fcklemek i\u00e7in <code>--recursive<\/code> bayra\u011f\u0131n\u0131 kullan\u0131r\u0131z:<\/p>\n<pre><code class=\"language-bash\">\naws s3 cp \/yerel\/klasor\/ s3:\/\/kovam\/hedef-uzak-klasor\/ --recursive\n<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, <code>\/yerel\/klasor\/<\/code> i\u00e7indeki t\u00fcm dosyalar\u0131 ve alt klas\u00f6rleri koruyarak <code>kovam<\/code> i\u00e7indeki <code>hedef-uzak-klasor\/<\/code> alt\u0131na y\u00fckler. Yerel klas\u00f6r ad\u0131n\u0131n sonunda e\u011fik \u00e7izgi (<code>\/<\/code>) olmas\u0131 \u00f6nemlidir.<\/p>\n<h4>Dosya Senkronizasyonu (<code>aws s3 sync<\/code>)<\/h4>\n<p><code>aws s3 sync<\/code> komutu, yerel bir dizin ile S3 kovas\u0131 aras\u0131ndaki i\u00e7eri\u011fi senkronize etmek i\u00e7in \u00e7ok g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Sadece de\u011fi\u015fen veya eksik olan dosyalar\u0131 y\u00fckleyerek veya silerek band geni\u015fli\u011fini ve i\u015flem s\u00fcresini optimize eder. Bu, \u00f6zellikle s\u0131k g\u00fcncellemelerin oldu\u011fu statik web siteleri veya yedekleme senaryolar\u0131 i\u00e7in idealdir.<\/p>\n<pre><code class=\"language-bash\">\naws s3 sync \/yerel\/kaynak\/klasor\/ s3:\/\/kovam\/hedef-uzak-klasor\/\n<\/pre>\n<p><\/code><\/p>\n<p>Bu komut, <code>\/yerel\/kaynak\/klasor\/<\/code> ile <code>s3:\/\/kovam\/hedef-uzak-klasor\/<\/code> aras\u0131ndaki farklar\u0131 tespit eder ve hedefi kayna\u011fa g\u00f6re g\u00fcnceller. E\u011fer hedefte kaynakta olmayan bir dosya varsa, varsay\u0131lan olarak silinmez. Ancak <code>--delete<\/code> bayra\u011f\u0131n\u0131 eklerseniz, hedefteki fazlal\u0131k dosyalar\u0131 da siler.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: CLI ile b\u00fcy\u00fck dosyalar y\u00fcklerken S3 \u00e7ok par\u00e7al\u0131 y\u00fckleme (multipart upload) \u00f6zelli\u011fini otomatik olarak kullan\u0131r. Bu, b\u00fcy\u00fck dosyalar\u0131n daha h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde y\u00fcklenmesini sa\u011flar.\n<\/div>\n<h3>Vaka Analizi: CI\/CD ile Otomatik Web Sitesi Da\u011f\u0131t\u0131m\u0131<\/h3>\n<p>Bir yaz\u0131l\u0131m geli\u015ftirme ekibinin, web sitesi g\u00fcncellemelerini test ortam\u0131na otomatik olarak da\u011f\u0131tmak istedi\u011fini varsayal\u0131m. Her kod de\u011fi\u015fikli\u011fi (commit) yap\u0131ld\u0131\u011f\u0131nda, CI\/CD boru hatt\u0131 (\u00f6rne\u011fin Jenkins, GitHub Actions veya AWS CodePipeline) otomatik olarak tetiklenir, uygulaman\u0131n statik dosyalar\u0131n\u0131 (HTML, CSS, JS, resimler) derler ve bunlar\u0131 bir S3 kovas\u0131na senkronize eder. Bu senaryoda <code>aws s3 sync<\/code> komutu hayati rol oynar. Boru hatt\u0131ndaki bir ad\u0131m \u015fu \u015fekilde g\u00f6r\u00fcnebilir:<\/p>\n<pre><code class=\"language-bash\">\n# Web sitesi dosyalar\u0131n\u0131 build dizinine derle\nnpm run build\n\n# S3'e senkronize et (hedefteki fazlal\u0131klar\u0131 silerek)\naws s3 sync .\/build\/ s3:\/\/test-ortami-kovam --delete --acl public-read\n<\/pre>\n<p><\/code><\/p>\n<p>Bu sayede, geli\u015ftiriciler her kod de\u011fi\u015fikli\u011finden sonra web sitesinin g\u00fcncel halini test ortam\u0131nda an\u0131nda g\u00f6rebilirler. <code>--acl public-read<\/code> bayra\u011f\u0131, y\u00fcklenen t\u00fcm nesnelerin otomatik olarak genel okuma iznine sahip olmas\u0131n\u0131 sa\u011flar. Ancak, daha modern ve g\u00fcvenli bir yakla\u015f\u0131m i\u00e7in Kova Politikalar\u0131 tercih edilir.<\/p>\n<h2>Y\u00fcklenen Nesneler Nas\u0131l Herkese A\u00e7\u0131k Hale Getirilir? G\u00fcvenli Public Eri\u015fim<\/h2>\n<p>Dosyalar\u0131n\u0131z\u0131 S3'e ba\u015far\u0131yla y\u00fcklediniz, peki \u015fimdi bunlara d\u0131\u015far\u0131dan nas\u0131l eri\u015filecek? \u00d6rne\u011fin, bir web sitesindeki resmin taray\u0131c\u0131da g\u00f6r\u00fcnt\u00fclenmesi veya bir uygulaman\u0131n bir PDF dosyas\u0131n\u0131 indirmesi i\u00e7in bu nesnelerin herkese a\u00e7\u0131k (public) olmas\u0131 gerekebilir. S3'te nesneleri herkese a\u00e7\u0131k hale getirmenin birka\u00e7 yolu vard\u0131r ve g\u00fcvenlik en \u00f6nemli husustur. Yanl\u0131\u015f yap\u0131land\u0131rma, istenmeyen veri s\u0131z\u0131nt\u0131lar\u0131na yol a\u00e7abilir. Bu b\u00f6l\u00fcmde, nesnelerinizi g\u00fcvenli bir \u015fekilde nas\u0131l public yapaca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz.<\/p>\n<h3>Konsol \u00dczerinden Nesneye Public Eri\u015fim Verme (ACL ile)<\/h3>\n<p>Tek bir nesneye h\u0131zl\u0131ca public eri\u015fim vermek isterseniz, AWS Y\u00f6netim Konsolu'nu kullanabilirsiniz. Bu y\u00f6ntem genellikle k\u00fc\u00e7\u00fck \u00f6l\u00e7ekli, tekil dosya senaryolar\u0131 i\u00e7in tercih edilir, ancak b\u00fcy\u00fck \u00f6l\u00e7ekli ve y\u00f6netilmesi gereken bir\u00e7ok nesne i\u00e7in \u00f6nerilmez.<\/p>\n<ol>\n<li><strong>S3 Konsolu'na Gidin ve Kovan\u0131z\u0131 Se\u00e7in:<\/strong> Y\u00fckledi\u011finiz nesnenin bulundu\u011fu kovay\u0131 a\u00e7\u0131n.<\/li>\n<li><strong>Nesneyi Se\u00e7in:<\/strong> Herkese a\u00e7\u0131k yapmak istedi\u011finiz nesnenin yan\u0131ndaki kutucu\u011fu i\u015faretleyin.<\/li>\n<li><strong>\"Actions\" (Eylemler) Men\u00fcs\u00fcn\u00fc Kullan\u0131n:<\/strong> \u00dcst men\u00fcde \"Actions\" butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>\"Make public using ACL\" (ACL kullanarak herkese a\u00e7\u0131k yap) Se\u00e7ene\u011fini Se\u00e7in:<\/strong> A\u00e7\u0131lan men\u00fcden bu se\u00e7ene\u011fi bulup t\u0131klay\u0131n.<\/li>\n<li><strong>Onaylay\u0131n:<\/strong> S3, bu i\u015flemin potansiyel riskleri hakk\u0131nda bir uyar\u0131 g\u00f6sterebilir. Onaylamak i\u00e7in \"Make public\" (Herkese a\u00e7\u0131k yap) butonuna t\u0131klay\u0131n.<\/li>\n<\/ol>\n<p>Bu i\u015flem, o spesifik nesne i\u00e7in S3'\u00fcn Eri\u015fim Kontrol Listesi'ni (ACL) g\u00fcncelleyerek \"Everyone (Public)\" grubuna \"Read\" (Okuma) izni verir. Art\u0131k bu nesne, do\u011fru URL ile internet \u00fczerinden eri\u015filebilir olacakt\u0131r. Ancak bu y\u00f6ntemin baz\u0131 dezavantajlar\u0131 vard\u0131r:<\/p>\n<ul>\n<li>Her nesne i\u00e7in tek tek yap\u0131lmas\u0131 gerekir, bu da \u00e7ok say\u0131da nesne i\u00e7in zaman al\u0131c\u0131d\u0131r.<\/li>\n<li>ACL'ler genel bir izin mekanizmas\u0131d\u0131r ve gran\u00fcler kontrol sa\u011flamaz.<\/li>\n<li>Kova \u00fczerindeki \"Block Public Access\" ayarlar\u0131 bu i\u015flemi engelleyebilir.<\/li>\n<\/ul>\n<h3>Kova Politikas\u0131 (Bucket Policy) ile Toplu Public Eri\u015fim Sa\u011flama<\/h3>\n<p>Daha g\u00fcvenli, \u00f6l\u00e7eklenebilir ve y\u00f6netilebilir bir y\u00f6ntem, S3 Kova Politikalar\u0131 (Bucket Policies) kullanmakt\u0131r. Kova politikalar\u0131, bir kovaya ve i\u00e7indeki t\u00fcm nesnelere (veya belirli \u00f6n eklere) izinleri JSON format\u0131nda tan\u0131mlaman\u0131z\u0131 sa\u011flar. Bu, \u00f6zellikle bir statik web sitesi bar\u0131nd\u0131r\u0131rken veya bir kovan\u0131n i\u00e7eri\u011fini belirli bir kullan\u0131c\u0131 grubuna a\u00e7arken \u00e7ok daha g\u00fc\u00e7l\u00fc bir yakla\u015f\u0131md\u0131r.<\/p>\n<p>Kova politikas\u0131 olu\u015fturmak i\u00e7in:<\/p>\n<ol>\n<li><strong>S3 Konsolu'na Gidin ve Kovan\u0131z\u0131 Se\u00e7in.<\/strong><\/li>\n<li><strong>\"Permissions\" (\u0130zinler) Sekmesine Gidin.<\/strong><\/li>\n<li><strong>\"Bucket policy\" (Kova politikas\u0131) B\u00f6l\u00fcm\u00fcn\u00fc Bulun ve \"Edit\" (D\u00fczenle) Butonuna T\u0131klay\u0131n.<\/strong><\/li>\n<li><strong>Politika Edit\u00f6r\u00fcne JSON Belgesini Yap\u0131\u015ft\u0131r\u0131n:<\/strong> A\u015fa\u011f\u0131daki gibi bir politika, kova i\u00e7indeki t\u00fcm nesnelerin herkese a\u00e7\u0131k okunabilir olmas\u0131n\u0131 sa\u011flar. <code>YOUR_BUCKET_NAME<\/code> yerine kendi kova isminizi yazmay\u0131 unutmay\u0131n.<\/li>\n<\/ol>\n<pre><code class=\"language-json\">\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>Bu politika ne anlama geliyor?<\/p>\n<ul>\n<li><code>\"Version\": \"2012-10-17\"<\/code>: Politika dilinin versiyonu.<\/li>\n<li><code>\"Statement\"<\/code>: Politika kurallar\u0131n\u0131n listesi.<\/li>\n<li><code>\"Sid\": \"PublicReadGetObject\"<\/code>: Politika ifadesi i\u00e7in benzersiz bir tan\u0131mlay\u0131c\u0131 (iste\u011fe ba\u011fl\u0131 ama iyi bir pratiktir).<\/li>\n<li><code>\"Effect\": \"Allow\"<\/code>: Bu ifadeye uyan eylemlere izin ver.<\/li>\n<li><code>\"Principal\": \"*\"<\/code>: Bu izin \"herkes\" (anonim kullan\u0131c\u0131lar dahil) i\u00e7in ge\u00e7erlidir.<\/li>\n<li><code>\"Action\": [\"s3:GetObject\"]<\/code>: \u0130zin verilen eylem, S3'ten nesneleri okumakt\u0131r.<\/li>\n<li><code>\"Resource\": [\"arn:aws:s3:::YOUR_BUCKET_NAME\/*\"]<\/code>: Bu politika, <code>YOUR_BUCKET_NAME<\/code> adl\u0131 kova i\u00e7indeki T\u00dcM nesnelere (<code>\/*<\/code>) uygulan\u0131r. E\u011fer sadece belirli bir klas\u00f6r\u00fcn public olmas\u0131n\u0131 isteseydiniz, <code>arn:aws:s3:::YOUR_BUCKET_NAME\/public-assets\/*<\/code> gibi bir Resource belirtebilirdiniz.<\/li>\n<\/ul>\n<ol start=\"5\">\n<li><strong>Politikay\u0131 Kaydedin:<\/strong> JSON kodunu yap\u0131\u015ft\u0131rd\u0131ktan sonra \"Save changes\" (De\u011fi\u015fiklikleri kaydet) butonuna t\u0131klay\u0131n.<\/li>\n<\/ol>\n<p>Bu politika aktif oldu\u011funda, o kova i\u00e7indeki t\u00fcm mevcut ve gelecekteki nesneler otomatik olarak okunabilir hale gelecektir. Bu, statik web siteleri, CDN kaynaklar\u0131 veya herkese a\u00e7\u0131k medya ar\u015fivleri i\u00e7in \u00e7ok verimli bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h3>ACL'ler ve Kova Politikalar\u0131 Aras\u0131ndaki Farklar Nelerdir?<\/h3>\n<p>ACL'ler ve Kova Politikalar\u0131, S3'te eri\u015fim kontrol\u00fc sa\u011flamak i\u00e7in kullan\u0131lan iki farkl\u0131 mekanizmad\u0131r. \u0130\u015fte temel farklar\u0131 \u00f6zetleyen bir tablo:<\/p>\n<table border=\"1\">\n<thead>\n<tr>\n<th>\u00d6zellik<\/th>\n<th>ACL (Eri\u015fim Kontrol Listesi)<\/th>\n<th>Kova Politikas\u0131 (Bucket Policy)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Uygulama Alan\u0131<\/td>\n<td>Her nesneye ve kovaya ayr\u0131 ayr\u0131<\/td>\n<td>T\u00fcm kovaya ve i\u00e7indeki nesnelere<\/td>\n<\/tr>\n<tr>\n<td>Politika Format\u0131<\/td>\n<td>\u00d6nceden tan\u0131mlanm\u0131\u015f izin setleri<\/td>\n<td>JSON belgesi<\/td>\n<\/tr>\n<tr>\n<td>Kontrol D\u00fczeyi<\/td>\n<td>Daha kaba taneli (okuma\/yazma)<\/td>\n<td>\u00c7ok daha gran\u00fcler (belirli IP'ler, kullan\u0131c\u0131lar, ko\u015fullar)<\/td>\n<\/tr>\n<tr>\n<td>Y\u00f6netim<\/td>\n<td>Tekil nesne baz\u0131nda zorla\u015f\u0131r<\/td>\n<td>Merkezi ve daha kolay y\u00f6netilebilir<\/td>\n<\/tr>\n<tr>\n<td>Kullan\u0131m Senaryosu<\/td>\n<td>Basit, tekil nesne public eri\u015fimi<\/td>\n<td>Statik web sitesi, uygulama eri\u015fimi, karma\u015f\u0131k ko\u015fullar<\/td>\n<\/tr>\n<tr>\n<td>\u00d6nerilen Yakla\u015f\u0131m<\/td>\n<td>Genellikle Kova Politikalar\u0131 ve IAM tercih edilir<\/td>\n<td>Modern S3 eri\u015fim kontrol\u00fc i\u00e7in tercih edilen y\u00f6ntem<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00d6nemli Not: S3 Block Public Access Ayarlar\u0131<\/strong><\/p>\n<p>AWS, kullan\u0131c\u0131lar\u0131n yanl\u0131\u015fl\u0131kla t\u00fcm S3 kovalar\u0131n\u0131 herkese a\u00e7mas\u0131n\u0131 engellemek i\u00e7in \"Block Public Access\" (Herkese A\u00e7\u0131k Eri\u015fimi Engelle) ayarlar\u0131n\u0131 sunar. Bu ayarlar, hesap d\u00fczeyinde veya kova d\u00fczeyinde yap\u0131land\u0131r\u0131labilir ve t\u00fcm ACL'leri veya Kova Politikalar\u0131n\u0131 ge\u00e7ersiz k\u0131larak public eri\u015fimi tamamen engelleyebilir. E\u011fer bir kova politikas\u0131n\u0131 uygulad\u0131ktan sonra hala nesnelere eri\u015femiyorsan\u0131z, bu ayarlar\u0131 kontrol etmeniz gerekebilir. Genellikle, belirli bir kovay\u0131 ger\u00e7ekten herkese a\u00e7\u0131k yapmak istiyorsan\u0131z, o kova i\u00e7in \"Block Public Access\" ayarlar\u0131n\u0131 dikkatlice g\u00f6zden ge\u00e7irip devre d\u0131\u015f\u0131 b\u0131rakman\u0131z (veya uygun \u015fekilde yap\u0131land\u0131rman\u0131z) gerekir. Ancak bu, potansiyel g\u00fcvenlik riskleri ta\u015f\u0131d\u0131\u011f\u0131ndan, yaln\u0131zca kesinlikle gerekli oldu\u011funda ve dikkatle yap\u0131lmal\u0131d\u0131r.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Kova politikas\u0131 JSON kodunu yazarken hata yapmamak i\u00e7in AWS Policy Generator'\u0131 kullanabilirsiniz. Bu ara\u00e7, do\u011fru JSON format\u0131n\u0131 olu\u015fturman\u0131za yard\u0131mc\u0131 olur.\n<\/div>\n<h3>Vaka Analizi: Statik Web Sitesi Bar\u0131nd\u0131rma<\/h3>\n<p>Bir geli\u015ftirici, d\u00fc\u015f\u00fck maliyetli ve y\u00fcksek performansl\u0131 bir blog sitesi yay\u0131nlamak istiyor. Bu site sadece HTML, CSS ve JavaScript dosyalar\u0131ndan olu\u015fuyor, yani dinamik bir arka uca ihtiyac\u0131 yok. Geli\u015ftirici, bu statik web sitesini S3 \u00fczerinde bar\u0131nd\u0131rabilir. Bunun i\u00e7in yapmas\u0131 gerekenler:<\/p>\n<ol>\n<li>Web sitesi dosyalar\u0131n\u0131 i\u00e7eren bir S3 kovas\u0131 olu\u015fturmak.<\/li>\n<li>Kovan\u0131n \"Static website hosting\" \u00f6zelli\u011fini etkinle\u015ftirmek ve \"Index document\" (\u00f6rne\u011fin <code>index.html<\/code>) ve \"Error document\" (\u00f6rne\u011fin <code>error.html<\/code>) belirtmek.<\/li>\n<li>Yukar\u0131da g\u00f6sterilen Kova Politikas\u0131 ile bu kovadaki t\u00fcm nesnelere <code>s3:GetObject<\/code> izni vererek herkese a\u00e7\u0131k eri\u015fimi sa\u011flamak.<\/li>\n<li>T\u00fcm web sitesi dosyalar\u0131n\u0131 bu kovaya y\u00fcklemek.<\/li>\n<\/ol>\n<p>Bu kurulumla, AWS S3, web sitesinin i\u00e7eri\u011fini t\u00fcm d\u00fcnyaya h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde sunacakt\u0131r. Geli\u015ftirici, ayr\u0131ca bir CloudFront da\u011f\u0131t\u0131m\u0131 ekleyerek performans\u0131 daha da art\u0131rabilir ve bir \u00f6zel alan ad\u0131 (custom domain) kullanabilir.<\/p>\n<h2>Y\u00fcklenen ve Public Edilen Nesnelere Nas\u0131l Eri\u015filir? URL ve SDK Kullan\u0131m\u0131<\/h2>\n<p>Art\u0131k dosyalar\u0131n\u0131z\u0131 S3'e y\u00fcklediniz ve bunlar\u0131 herkese a\u00e7\u0131k hale getirdiniz. Peki, bu verilere son kullan\u0131c\u0131lar veya uygulamalar nas\u0131l ula\u015facak? Bu b\u00f6l\u00fcmde, S3 nesnelerinize eri\u015fmenin ba\u015fl\u0131ca iki yolunu inceleyece\u011fiz: do\u011frudan public URL'ler arac\u0131l\u0131\u011f\u0131yla ve AWS SDK'lar\u0131n\u0131 kullanarak programatik olarak.<\/p>\n<h3>Public URL \u00dczerinden Do\u011frudan Eri\u015fim<\/h3>\n<p>Herkese a\u00e7\u0131k hale getirilmi\u015f bir S3 nesnesine eri\u015fmenin en basit yolu, bir web taray\u0131c\u0131s\u0131 veya herhangi bir HTTP istemcisi (\u00f6rne\u011fin <code>curl<\/code>) arac\u0131l\u0131\u011f\u0131yla do\u011frudan URL'sini kullanmakt\u0131r. S3 nesnelerinin URL yap\u0131s\u0131 genellikle standart bir formata sahiptir:<\/p>\n<pre><code class=\"language-plaintext\">\nhttps:\/\/[kova-ad\u0131].s3.[b\u00f6lge].amazonaws.com\/[nesne-anahtar\u0131]\n<\/pre>\n<p><\/code><\/p>\n<p>Veya, baz\u0131 durumlarda (\u00f6zellikle eski kovalar i\u00e7in veya kova ad\u0131nda nokta varsa):<\/p>\n<pre><code class=\"language-plaintext\">\nhttps:\/\/s3.[b\u00f6lge].amazonaws.com\/[kova-ad\u0131]\/[nesne-anahtar\u0131]\n<\/pre>\n<p><\/code><\/p>\n<p><strong>\u00d6rnek:<\/strong><\/p>\n<p>Kova ad\u0131: <code>benim-web-sitem<\/code><\/p>\n<p>B\u00f6lge: <code>eu-central-1<\/code> (Frankfurt)<\/p>\n<p>Nesne anahtar\u0131: <code>resimler\/logo.png<\/code><\/p>\n<p>Bu durumda, nesnenin URL'si \u015f\u00f6yle olacakt\u0131r:<\/p>\n<pre><code class=\"language-plaintext\">\nhttps:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png\n<\/pre>\n<p><\/code><\/p>\n<h4>Konsoldan URL Alma<\/h4>\n<p>Bir nesnenin public URL'sini AWS Y\u00f6netim Konsolu \u00fczerinden almak \u00e7ok kolayd\u0131r:<\/p>\n<ol>\n<li>S3 Konsolu'na gidin ve nesnenizin bulundu\u011fu kovay\u0131 se\u00e7in.<\/li>\n<li>Nesnenizi bulun ve \u00fczerine t\u0131klay\u0131n.<\/li>\n<li>Nesne detaylar\u0131 sayfas\u0131nda, \"Object URL\" (Nesne URL'si) veya \"Link\" (Ba\u011flant\u0131) k\u0131sm\u0131nda do\u011frudan eri\u015fim URL'sini g\u00f6receksiniz. Bu URL'yi kopyalay\u0131p taray\u0131c\u0131n\u0131za yap\u0131\u015ft\u0131rarak nesneye eri\u015fimi test edebilirsiniz.<\/li>\n<\/ol>\n<p>Bu y\u00f6ntem, web sitenizdeki g\u00f6rselleri veya di\u011fer medya dosyalar\u0131n\u0131 do\u011frudan S3'ten sunmak i\u00e7in m\u00fckemmeldir. \u00d6rne\u011fin, bir HTML dosyas\u0131nda bir resim etiketi \u015fu \u015fekilde kullan\u0131labilir:<\/p>\n<pre><code class=\"language-html\">\n<img decoding=\"async\" src=\"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png\" alt=\"\u015eirket Logosu\">\n<\/pre>\n<p><\/code><\/p>\n<h3>AWS SDK'lar\u0131 ile Programatik Eri\u015fim<\/h3>\n<p>Uygulamalar\u0131n\u0131z\u0131n veya servislerinizin S3 nesneleriyle etkile\u015fime girmesi gerekti\u011finde (\u00f6rne\u011fin, bir mobil uygulama kullan\u0131c\u0131n\u0131n profil resmini y\u00fckledi\u011finde veya bir arka u\u00e7 servisi analiz raporlar\u0131n\u0131 \u00e7ekti\u011finde), AWS SDK'lar\u0131 devreye girer. AWS SDK'lar\u0131, \u00e7e\u015fitli programlama dilleri i\u00e7in mevcuttur (Python, JavaScript, Java, .NET, Go vb.) ve S3 API'sini kullanmay\u0131 kolayla\u015ft\u0131ran y\u00fcksek seviyeli abstraction'lar sunar.<\/p>\n<h4>Python (Boto3) ile Nesneye Eri\u015fim<\/h4>\n<p>Python'da S3 ile \u00e7al\u0131\u015fmak i\u00e7in AWS SDK's\u0131 olan Boto3 kullan\u0131l\u0131r. \u0130lk olarak, Boto3'\u00fc kurman\u0131z gerekebilir: <code>pip install boto3<\/code>.<\/p>\n<p>Bir S3 nesnesini okumak i\u00e7in Python kodu \u00f6rne\u011fi:<\/p>\n<pre><code class=\"language-python\">\nimport boto3\n\n# AWS kimlik bilgilerinizi ve b\u00f6lgenizi yap\u0131land\u0131r\u0131n\n# (Genellikle ortam de\u011fi\u015fkenlerinden veya ~\/.aws\/credentials dosyas\u0131ndan al\u0131n\u0131r)\ns3 = boto3.client('s3', region_name='eu-central-1')\n\nbucket_name = 'benim-web-sitem'\nobject_key = 'belgeler\/rapor.pdf'\n\ntry:\n    response = s3.get_object(Bucket=bucket_name, Key=object_key)\n    object_content = response['Body'].read() # Nesnenin i\u00e7eri\u011fini oku\n\n    # \u0130\u00e7eri\u011fi bir dosyaya kaydet veya i\u015fleme devam et\n    with open(f\"indirilmis_{object_key.split('\/')[-1]}\", 'wb') as f:\n        f.write(object_content)\n    \n    print(f\"'{object_key}' ba\u015far\u0131yla indirildi.\")\n    \n    # Ayr\u0131ca meta verilere de eri\u015febilirsiniz\n    print(f\"Content Type: {response['ContentType']}\")\n\nexcept Exception as e:\n    print(f\"Hata olu\u015ftu: {e}\")\n<\/pre>\n<p><\/code><\/p>\n<h4>JavaScript (AWS SDK for JavaScript) ile Nesneye Eri\u015fim (Taray\u0131c\u0131da veya Node.js)<\/h4>\n<p>JavaScript ile S3'e eri\u015fim, hem Node.js arka u\u00e7 uygulamalar\u0131nda hem de dikkatli g\u00fcvenlik yap\u0131land\u0131rmalar\u0131yla do\u011frudan taray\u0131c\u0131da (\u00f6rne\u011fin React, Angular veya Vue uygulamalar\u0131) m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p><strong>Node.js Ortam\u0131nda Eri\u015fim \u00d6rne\u011fi:<\/strong><\/p>\n<pre><code class=\"language-javascript\">\nconst AWS = require('aws-sdk');\n\n\/\/ AWS kimlik bilgilerini ve b\u00f6lgeyi yap\u0131land\u0131r\u0131n\n\/\/ Ortam de\u011fi\u015fkenlerinden veya yap\u0131land\u0131rma dosyas\u0131ndan al\u0131nabilir\nAWS.config.update({ region: 'eu-central-1' });\n\nconst s3 = new AWS.S3();\n\nconst bucketName = 'benim-web-sitem';\nconst objectKey = 'veriler\/data.json';\n\nconst params = {\n    Bucket: bucketName,\n    Key: objectKey,\n};\n\ns3.getObject(params, function(err, data) {\n    if (err) {\n        console.error(\"Hata:\", err);\n    } else {\n        const objectContent = data.Body.toString('utf-8'); \/\/ JSON i\u00e7eri\u011fini oku\n        console.log(\"Nesne i\u00e7eri\u011fi:\", objectContent);\n        \/\/ JSON'\u0131 parse edebilir veya ba\u015fka i\u015flemler yapabilirsiniz\n        \/\/ const jsonData = JSON.parse(objectContent);\n    }\n});\n<\/pre>\n<p><\/code><\/p>\n<p><strong>Taray\u0131c\u0131 Ortam\u0131nda Eri\u015fim \u00d6rne\u011fi (Uyar\u0131: G\u00fcvenlik i\u00e7in dikkatli yap\u0131land\u0131r\u0131lmal\u0131d\u0131r!)<\/strong><\/p>\n<p>Taray\u0131c\u0131da do\u011frudan S3'e eri\u015fmek i\u00e7in genellikle bir IAM rol\u00fc veya Cognito Kimlik Havuzu kullan\u0131larak ge\u00e7ici kimlik bilgileri sa\u011flan\u0131r. Do\u011frudan sabit Access Key ve Secret Key kullanmak <strong>\u015fiddetle tavsiye edilmez<\/strong>, zira bu bilgiler istemci taraf\u0131nda a\u00e7\u0131\u011fa \u00e7\u0131kacakt\u0131r.<\/p>\n<pre><code class=\"language-javascript\">\n\/\/ AWS SDK'y\u0131 CDN'den y\u00fckleyin\n\/\/ <script src=\"https:\/\/sdk.amazonaws.com\/js\/aws-sdk-2.1121.0.min.js\"><\/script>\n\n\/\/ \u00d6rnek: Cognito kimlik havuzu kullanarak ge\u00e7ici kimlik bilgileri al\u0131n\nAWS.config.region = 'eu-central-1'; \/\/ B\u00f6lgenizi ayarlay\u0131n\nAWS.config.credentials = new AWS.CognitoIdentityCredentials({\n    IdentityPoolId: 'eu-central-1:xxxx-xxxx-xxxx-xxxx-xxxx', \/\/ Kendi Kimlik Havuzu ID'nizi buraya yaz\u0131n\n});\n\nconst s3 = new AWS.S3();\nconst bucketName = 'benim-web-sitem';\nconst objectKey = 'resimler\/profil.jpg';\n\ns3.getObject({ Bucket: bucketName, Key: objectKey }, function(err, data) {\n    if (err) {\n        console.error(\"Hata:\", err);\n    } else {\n        const imageUrl = <code>data:${data.ContentType};base64,${Buffer.from(data.Body).toString(&#039;base64&#039;)}<\/code>;\n        const imgElement = document.getElementById('myImage');\n        if (imgElement) {\n            imgElement.src = imageUrl;\n        }\n        console.log(\"Resim ba\u015far\u0131yla y\u00fcklendi.\");\n    }\n});\n<\/pre>\n<p><\/code><\/p>\n<p>Bu y\u00f6ntemler, uygulaman\u0131z\u0131n S3 ile dinamik olarak etkile\u015fim kurmas\u0131n\u0131 sa\u011flar. G\u00fcvenlik i\u00e7in, programatik eri\u015fimde her zaman en d\u00fc\u015f\u00fck ayr\u0131cal\u0131k prensibini (least privilege principle) uygulay\u0131n ve IAM rolleri ile kullan\u0131c\u0131lar\u0131n\u0131za sadece ihtiya\u00e7 duyduklar\u0131 izinleri verin.<\/p>\n<h3>Vaka Analizi: Mobil Uygulama ve Kullan\u0131c\u0131 Profilleri<\/h3>\n<p>Bir mobil uygulama geli\u015ftiriyorsunuz ve kullan\u0131c\u0131lar\u0131n profil resimlerini y\u00fckleyip g\u00f6r\u00fcnt\u00fclemesini istiyorsunuz. Bu senaryoda:<\/p>\n<ol>\n<li>Mobil uygulama, kullan\u0131c\u0131n\u0131n se\u00e7ti\u011fi resmi S3'e y\u00fcklemek i\u00e7in AWS SDK'y\u0131 (\u00f6rne\u011fin Swift i\u00e7in iOS SDK veya Kotlin i\u00e7in Android SDK) kullan\u0131r. Y\u00fckleme s\u0131ras\u0131nda resim, kullan\u0131c\u0131n\u0131n benzersiz ID'si ile etiketlenmi\u015f bir klas\u00f6re (\u00f6rne\u011fin <code>kullanici-profilleri\/userID123\/profile.jpg<\/code>) kaydedilir.<\/li>\n<li>Resim y\u00fcklenirken, mobil uygulama do\u011frudan public eri\u015fim izni vermez. Bunun yerine, S3 kovas\u0131, IAM politikalar\u0131 arac\u0131l\u0131\u011f\u0131yla uygulaman\u0131n backend servisine resimleri y\u00fckleme izni verir.<\/li>\n<li>Kullan\u0131c\u0131 kendi profil resmini g\u00f6r\u00fcnt\u00fclemek istedi\u011finde, mobil uygulama S3'ten public olarak eri\u015filebilen resmin URL'sini do\u011frudan al\u0131r veya backend servisinden g\u00fcvenli bir \u015fekilde imzalanm\u0131\u015f (pre-signed) bir URL talep eder. E\u011fer resimler herkese a\u00e7\u0131k hale getirildiyse (\u00f6rne\u011fin bir kova politikas\u0131 ile), do\u011frudan public URL kullan\u0131labilir. Ancak, \u00e7o\u011fu profil resmi gibi hassas olmayan ancak sadece belirli bir kullan\u0131c\u0131 taraf\u0131ndan g\u00f6r\u00fcnt\u00fclenmesi gereken i\u00e7erikler i\u00e7in ge\u00e7ici olarak imzalanm\u0131\u015f URL'ler daha g\u00fcvenlidir.<\/li>\n<\/ol>\n<p>Bu yakla\u015f\u0131m, kullan\u0131c\u0131 verilerinin g\u00fcvenli\u011fini sa\u011flarken uygulaman\u0131n performans\u0131 ve \u00f6l\u00e7eklenebilirli\u011fi i\u00e7in S3'\u00fcn avantajlar\u0131ndan yararlan\u0131r.<\/p>\n<h2>Geli\u015fmi\u015f S3 \u0130pu\u00e7lar\u0131 ve P\u00fcf Noktalar\u0131: G\u00fcvenlikten Maliyete<\/h2>\n<p>Amazon S3, basit bir depolama hizmetinden \u00e7ok daha fazlas\u0131d\u0131r. \u0130leri d\u00fczey \u00f6zellikleri ve do\u011fru yap\u0131land\u0131rma stratejileri ile performans\u0131n\u0131z\u0131 art\u0131rabilir, maliyetlerinizi optimize edebilir ve veri g\u00fcvenli\u011finizi en \u00fcst d\u00fczeye \u00e7\u0131karabilirsiniz. \u0130\u015fte S3 kullan\u0131m\u0131n\u0131z\u0131 bir \u00fcst seviyeye ta\u015f\u0131yacak baz\u0131 ipu\u00e7lar\u0131 ve p\u00fcf noktalar\u0131:<\/p>\n<h3>Versiyonlama (Versioning) ile Veri Korumas\u0131<\/h3>\n<p>S3 Versiyonlama, bir kovada depolanan her nesnenin t\u00fcm s\u00fcr\u00fcmlerini koruman\u0131z\u0131 sa\u011flar. Bir nesneyi sildi\u011finizde veya de\u011fi\u015ftirdi\u011finizde, S3 mevcut nesneyi silmek veya \u00fczerine yazmak yerine, yeni bir s\u00fcr\u00fcm olu\u015fturur. Bu, yanl\u0131\u015fl\u0131kla silinmelere, \u00fczerine yazmalara veya uygulaman\u0131zdaki hatalara kar\u015f\u0131 m\u00fckemmel bir koruma sa\u011flar. \u0130htiya\u00e7 halinde herhangi bir nesnenin \u00f6nceki s\u00fcr\u00fcmlerine geri d\u00f6nebilirsiniz. Versiyonlama, S3 kovas\u0131 d\u00fczeyinde etkinle\u015ftirilir.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Versiyonlama, ek depolama alan\u0131 kaplayaca\u011f\u0131ndan maliyetleri art\u0131rabilir. Ancak veri kayb\u0131n\u0131 \u00f6nleme maliyetinden \u00e7ok daha d\u00fc\u015f\u00fckt\u00fcr. Lifecycle Rules ile eski versiyonlar\u0131 otomatik olarak daha d\u00fc\u015f\u00fck maliyetli depolama s\u0131n\u0131flar\u0131na ta\u015f\u0131yarak maliyeti optimize edebilirsiniz.\n<\/div>\n<h3>Statik Web Sitesi Bar\u0131nd\u0131rma (Static Website Hosting)<\/h3>\n<p>Daha \u00f6nceki b\u00f6l\u00fcmlerde de\u011findi\u011fimiz gibi, S3 statik web sitelerini bar\u0131nd\u0131rmak i\u00e7in idealdir. S3 kovalar\u0131n\u0131 bir statik web sitesi olarak yap\u0131land\u0131rabilir, ana sayfa (index document) ve hata sayfas\u0131 (error document) belirtebilirsiniz. Bu \u00f6zellik etkinle\u015ftirildi\u011finde, S3 kovas\u0131 belirli bir web sitesi u\u00e7 noktas\u0131 (endpoint) \u00fczerinden eri\u015filebilir hale gelir. AWS CloudFront ile birle\u015ftirildi\u011finde, global bir CDN \u00fczerinden web sitenizin i\u00e7eri\u011fini daha h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde sunabilirsiniz. Ayr\u0131ca, Route 53 ile \u00f6zel bir alan ad\u0131 (custom domain) ba\u011flayarak markan\u0131za \u00f6zel bir URL kullanabilirsiniz.<\/p>\n<h3>Kova \u0130lkesi Best Practices (Minimum Ayr\u0131cal\u0131k Prensibi)<\/h3>\n<p>Her zaman \"Minimum Ayr\u0131cal\u0131k Prensibi\"ni (Principle of Least Privilege) uygulay\u0131n. Bu, kullan\u0131c\u0131lara veya rollere yaln\u0131zca g\u00f6revlerini yerine getirmek i\u00e7in kesinlikle ihtiya\u00e7 duyduklar\u0131 izinleri vermeniz gerekti\u011fi anlam\u0131na gelir. Genel public eri\u015fim, sadece ger\u00e7ekten herkese a\u00e7\u0131k olmas\u0131 gereken veriler i\u00e7in kullan\u0131lmal\u0131d\u0131r. Hassas veriler i\u00e7in kova politikalar\u0131nda belirli IP aral\u0131klar\u0131, belirli IAM kullan\u0131c\u0131lar\u0131\/rolleri veya AWS Hizmetleri gibi ko\u015fullar\u0131 belirterek eri\u015fimi k\u0131s\u0131tlay\u0131n.<\/p>\n<pre><code class=\"language-json\">\n{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Sid\": \"AllowSpecificIP\",\n            \"Effect\": \"Allow\",\n            \"Principal\": \"*\",\n            \"Action\": \"s3:GetObject\",\n            \"Resource\": \"arn:aws:s3:::YOUR_BUCKET_NAME\/*\",\n            \"Condition\": {\n                \"IpAddress\": {\n                    \"aws:SourceIp\": \"203.0.113.0\/24\" \/\/ Sadece bu IP aral\u0131\u011f\u0131ndan eri\u015fime izin ver\n                }\n            }\n        }\n    ]\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Bu politika, <code>YOUR_BUCKET_NAME<\/code> kovas\u0131ndaki nesnelere sadece belirli bir IP aral\u0131\u011f\u0131ndan (<code>203.0.113.0\/24<\/code>) eri\u015fime izin verir. Di\u011fer t\u00fcm IP adreslerinden gelen istekler reddedilecektir. Bu, \u00f6zellikle dahili uygulamalar veya g\u00fcvenli API'lar i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h3>S3 Block Public Access Ayarlar\u0131n\u0131n \u00d6nemi<\/h3>\n<p>AWS, yanl\u0131\u015fl\u0131kla veri s\u0131z\u0131nt\u0131lar\u0131n\u0131 \u00f6nlemek i\u00e7in S3 Block Public Access ayarlar\u0131n\u0131 sunar. Bu ayarlar, AWS hesab\u0131n\u0131zdaki veya belirli S3 kovalar\u0131ndaki public eri\u015fimi d\u00f6rt farkl\u0131 \u015fekilde engelleyebilir: ACL'leri devre d\u0131\u015f\u0131 b\u0131rakma, ACL'ler arac\u0131l\u0131\u011f\u0131yla yeni public izinleri engelleme, kova politikalar\u0131 arac\u0131l\u0131\u011f\u0131yla public eri\u015fimi engelleme ve kova politikalar\u0131 arac\u0131l\u0131\u011f\u0131yla yeni public izinleri engelleme. Varsay\u0131lan olarak, \u00e7o\u011fu yeni S3 kovas\u0131nda bu ayarlar etkindir. E\u011fer bir kovay\u0131 herkese a\u00e7\u0131k yapmakta sorun ya\u015f\u0131yorsan\u0131z, bu ayarlar\u0131 kontrol etti\u011finizden ve uygun \u015fekilde yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun. Ancak, bu ayarlar\u0131 devre d\u0131\u015f\u0131 b\u0131rak\u0131rken \u00e7ok dikkatli olun ve yaln\u0131zca ger\u00e7ekten gerekli oldu\u011funda yap\u0131n.<\/p>\n<h3>Maliyet Y\u00f6netimi: Depolama S\u0131n\u0131flar\u0131 ve Ya\u015fam D\u00f6ng\u00fcs\u00fc Kurallar\u0131<\/h3>\n<p>S3, farkl\u0131 depolama s\u0131n\u0131flar\u0131 sunar ve her biri farkl\u0131 dayan\u0131kl\u0131l\u0131k, kullan\u0131labilirlik ve maliyet profiline sahiptir:<\/p>\n<ul>\n<li><strong>S3 Standard:<\/strong> S\u0131k eri\u015filen veriler i\u00e7in y\u00fcksek performans.<\/li>\n<li><strong>S3 Intelligent-Tiering:<\/strong> Eri\u015fim kal\u0131plar\u0131n\u0131 analiz ederek veriyi otomatik olarak en uygun maliyetli s\u0131n\u0131fa ta\u015f\u0131r.<\/li>\n<li><strong>S3 Standard-IA (Infrequent Access):<\/strong> Daha az s\u0131kl\u0131kla eri\u015filen ancak gerekti\u011finde h\u0131zl\u0131 eri\u015fim gerektiren veriler i\u00e7in.<\/li>\n<li><strong>S3 One Zone-IA:<\/strong> Tek bir AWS B\u00f6lgesinde depolan\u0131r, daha d\u00fc\u015f\u00fck maliyetli ancak b\u00f6lgesel ar\u0131za durumunda veri kayb\u0131 riski ta\u015f\u0131r.<\/li>\n<li><strong>S3 Glacier \/ Glacier Deep Archive:<\/strong> Ar\u015fivleme i\u00e7in en d\u00fc\u015f\u00fck maliyetli se\u00e7enekler, ancak geri y\u00fckleme s\u00fcreleri saatler alabilir.<\/li>\n<\/ul>\n<p><strong>Ya\u015fam D\u00f6ng\u00fcs\u00fc Kurallar\u0131 (Lifecycle Rules)<\/strong> ile nesnelerinizi belirli bir s\u00fcre sonra otomatik olarak daha d\u00fc\u015f\u00fck maliyetli depolama s\u0131n\u0131flar\u0131na ta\u015f\u0131yabilir veya s\u00fcresi dolan nesneleri silebilirsiniz. \u00d6rne\u011fin, 30 g\u00fcnden eski log dosyalar\u0131n\u0131 Standard-IA'ya, 90 g\u00fcnden eski olanlar\u0131 Glacier'e ta\u015f\u0131yabilir ve 365 g\u00fcn sonra silebilirsiniz. Bu, depolama maliyetlerinizi \u00f6nemli \u00f6l\u00e7\u00fcde optimize eder.<\/p>\n<h3>Mobil Uyumluluk ve S3 \u0130\u00e7erikleri<\/h3>\n<p>Makale gereksinimleri aras\u0131nda mobil uyumlu HTML \u00fcretme ve media query \u00f6rnekleri verme maddesi bulunmaktad\u0131r. S3'\u00fcn kendisi do\u011frudan mobil uyumlu HTML \u00fcretmez; S3 sadece dosyalar\u0131 bar\u0131nd\u0131r\u0131r. Ancak, bir web sitesi veya uygulaman\u0131n S3'ten \u00e7ekti\u011fi i\u00e7erikleri mobil cihazlarda d\u00fczg\u00fcn g\u00f6stermesi i\u00e7in responsive tasar\u0131m prensiplerini uygulamak gerekir. E\u011fer S3'te bar\u0131nd\u0131r\u0131lan bir statik web siteniz varsa, bu web sitesinin HTML ve CSS kodunda media query'ler kullanarak mobil uyumlulu\u011fu sa\u011flayabilirsiniz.<\/p>\n<p><strong>\u00d6rnek bir CSS media query:<\/strong><\/p>\n<pre><code class=\"language-css\">\n\/* Genel stil (masa\u00fcst\u00fc i\u00e7in) *\/\n.image-container {\n    width: 80%;\n    margin: 20px auto;\n}\n\n\/* Mobil cihazlar i\u00e7in stil *\/\n@media screen and (max-width: 768px) {\n    .image-container {\n        width: 95%; \/* Mobil cihazlarda daha geni\u015f *\/\n        margin: 10px auto;\n    }\n    img {\n        max-width: 100%; \/* Resimlerin ekrana s\u0131\u011fmas\u0131n\u0131 sa\u011fla *\/\n        height: auto;\n    }\n}\n<\/pre>\n<p><\/code><\/p>\n<p>Bu CSS kodu, <code>.image-container<\/code> s\u0131n\u0131f\u0131na sahip \u00f6\u011felerin geni\u015fli\u011fini masa\u00fcst\u00fcnde %80, 768px geni\u015fli\u011findeki veya daha k\u00fc\u00e7\u00fck ekranlarda ise %95 olarak ayarlar. Ayr\u0131ca, i\u00e7indeki resimlerin geni\u015fli\u011finin her zaman kapsay\u0131c\u0131lar\u0131na s\u0131\u011fmas\u0131n\u0131 sa\u011flar. S3 \u00fczerinde bar\u0131nd\u0131r\u0131lan bu t\u00fcr CSS dosyalar\u0131, sitenizin mobil uyumlulu\u011funu do\u011frudan etkiler.<\/p>\n<h2>Sonu\u00e7: S3'\u00fcn G\u00fcc\u00fcn\u00fc Ke\u015ffedin<\/h2>\n<p>Bu kapsaml\u0131 rehberde, Amazon S3'te nesneleri y\u00fckleme, herkese a\u00e7\u0131k hale getirme ve g\u00fcvenli bir \u015fekilde eri\u015fme s\u00fcre\u00e7lerini ad\u0131m ad\u0131m ele ald\u0131k. Temel kavramlardan ba\u015flayarak, AWS Y\u00f6netim Konsolu ve AWS CLI arac\u0131l\u0131\u011f\u0131yla nesne y\u00fcklemenin pratik yollar\u0131n\u0131 ke\u015ffettik. Ard\u0131ndan, Access Control List'ler (ACL) ve Kova Politikalar\u0131 (Bucket Policies) kullanarak nesnelerinizi nas\u0131l herkese a\u00e7\u0131k yapaca\u011f\u0131n\u0131z\u0131 ve bu y\u00f6ntemler aras\u0131ndaki farklar\u0131 derinlemesine inceledik. Son olarak, public URL'ler ve AWS SDK'lar\u0131 arac\u0131l\u0131\u011f\u0131yla nesnelerinize nas\u0131l eri\u015fece\u011finizi, Python ve JavaScript \u00f6rnekleriyle g\u00f6sterdik. Ayr\u0131ca, versiyonlama, statik web sitesi bar\u0131nd\u0131rma, g\u00fcvenlik en iyi uygulamalar\u0131, maliyet optimizasyonu ve mobil uyumluluk gibi ileri d\u00fczey ipu\u00e7lar\u0131yla S3 kullan\u0131m\u0131n\u0131z\u0131 daha da geli\u015ftirecek bilgiler sunduk.<\/p>\n<p>Amazon S3, modern bulut uygulamalar\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131d\u0131r. Gerek bireysel projelerinizde gerekse b\u00fcy\u00fck kurumsal \u00e7\u00f6z\u00fcmlerde, S3'\u00fcn sundu\u011fu \u00f6l\u00e7eklenebilirlik, dayan\u0131kl\u0131l\u0131k ve esneklik, veri depolama ihtiya\u00e7lar\u0131n\u0131z\u0131 en etkin \u015fekilde kar\u015f\u0131layacakt\u0131r. Bu makaledeki bilgileri kullanarak, verilerinizi g\u00fcvenle depolayabilir, d\u00fcnya \u00e7ap\u0131nda eri\u015filebilir hale getirebilir ve uygulamalar\u0131n\u0131zla sorunsuz bir \u015fekilde entegre edebilirsiniz. Unutmay\u0131n, bulut g\u00fcvenli\u011fi payla\u015f\u0131lan bir sorumluluktur; AWS altyap\u0131n\u0131n g\u00fcvenli\u011fini sa\u011flarken, S3 kovalar\u0131n\u0131zdaki verilerinizin ve eri\u015fim politikalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini sa\u011flamak sizin sorumlulu\u011funuzdad\u0131r. Bu rehberdeki prensipleri uygulayarak, hem g\u00fcvende kalacak hem de S3'\u00fcn t\u00fcm potansiyelinden faydalanacaks\u0131n\u0131z.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<h3>1. S3'e y\u00fckledi\u011fim dosyalar ne kadar g\u00fcvenli?<\/h3>\n<p>S3, y\u00fcksek dayan\u0131kl\u0131l\u0131k ve g\u00fcvenlik sunan bir hizmettir. AWS, altyap\u0131n\u0131n fiziksel ve a\u011f g\u00fcvenli\u011fini sa\u011flar. Verileriniz varsay\u0131lan olarak depoda \u015fifrelenir (SSE-S3). Ancak, verilerinizin eri\u015fim g\u00fcvenli\u011fi (kimlerin eri\u015febilece\u011fi) b\u00fcy\u00fck \u00f6l\u00e7\u00fcde sizin yap\u0131land\u0131rman\u0131za ba\u011fl\u0131d\u0131r. IAM kullan\u0131c\u0131lar\u0131, rolleri, kova politikalar\u0131 ve Block Public Access ayarlar\u0131 ile eri\u015fimi s\u0131k\u0131 bir \u015fekilde kontrol etmeniz gerekmektedir. Do\u011fru yap\u0131land\u0131rma ile S3'e y\u00fckledi\u011finiz dosyalar son derece g\u00fcvenlidir.<\/p>\n<h3>2. Public eri\u015fim vermek ne gibi riskler ta\u015f\u0131r?<\/h3>\n<p>Public eri\u015fim vermek, yanl\u0131\u015fl\u0131kla veya kas\u0131tl\u0131 olarak hassas verilerinizi d\u00fcnyaya a\u00e7\u0131k hale getirme riskini ta\u015f\u0131r. \u015eirket i\u00e7i belgeler, ki\u015fisel veriler, API anahtarlar\u0131 gibi bilgiler public yap\u0131l\u0131rsa b\u00fcy\u00fck g\u00fcvenlik ihlallerine yol a\u00e7abilir. Bu nedenle, bir nesneyi veya kovay\u0131 public yapmadan \u00f6nce i\u00e7eri\u011fin ger\u00e7ekten herkese a\u00e7\u0131k olmas\u0131 gerekip gerekmedi\u011fini iki kez d\u00fc\u015f\u00fcnmeli ve yaln\u0131zca minimum gerekli izinleri vermelisiniz. M\u00fcmk\u00fcnse, eri\u015fimi IAM rollerine veya imzal\u0131 URL'lere dayal\u0131 olarak s\u0131n\u0131rl\u0131 tutmak daha g\u00fcvenlidir.<\/p>\n<h3>3. S3'te bir kova ismi se\u00e7erken nelere dikkat etmeliyim?<\/h3>\n<p>Kova ismi se\u00e7erken dikkat etmeniz gerekenler:<\/p>\n<ol>\n<li>Global olarak benzersiz olmal\u0131d\u0131r (t\u00fcm AWS i\u00e7inde).<\/li>\n<li>3 ile 63 karakter aras\u0131nda olmal\u0131d\u0131r.<\/li>\n<li>K\u00fc\u00e7\u00fck harfler, say\u0131lar ve k\u0131sa \u00e7izgi (-) i\u00e7erebilir.<\/li>\n<li>Bir harf veya say\u0131 ile ba\u015flamal\u0131 ve bitmelidir.<\/li>\n<li>IP adresi format\u0131nda olmamal\u0131d\u0131r (\u00f6rn. 192.168.1.1).<\/li>\n<li>Baz\u0131 eski b\u00f6lgelerde veya \u00f6zel DNS yap\u0131land\u0131rmalar\u0131 i\u00e7in noktal\u0131 kova isimleri (<code>my.bucket.name<\/code>) sorunlara yol a\u00e7abilir. Genellikle k\u0131sa \u00e7izgi ile ay\u0131rmak (<code>my-bucket-name<\/code>) daha g\u00fcvenlidir.<\/li>\n<\/ol>\n<p>Amaca uygun, a\u00e7\u0131klay\u0131c\u0131 ve okunabilir bir isim se\u00e7mek y\u00f6netimi kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3>4. B\u00fcy\u00fck boyutlu dosyalar\u0131 S3'e nas\u0131l daha verimli y\u00fckleyebilirim?<\/h3>\n<p>B\u00fcy\u00fck boyutlu dosyalar\u0131 S3'e daha verimli y\u00fcklemek i\u00e7in \u015fu y\u00f6ntemleri kullanabilirsiniz:<\/p>\n<ul>\n<li><strong>AWS CLI:<\/strong> CLI, 16 MB'tan b\u00fcy\u00fck dosyalar i\u00e7in \u00e7ok par\u00e7al\u0131 y\u00fcklemeyi (multipart upload) otomatik olarak kullan\u0131r. Bu, dosyay\u0131 k\u00fc\u00e7\u00fck par\u00e7alara b\u00f6lerek paralel olarak y\u00fckler ve y\u00fckleme hatalar\u0131na kar\u015f\u0131 daha dayan\u0131kl\u0131d\u0131r.<\/li>\n<li><strong>AWS SDK'lar\u0131:<\/strong> SDK'lar da \u00e7ok par\u00e7al\u0131 y\u00fcklemeyi destekler ve programatik olarak b\u00fcy\u00fck dosyalar\u0131 y\u00f6netmenizi sa\u011flar.<\/li>\n<li><strong>S3 Transfer Acceleration:<\/strong> Bu \u00f6zellik, S3'e ve S3'ten dosya aktar\u0131mlar\u0131n\u0131 h\u0131zland\u0131rmak i\u00e7in Amazon CloudFront'\u0131n k\u00fcresel u\u00e7 noktalar\u0131n\u0131 kullan\u0131r. \u00d6zellikle co\u011frafi olarak uzak kullan\u0131c\u0131lar i\u00e7in etkilidir.<\/li>\n<\/ul>\n<h3>5. S3 maliyetlerini nas\u0131l optimize edebilirim?<\/h3>\n<p>S3 maliyetlerini optimize etmek i\u00e7in \u00e7e\u015fitli stratejiler mevcuttur:<\/p>\n<ul>\n<li><strong>Do\u011fru Depolama S\u0131n\u0131f\u0131 Se\u00e7imi:<\/strong> Verinizin eri\u015fim s\u0131kl\u0131\u011f\u0131na g\u00f6re en uygun depolama s\u0131n\u0131f\u0131n\u0131 se\u00e7in (\u00f6rne\u011fin, nadiren eri\u015filen veriler i\u00e7in Standard-IA veya Glacier).<\/li>\n<li><strong>Ya\u015fam D\u00f6ng\u00fcs\u00fc Kurallar\u0131 (Lifecycle Rules):<\/strong> Eski verileri otomatik olarak daha ucuz depolama s\u0131n\u0131flar\u0131na ta\u015f\u0131y\u0131n veya art\u0131k ihtiya\u00e7 duyulmayan verileri silin.<\/li>\n<li><strong>Objeleri S\u0131k\u0131\u015ft\u0131rma:<\/strong> Metin dosyalar\u0131, JSON, CSV gibi s\u0131k\u0131\u015ft\u0131r\u0131labilir verileri S3'e y\u00fcklemeden \u00f6nce s\u0131k\u0131\u015ft\u0131rarak depolama alan\u0131ndan tasarruf edin.<\/li>\n<li><strong>Tekrarlanan veya Eski Verileri Temizleme:<\/strong> \u0130htiya\u00e7 duyulmayan yedeklemeleri, log dosyalar\u0131n\u0131 veya eski versiyonlar\u0131 d\u00fczenli olarak g\u00f6zden ge\u00e7irin ve silin.<\/li>\n<li><strong>Block Public Access:<\/strong> Yanl\u0131\u015fl\u0131kla herkese a\u00e7\u0131k b\u0131rak\u0131lan kovalar nedeniyle olu\u015fan istenmeyen veri transfer maliyetlerini \u00f6nlemek i\u00e7in public eri\u015fimi sadece gerekli oldu\u011funda a\u00e7\u0131n ve dikkatli y\u00f6netin.<\/li>\n<\/ul>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Amazon S3&#8217;te nesnelerinizi nas\u0131l depolayaca\u011f\u0131n\u0131z\u0131, herkese a\u00e7\u0131k hale getirece\u011finizi ve g\u00fcvenli bir \u015fekilde eri\u015fece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenin. Veri&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":[1],"tags":[],"class_list":{"0":"post-32818","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu<\/title>\n<meta name=\"description\" content=\"Amazon S3&#039;te nesnelerinizi nas\u0131l depolayaca\u011f\u0131n\u0131z\u0131, herkese a\u00e7\u0131k hale getirece\u011finizi ve g\u00fcvenli bir \u015fekilde eri\u015fece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenin. Veri y\u00f6netimi ve bulut depolama pratiklerini ke\u015ffedin.\" \/>\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\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu\" \/>\n<meta property=\"og:description\" content=\"Amazon S3&#039;te nesnelerinizi nas\u0131l depolayaca\u011f\u0131n\u0131z\u0131, herkese a\u00e7\u0131k hale getirece\u011finizi ve g\u00fcvenli bir \u015fekilde eri\u015fece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenin. Veri y\u00f6netimi ve bulut depolama pratiklerini ke\u015ffedin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-26T05:32:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png\" \/>\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=\"34 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu\",\"datePublished\":\"2025-10-26T05:32:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/\"},\"wordCount\":6236,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"image\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png\",\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/\",\"name\":\"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png\",\"datePublished\":\"2025-10-26T05:32:20+00:00\",\"description\":\"Amazon S3'te nesnelerinizi nas\u0131l depolayaca\u011f\u0131n\u0131z\u0131, herkese a\u00e7\u0131k hale getirece\u011finizi ve g\u00fcvenli bir \u015fekilde eri\u015fece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenin. Veri y\u00f6netimi ve bulut depolama pratiklerini ke\u015ffedin.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#primaryimage\",\"url\":\"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png\",\"contentUrl\":\"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu\"}]},{\"@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":"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu","description":"Amazon S3'te nesnelerinizi nas\u0131l depolayaca\u011f\u0131n\u0131z\u0131, herkese a\u00e7\u0131k hale getirece\u011finizi ve g\u00fcvenli bir \u015fekilde eri\u015fece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenin. Veri y\u00f6netimi ve bulut depolama pratiklerini ke\u015ffedin.","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\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/","og_locale":"tr_TR","og_type":"article","og_title":"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu","og_description":"Amazon S3'te nesnelerinizi nas\u0131l depolayaca\u011f\u0131n\u0131z\u0131, herkese a\u00e7\u0131k hale getirece\u011finizi ve g\u00fcvenli bir \u015fekilde eri\u015fece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenin. Veri y\u00f6netimi ve bulut depolama pratiklerini ke\u015ffedin.","og_url":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-26T05:32:20+00:00","og_image":[{"url":"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png","type":"","width":"","height":""}],"author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"34 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu","datePublished":"2025-10-26T05:32:20+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/"},"wordCount":6236,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"image":{"@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#primaryimage"},"thumbnailUrl":"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png","inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/","url":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/","name":"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#primaryimage"},"image":{"@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#primaryimage"},"thumbnailUrl":"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png","datePublished":"2025-10-26T05:32:20+00:00","description":"Amazon S3'te nesnelerinizi nas\u0131l depolayaca\u011f\u0131n\u0131z\u0131, herkese a\u00e7\u0131k hale getirece\u011finizi ve g\u00fcvenli bir \u015fekilde eri\u015fece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenin. Veri y\u00f6netimi ve bulut depolama pratiklerini ke\u015ffedin.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/"]}]},{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#primaryimage","url":"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png","contentUrl":"https:\/\/benim-web-sitem.s3.eu-central-1.amazonaws.com\/resimler\/logo.png"},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/s3-nesne-yukleme-public-yapma-ve-erisme-kilavuzu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"S3 Nesne Y\u00fckleme, Public Yapma ve Eri\u015fme K\u0131lavuzu"}]},{"@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\/32818","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=32818"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/32818\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=32818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=32818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=32818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}