Kayıt ol Giriş yap +90 212 706 73 93

S3 Storage Nedir? S3 Uyumlu Object Storage Rehberi


Özet: S3 storage, dosyaların ("object") düz bir anahtar-değer yapısı içinde, "bucket" adı verilen mantıksal konteynerler altında saklandığı ve HTTP/HTTPS REST API ile erişilen bir depolama modelidir. Amazon S3 REST API'si fiili bir endüstri standardı olduğu için uygulamalar tek satır endpoint değişikliğiyle farklı sağlayıcılar arasında taşınabilir. Yedekleme, statik web içerik, medya, veri gölü ve log saklama için ideal; KVKK uyumu için ise verinin Türkiye'de tutulması belirleyicidir.

Ana noktalar:
- S3 dosyaları düz key-value yapısında saklar; gerçek bir klasör hiyerarşisi yoktur, yalnızca prefix tabanlı listeleme vardır.
- S3 uyumlu sağlayıcılar (AWS, MinIO, Cloud4U, Wasabi, Hetzner) aynı API ile çalışır; endpoint URL'si değişir.
- Egress (giden trafik) maliyeti S3'in en tartışmalı kalemidir; bazı sağlayıcılar bunu sıfırlamıştır.
- Object Lock + versiyonlama, ransomware'e karşı immutable backup katmanı oluşturur.
- KVKK için kişisel veri içeren bucket'ların Türkiye'de tutulması yurt dışı aktarım yükümlülüğünü ortadan kaldırır.

Modern uygulamaların büyük çoğunluğu artık dosyalarını yerel diskte değil, S3 uyumlu bir object storage'ta saklıyor. WordPress eklentilerinden Veeam yedeklemeye, Spark veri pipeline'larından Kubernetes CSI sürücülerine kadar binlerce ürün için S3 API, de facto standart haline geldi. Bu, bir uygulamayı tek satır endpoint değişikliğiyle bir sağlayıcıdan diğerine taşıyabilmek demek; mimari açıdan büyük bir özgürlük.

Bu rehber, S3 storage'ın ne olduğunu, nasıl çalıştığını, hangi senaryolarda block ya da file storage yerine tercih edilmesi gerektiğini, hangi sağlayıcıların hangi konuda öne çıktığını ve KVKK kapsamında Türkiye'de tutulan verinin ne anlama geldiğini anlamak isteyen geliştiriciler, DevOps mühendisleri ve teknik karar vericileri için yazıldı.

Sonunda elinde net bir resim olacak: bucket-key kavramından IAM politikalarına, fiyatlandırma kalemlerinden migrasyon adımlarına kadar bir S3 storage hizmetini doğru şekilde değerlendirmek için ihtiyacın olan her şey.

S3 storage nedir?

S3 storage, dosyaların ("object") bir hiyerarşik dosya sistemi yerine düz bir anahtar-değer yapısı içinde, "bucket" adı verilen mantıksal konteynerler altında saklandığı bir depolama modelidir. HTTP/HTTPS üzerinden REST API ile erişilir ve neredeyse sınırsız ölçeklenir.

Amazon S3 ve S3 API standardının ortaya çıkışı

Amazon Web Services, 2006'da Simple Storage Service'i (S3) duyurdu; o günden bugüne resmi AWS S3 dokümantasyonu protokolün referans tanımı olarak kullanılıyor. O dönemde "internet ölçeğinde bir disk" fikri yeniydi; geliştiriciler dosyaları yerel sunuculara koymaya alışmıştı. Yıllar içinde S3 hem AWS'in en eski hem en yaygın kullanılan servislerinden biri oldu. Bunun bir yan etkisi: S3 REST API'si fiili bir endüstri standardına dönüştü.

Bugün açık kaynak (MinIO, Ceph RADOS Gateway), ticari yazılım (Veeam, Restic, Velero) ve büyük bulut sağlayıcıların kendi object storage'ları, S3 API ile uyumlu çalışacak şekilde tasarlanıyor. Bu sayede uygulamalarınızı tek bir API üzerinde geliştirip farklı arka uçlara yönlendirebiliyorsunuz.

Object storage vs block storage vs file storage

Üç depolama türünü kabaca ayırmak için: block storage, sunucuya bir disk gibi takılır ve işletim sistemi tarafından biçimlendirilir; veritabanları için doğal seçimdir. File storage, NFS/SMB üzerinden paylaşılan bir dosya sistemidir; klasik dosya sunucusu mantığıdır. Object storage ise dosyaları bir anahtar (key) altında saklar, HTTP ile okunur ve neredeyse sınırsız ölçeklenir.

Object storage'ın avantajları: ölçeklenebilirlik, durability (genelde "11 nines"), düşük birim maliyet ve internete açılması kolay olması. Dezavantajları: POSIX dosya sistemi semantikleri (dosya kilitleme, atomic rename, low-latency (gecikme süresi) random write) yoktur. Veritabanı için object storage uygun değildir; ama statik dosyalar, yedekler, görseller, loglar için ideal.

S3 uyumlu (S3-compatible) ne anlama gelir?

"S3 uyumlu" terimi, bir storage sisteminin Amazon S3 REST API'sini destekliyor olması demektir. Pratikte bunun anlamı: aws-cli, rclone, s3cmd, Veeam, Restic, Velero, Terraform, AWS SDK gibi araçların endpoint URL'sini değiştirip aynı kod ile çalışabilmesi.

Uyumluluk seviyesi farklılaşabilir. Çekirdek API (bucket oluşturma, object yükleme, indirme, listeleme) hemen her yerde aynıdır. Object Lock, Server-Side Encryption with KMS, Multipart Copy, Presigned URL gibi gelişmiş özelliklerin desteği sağlayıcıdan sağlayıcıya değişir. Üretim seçimi yapmadan önce, kritik özelliklerin uyumluluğunu test etmek gerekir.

S3 storage nasıl çalışır?

Bir S3 storage hizmetiyle çalışırken bilmen gereken birkaç temel kavram var.

Bucket, object ve key kavramları

Bucket, dosyaları gruplayan üst düzey konteynerdir; benzersiz bir isme sahip olmak zorundadır. Object, bucket içine yerleştirilen dosyadır ve bir "key" ile tanımlanır. Key bir "klasör/altklasör/dosya.txt" gibi görünebilir ama aslında düz bir string'dir; gerçek bir klasör hiyerarşisi yoktur, sadece prefix tabanlı listeleme yapılır.

Her object, gerçek içeriğin yanında metadata da taşır: content-type, oluşturma tarihi, ETag (içerik özetinin hash'i), kullanıcı tanımlı header'lar. Metadata, uygulama tarafından özelleştirilebilir ve genelde indexing/aramayı kolaylaştırmak için kullanılır.

Erişim anahtarları (access key, secret key)

S3 API, klasik kullanıcı adı/şifre yerine access_key ve secret_key ikilisini kullanır. Bu ikili, her HTTP isteğini imzalamak için kullanılır (SigV4 algoritması). Sızdırılması büyük güvenlik sorunudur; kaynak koda gömülmemeli, sırlar yöneticisi (Vault, AWS Secrets Manager, Kubernetes Secrets) üzerinden enjekte edilmelidir.

Üretim ortamlarında her uygulama için ayrı bir erişim anahtarı çıkarmak, anahtar başına izinleri sıkı tanımlamak ve düzenli rotation uygulamak temel pratiklerdir.

Endpoint URL ve region

Her S3 hizmetinin bir endpoint URL'si vardır (örneğin s3.eu-central-1.amazonaws.com veya s3.cloud4u.com.tr). Uygulamalar bu URL'yi kullanarak istek gönderir. Region, bucket'ın fiziksel olarak hangi bölgede saklandığını belirler; gecikme, fiyat ve KVKK gibi yasal konularda doğrudan etkilidir.

Bir bucket bir kez oluşturulduğu region'da kalır; başka region'a "taşımak" için yeni bucket oluşturup veriyi kopyalamak gerekir. Bu nedenle ilk bucket oluşturma sırasında region seçimi dikkatli yapılmalıdır.

REST API ve SDK desteği

S3 ile HTTP üzerinden doğrudan da çalışılabilir (curl + SigV4 imzası), ama pratikte herkes resmi SDK'ları kullanır: AWS SDK for Python (boto3), Java SDK, JavaScript SDK, Go SDK. Bu SDK'lar endpoint_url parametresi ile farklı sağlayıcılara yönlendirilebilir.

aws-cli aracı da --endpoint-url bayrağıyla başka S3 uyumlu sağlayıcılara çalışır; çoğu DevOps ekibi günlük operasyonda en sık bu komut satırı aracını kullanır.

S3 storage kullanım senaryoları

Object storage hangi senaryolarda hangi türden faydaya dönüşür?

Yedekleme ve arşivleme

Yedekleme S3'in en yaygın kullanım alanlarından biridir. Veeam, Restic, Borg, Velero gibi araçlar S3 hedefini doğal olarak destekler. Bucket'a immutability (Object Lock) eklediğinizde, ransomware saldırılarına karşı dayanıklı bir yedek katmanı kurmuş olursunuz. Lifecycle kuralları ile eski yedekler otomatik silinir veya arşive taşınır.

Statik web içeriği ve CDN kaynağı

HTML, CSS, JS, görsel gibi statik içerikleri bir bucket'tan servis etmek, sunucu yükü ve maliyet açısından çok ekonomiktir. Önüne bir CDN koyduğunuzda (Cloudflare, BunnyCDN, Fastly), dünyanın her yerinden düşük gecikmeli erişim sağlarsınız. Jamstack mimarileri tam olarak bu yapı üzerine kurulur.

Medya ve e-ticaret görselleri

Bir e-ticaret platformunda ürün görsellerinin tutulması için object storage doğal seçim. On-demand image processing servisleri (Imgix, Cloudinary alternatifleri, ya da self-hosted imgproxy) genelde S3'ten alıp resize ederek servis eder. Kullanıcı yüklediği dosyalar (profil fotoğrafları, ek dosyalar) için de aynı mantık geçerli.

Veri gölü ve analitik

Modern veri mimarisi (lakehouse) Parquet/ORC dosyalarını object storage'ta saklamayı, üzerine Spark, Trino, DuckDB gibi motorları çekmeyi varsayar. Veri büyüdükçe storage ucuz kalmalı, hesaplama ise gerektiğinde açılıp kapanan ayrı bir katman olmalıdır. Bu ayrım object storage olmadan ekonomik değildir.

Log saklama ve denetim

Uygulama logları ve denetim kayıtları, sık okunmaz ama uzun süre saklanmalıdır. S3 bucket'a yazılan log dosyaları, daha sonra Athena/Trino ile sorgulanabilir veya soğuk tier'a indirilip yasal süre dolana kadar bekletilir. Object Lock + retention politikası ile değiştirilemez denetim kayıtları oluşturulabilir.

S3 uyumlu sağlayıcıların karşılaştırması

Bugün S3 API'sine birden fazla sağlayıcı üzerinden erişebilirsiniz. Her birinin güçlü ve zayıf yönleri farklı.

Sağlayıcı Lokasyon Egress ücreti Fiyat (örnek, USD/GB-ay) KVKK / yerelleştirme
AWS S3 Global Yüksek (0,09 USD/GB) 0,023 Yurt dışı
Hetzner Object Storage Almanya/Finlandiya Düşük ~0,006 Yurt dışı
Wasabi ABD/AB 0 (koşullu) 0,0069 Yurt dışı
MinIO self-hosted Müşteri ortamı Yok Donanım maliyeti Tam kontrol
Cloud4U Türkiye Object Storage S3 İstanbul Düşük/öngörülebilir TRY tabanlı Türkiye, KVKK uyumlu

AWS S3

Pazarın olgun, en geniş özellik setine sahip ürünü. Intelligent-Tiering, S3 Select, S3 Object Lambda, Glacier katmanları gibi gelişmiş yetenekler sunar. Dezavantajları: yüksek egress ücreti, karmaşık fatura ve veri yurt dışında kalır.

Hetzner Object Storage

Avrupa pazarında fiyat-performans öncüsü. S3 uyumlu, makul fiyatlı, EUR üzerinden faturalandırılır. Almanya/Finlandiya konumlarından Türkiye'ye gecikme 50–70 ms civarındadır. KVKK için yurt dışı transferi gerekir.

Wasabi

"Saklamadan başka ücret yok" mottosuyla farklılaşır: egress ve API ücretsiz, sadece saklama için ödersiniz. 90 günlük minimum saklama uygulanır. Yedekleme ve arşiv senaryoları için çok rekabetçidir.

MinIO (self-hosted)

Açık kaynak, Kubernetes-friendly, S3 API uyumlu object storage. Kendi sunucularınıza kurar ve yönetirsiniz. Tam kontrol sağlar; hiçbir bulut sağlayıcısına bağımlılık kalmaz. Karşılığında donanım, yönetim ve dayanıklılık sorumluluğu sizdedir.

Cloud4U Türkiye Object Storage S3

İstanbul veri merkezinde KVKK uyumlu olarak konumlandırılmıştır. AWS S3 API ile %100 uyumlu çalışır, mevcut araçlarınızı tek satır endpoint değişikliğiyle bağlayabilirsiniz. Faturalandırma TRY üzerinden yapılır, kur sürprizi yaşamazsınız. Yerel destek ekibi 7/24 Türkçe yardım sağlar.

S3 storage fiyatlandırma modeli

S3 fiyatlandırması genelde üç ana kalemden oluşur; gizli kalemler çoğu zaman bu üçünün toplamı kadar fatura yaratır. Gartner'ın bulut depolama pazarı araştırmaları egress ücretlerinin kurumsal bulut maliyet sürprizlerinin başlıca kaynağı olduğunu vurgular.

Depolama GB başına ücret

En şeffaf kalem. Aylık ortalama olarak saklanan veri miktarına göre faturalanır. Standart katmanda 0,006–0,023 USD/GB, infrequent access katmanda yarıdan az, archive katmanda 0,001 USD/GB civarına kadar düşer.

İstek (request) ücretleri

Her PUT, GET, LIST, DELETE bir istek olarak sayılır. Yazma istekleri yaklaşık 0,005 USD/1000, okuma istekleri 0,0004 USD/1000. Görece düşük gibi görünür ama milyonlarca küçük dosya ile çalışan iş yüklerinde (log, IoT, thumbnail) yıllık binlerce dolara ulaşabilir.

Giden trafik (egress) maliyeti

Egress, S3'in en tartışmalı kalemi. AWS S3'te dışarı çıkan her GB için 0,05–0,09 USD ödersiniz. Aylık 5 TB egress, sadece bu kalemden 250–450 USD demektir. Cloudflare R2, Wasabi ve Cloud4U Türkiye gibi sağlayıcılar bu kalemi tamamen veya büyük ölçüde kaldırmıştır.

Gizli maliyetlerden kaçınma

En yaygın gizli kalemler: minimum saklama cezaları (cold tier'da 30/90/180 gün), versiyonlama (her sürüm ayrı saklanır, fatura katlanır), eksik multipart upload'lar (yarıda kalan yüklemeler temizlenmediğinde saklanmaya devam eder) ve cross-region replication. Düzenli "storage analytics" raporu üreterek bu kalemleri görmek mümkündür.

Güvenlik ve erişim yönetimi

S3 storage güvenliği, paylaşılan sorumluluk modelinde çalışır: sağlayıcı altyapıyı, müşteri konfigürasyonu güvende tutar.

IAM ve bucket politikaları

Erişim anahtarlarına minimum gerekli izinleri vermek (least privilege) esastır. Yedekleme aracı sadece kendi prefix'ine yazabilmeli, başka bucket'a okuma izni olmamalı. Bucket politikaları, bucket düzeyinde ek kurallar tanımlar: belirli IP'lerden erişim, MFA gereksinimi, HTTPS zorunluluğu gibi.

Sunucu tarafı şifreleme (SSE)

S3 sağlayıcıları, dosyaları diskte şifrelemek için Server-Side Encryption sunar. Anahtar yönetimi sağlayıcıda olabilir (SSE-S3), KMS hizmetinde olabilir (SSE-KMS) veya müşteri kendi anahtarını sağlayabilir (SSE-C). Regülasyon altındaki sektörlerde SSE-KMS, anahtar rotation ve denetim izi için tercih edilir.

Versiyonlama ve object lock

Versiyonlama açıkken silinen veya üzerine yazılan dosyaların eski sürümleri saklanır. Object Lock ise belirli bir süre veya yasal hold çıkana kadar dosyaların silinmesini ya da üzerine yazılmasını engeller (WORM modeli). Bu iki özellik birlikte ransomware'e karşı kritik savunma katmanı oluşturur.

Lifecycle kuralları

Lifecycle kuralları, dosyaların yaşına ve prefix'ine göre otomatik olarak farklı katmanlara taşınmasını veya silinmesini sağlar. Örnek: "logs/" prefix'indeki dosyalar 30 gün sonra IA katmanına, 180 gün sonra archive'a, 7 yıl sonra silinmiş olsun. Bir kez yazılıp unutulur; ekonominin temelidir.

AWS S3'ten migrasyon nasıl yapılır?

AWS S3'ten başka bir S3 uyumlu sağlayıcıya geçiş, mimari değişikliği gerektirmez. Adımlar pratik.

rclone ile veri kopyalama

rclone aracı, iki S3 uyumlu sağlayıcı arasında doğrudan kopyalama destekler. Yapılandırma dosyasında iki ayrı remote tanımlanır:

rclone copy aws-s3:eski-bucket cloud4u-s3:yeni-bucket --transfers 32 --checkers 16

Büyük veri setleri için --multi-thread-streams ve --transfers parametreleri ayarlanır; egress maliyetinin AWS tarafında oluşacağı unutulmamalıdır.

aws-cli ile custom endpoint kullanımı

aws-cli aracı --endpoint-url bayrağıyla başka sağlayıcıya yönlendirilebilir. Mevcut yedekleme scriptlerinde sadece endpoint ve credentials profile'ı değiştirmek yeterlidir; komutlar ve davranış aynıdır.

DNS ve uygulama yapılandırması

Eğer uygulamanız bucket'a custom domain üzerinden erişiyorsa (örneğin static.example.com), DNS CNAME'ini yeni sağlayıcıya yönlendirmek gerekir. Endpoint URL'sini ortam değişkeni olarak yöneten uygulamalar, geçiş sırasında en az kesinti yaşar. Kesintisiz göç için "dual-write" döneminde her iki bucket'a paralel yazma yapılır, sonra kaynak değiştirilir.

KVKK ve veri yerelleştirme

Object storage kararı, sadece teknik değil, yasal bir karardır.

KVKK gereği veri konumu

KVKK, kişisel verinin yurt dışına aktarımı için açık rıza veya yeterli koruma kararı bulunan ülke şartı arar. Yurt dışındaki AWS S3, Hetzner ve Wasabi bucket'larında kişisel veri tutmak teknik olarak yasak değil ama her veri sahibinden açık rıza ve standart sözleşme hükümleri gerektirir. Bu yük, denetimde kusur olarak ortaya çıkabilir.

Türkiye veri merkezinde saklamanın avantajları

Türkiye'de fiziksel olarak duran bir bucket, KVKK kapsamındaki "yurt içi" sayılır; bu yükü ortadan kaldırır. Operasyonel açıdan ise İstanbul'daki bir uygulama için 5–10 ms erişim gecikmesi, yurt dışına kıyasla onlarca ms daha düşük. Faturalandırma TRY üzerinden olduğunda kur dalgalanması da bütçeden çıkar.

ISO 27001 ve denetim izleri

Object storage sağlayıcısının ISO 27001 sertifikalı olması, denetim ve uyum süreçlerinde önemli bir referanstır. Bucket erişim logları (S3 server access logging), her isteği kaydeder ve denetim izleri için kullanılabilir. KVKK ihlali soruşturmalarında bu loglar belge olarak gösterilebilir.

Sıkça sorulan sorular (SSS)

S3 uyumlu storage AWS S3 ile aynı performansta mı?

Evet, çekirdek senaryolarda performans eşittir ve yerel sağlayıcılar Türkiye kullanıcılarına AWS'in Avrupa bölgelerinden çoğu zaman daha hızlı yanıt verir. Gelişmiş özelliklerin (S3 Select, Object Lambda, Glacier) tamamı her sağlayıcıda olmayabilir; üretim öncesi uyumluluk listesini test etmek gerekir.

Hangi yazılımlar S3 API destekler?

Veeam, Restic, Borg, Velero, Duplicati, Rclone, Cyberduck, AWS SDK'lar, Terraform, Ansible, Kubernetes CSI sürücüleri ve Spark/Trino/DuckDB gibi analitik motorlar S3 API'sini doğal olarak destekler. Pratikte modern bir "dosya yedekleyen" yazılım, S3'ü desteklemiyorsa zaten niş bir üründür.

Minimum kullanım taahhüdü var mı?

AWS S3'te minimum yoktur ve GB-saat bazında prorate edilir; Wasabi'de 90 gün minimum saklama uygulanır. Cloud4U Türkiye Object Storage S3 için aylık abonelik modeli geçerlidir; uzun dönem taahhüt yoktur, fatura kullanım miktarına göre çıkarılır.

Cloud4U Türkiye Object Storage S3 ile verilerinizi Türkiye'de saklayın

S3 storage seçimi yaparken kritik üç soru var: API uyumluluğu, fiyat şeffaflığı ve veri konumu. Cloud4U Türkiye Object Storage S3, bu üç soruda da net cevap sunar; AWS S3 ile tam uyumlu API, TRY tabanlı şeffaf fiyatlandırma ve İstanbul veri merkezi.

  • Türkiye veri merkezi ve KVKK uyumu: Verileriniz İstanbul'da, KVKK'nın yurt içi tanımı altında saklanır; yurt dışı aktarım izinleri için ek belgelerle uğraşmazsınız.
  • AWS S3 ile %100 uyumlu API: Mevcut araçlarınızı (Veeam, Restic, rclone, aws-cli, Velero, Spark) tek satır endpoint değişikliğiyle bağlarsınız; kod değişikliği gerekmez.
  • Şeffaf TRY fiyatlandırma ve Türkçe destek: Faturanız TRY üzerinden gelir, kur dalgalanması bütçenizi etkilemez; teknik destek 7/24 Türkçe hizmet verir.

Mevcut S3 yapınızı KVKK uyumlu bir yerel sağlayıcıya taşımak veya yeni bir bucket ile başlamak için Cloud4U Türkiye Object Storage S3 sayfasını ziyaret edin. Ücretsiz deneme ve fiyat teklifi alın; göç planlaması için ekibimiz rclone ile veri kopyalama adımlarınızı kurmanıza yardımcı olur.

İlgili içerikler


Bu size yardımcı oldu mu?
0
0
Diğer Haberler
Scroll up!