AWS S3 (Simple Storage Service) Gerçekten Simple Mı?
AWS çözümleri arasında neredeyse her alanda servis bulmak mümkün. Compute alanından IoT’a, makine öğrenmesine dek. 2022 verilerine göre yaklaşık 200 olan bu sayı son re:Invent etkinliğinde duyurulan +25 servisle 200’ün üstüne ulaşmış görünüyor. Değişen teknolojiler ve şirket çözümleriyle sayının sürekli olarak artması öngörülüyor.
Bunlar arasından, Storage kategorisinde olan 3 servis:
-
EBS(Elastic Block Service)
-
EFS(Elastic File Service)
-
S3(Simple Storage Service)
Sadece ismine bakıp (benim ilk izlenimim o doğrultudaydı) S3’ü basit bir servis olarak düşünebilirsiniz. AWS ile tanıştığım ilk dönem objenin bir klasöre konup, içine dosya attığımız bu basit servise isminin ne kadar doğru verildiğini düşünmüştüm. Çalışmalar arttıkça aslında bunun sebebinin servisin kolaylığından değil, devasa işlerinizi basitleştirecek bir servis olduğundan dolayı olduğunu fark ettim.
Bir bucket (objelerin depolandığı yapı) açıp aşağıdaki faaliyetleri basitçe yapmak mümkün.
Web Hosting: Bir html dosyası hazırlayıp static web sitenizin yayınlanmasını sağlar. (Domain name var ise, yoksa AWS’nin domain servisinden de yararlanmanız mümkün)
Depolama: Resim, video, text dosyalarınızı bir bucket açıp içinde depolayabilir. Depoladığınız verilerin toplam hacmi ya da nesnelerin toplam sayısı konusunda herhangi bir sınırlama yoktur. Tek bir Amazon S3 nesnesinin boyutu en az 0 bayt, en fazla 5 TB olabilir. Tek bir PUT işleminde en fazla 5 GB boyutlu bir nesne yüklenebilir. 100 MB’den büyük nesneler için Multipart Upload (dosyanın parçalara bölünerek-sıralama bozulmadan) yükleme yapılabilir.
Diğer servislerden gelen (Cloudwatch,Cloudtrail vb.) oluşturulan log kayıtları da (target olarak bucket seçerseniz) burada depolanabiliyor.
Sınıflandırma: S3 içinde depolanan verileri sınıflandırma yaparak depolama dönemlerinin oluşturulması sağlanabilir.
-
Amazon S3 Standard
-
Amazon S3 Intelligent-Tiering
-
Amazon S3 Standard-Infrequent Access
-
Amazon S3 One Zone-Infrequent Access
-
Amazon S3 Glacier Instant Retrieval
-
Amazon S3 Glacier Flexible Retrieval
-
Amazon S3 Glacier Deep Archive
Sınıflandırma konusunda detaylı bilgi için https://aws.amazon.com/s3/storage-classes/
Düzenleme : Amazon S3, anahtar tabanlı basit bir nesne deposudur. Verilerinizi depolarken daha sonra bunları almak için kullanabileceğiniz benzersiz bir nesne anahtarı atarsınız. Bu anahtarlar herhangi bir dize şeklinde olabilir ve hiyerarşik öznitelikleri yansıtacak biçimde oluşturulabilir. Alternatif olarak, tüm S3 klasörlerinizdeki ve/veya ön eklerinizdeki verilerinizi düzenlemek için S3 Nesne Etiketleme özelliğini kullanabilirsiniz.
S3 ile bağlantı: Amazon S3, internete yönelik tüm geliştirme araç setleri ile çalışacak şekilde tasarlanmış basit, standart tabanlı bir REST web hizmetleri arabirimi sunar. İşlemler, yeni dağıtım protokollerinin ve işlevsel katmanların eklenmesini kolaylaştırmak amacıyla özellikle basit tutulmuştur.
Güven: Amazon S3, tüm geliştiricilere Amazon'un kendi küresel web sitesi ağını çalıştırmak için kullandığı yüksek oranda ölçeklenebilir, erişilebilir, hızlı ve hesaplı veri depolama altyapısına erişim imkanı sağlar. S3, verilerinizin erişilebilirlik aralığını 99.999999999% oranında veriyor.
Kolektif Çalışma: S3 içerisinde farklı accountlar arası güvenli kaynak (bucket) paylaşımı yapılabiliyor. Alternatif olarak, klasörünüzü Amazon S3 verilerinize yönelik istekler ve indirme işlemleri için, ücreti istekte bulunan tarafça ödenen Requester Pays klasörü olarak yapılandırma seçeneğiniz de vardır. Burada maliyet için, S3’ün doğru çözüm olduğunu tekrar görüyoruz.
Versiyonlama: S3 içerisinde dosyalarınızın farklı güncellemelerini depolayabilir, bu sayede onların farklı versiyonları üzerinde çalışma yapabilir ve kazara silinmelerinin önüne geçmiş olursunuz.
Event Notification: Event Notification etkinleştirebilir ve PUT, POST, COPY ve DELETE gibi S3 klasörünüzdeki belirli olaylara yanıt olarak alabilirsiniz. Bildirimleri Amazon EventBridge, Amazon SNS, Amazon SQS veya doğrudan AWS Lambda'ya yayınlayabilirsiniz. Birçok servis entegrasyonuna imkan tanıması da başka bir avantaj diyebiliriz.
Verilere Ulaşım, Sorgu:
S3 Select, basit SQL ifadeleri kullanarak nesnenin tamamını almanıza gerek kalmadan içeriğindeki belirli verileri almayı kolaylaştıran bir Amazon S3 özelliğidir. S3 Select, nesneleri taramayı ve %400'e kadar daha küçük, hedefli veri kümelerine filtrelemeyi basitleştirir ve bu işlemlerin performansını iyileştirir. S3 Select ile bir bilgi işlem kümesi çalıştırıp yönetmenize gerek kalmadan Amazon S3'teki günlük dosyalar üzerinde operasyonel araştırmalar gerçekleştirebilirsiniz.
SELECT ve WHERE gibi SQL tümcelerini kullanarak CSV, JSON veya Apache Parquet biçiminde depolanan nesnelerden veri alt kümelerini almak için S3 Select'i kullanabilirsiniz. Bu yöntem, GZIP veya BZIP2 (sadece CSV ve JSON nesneleri için) ile sıkıştırılmış nesnelerde ve sunucu tarafında şifrelenmiş nesnelerde de işe yarar.
Amazon Athena: Amazon Athena, Amazon S3'te standart SQL sorguları kullanarak veri analizi yapmanızı kolaylaştıran etkileşimli bir sorgu sistemidir. Athena, sunucusuz olduğundan kurmanız veya yönetmeniz gereken bir altyapı yoktur. Athena ile verileri analiz etmeye hemen başlayabilirsiniz. Verilerinizi yüklemenizi bile gerektirmeyen Athena, herhangi bir S3 depolama sınıfında depolanmış verilerle doğrudan çalışır. Kullanmaya başlamak için Athena Yönetim Konsolu'nda oturum açın, şemanızı tanımlayın ve sorgulamaya başlayın. Amazon Athena, tam standart SQL desteği ile Presto'yu kullanır ve CSV, JSON, ORC, Apache Parquet ve Avro dahil olmak üzere çeşitli standart veri biçimleriyle çalışır. Athena hızlı, geçici sorgulamalar için idealdir ve kolay görselleştirme sağlamak amacıyla Amazon QuickSight ile entegre olur. Ayrıca, yüksek boyutlu birleştirmeler, pencere işlevleri ve dizilerin dahil olduğu karmaşık analizler gerçekleştirebilir.
Yalnızca burada bahsettiğim özelliklerle bile serverless (bir sunucu kiralamadan) S3 servisinin basit bir servis olmadığı konusunda ikna olduğunuzu düşünüyorum. Detaylı bir S3 analizi için https://aws.amazon.com/s3/ sayfasını ziyaret edebilirsiniz. Sayfada S3 ile ilgili tüm detayları bulabilirsiniz.
Müzeyyen Alan
Yönetim.Academy olarak AWS Eğitimi markamızla AWS odaklı eğitimler veriyor ve her ay yüzlerce kişiye ulaşıyoruz. AWS sertifikaları alırken zorlanmamak için ücretli veya ücretsiz eğitimlerimize katılabilirsiniz. Yetkili ve profesyonel bir kurumdan eğitim almanız, kariyeriniz için önemlidir.
Yazının tüm hakları Yönetim.Academy’e aittir. İzinsiz olarak, kaynak belirtilerek dahi alıntı yapılması ya da yazının tamamının başka yerde yayınlanması yasaktır.