💻
💻
💻
💻
Cheet Sheets
Ask or search…
K
🪣

S3

Bir S3 bucket'ında neleri özelleştirebiliriz?
Versioning : Enable : Bucket üzerinde versiyonlama açılır. Suspend : Versiyonlama durdurulur. Örnek : İş yerimizde bir dosya üzerinde 15 kişi çalışıyor ve herkes bu dosyayı işi bitince s3'e upload ediyor. S3 versioning burada bu dosya için her yapılan değişik için, bir versiyonlama yürütülür. Bir dosyada yapılan her değişiklikten sonra S3 bucket'a upload ettiğinizde yeni bir versiyon oluşturulacak. Versioning açık olan bir bucket'da bir dosyayı sildiğinizde AWS bu dosyayı tamamen silmez (delete marker) etiketi ile versions show dediğinizde sildiğiniz dosyayı görebilirsiniz. Silme işlemini geri almak için (delete marker) yazan versiyonu silmeniz gerekmektedir.
Server Access Logging : S3 bucket üzerinde bulunan bir obje için gelen isteklerin loglamasını yapar. Örnek olarak bir resim dosyasını X kişi istek yaptığında, server access logging istek ile alakalı log yazar (oluşturur) . Logları (log) adında bir bucket oluşturup, o bucket'a yazmasını da sağlayabiliriz.
Object Level Logging : Tüm objelerin loglarını tutmaktadır. CloudTrail servisi üzerine logları yazabilmektedir. Objelere gelen API isteklerinin loglarını tutabilmektedir.
Static Web Hosting : Statik web sitelerini bu servis sayesinde bucket üzerinde host edebiliyoruz.
Default Encryption : Bucket içerisinde olan tüm dosyaların şifrelenmesini istiyorsak, ayarlamalarını buradan yapabiliyoruz. Desteklediği algoritmalardan: AES-256 - AWS-KMS

Advanced Settings

Object Lock : Bucket içerisinde silinmemesi gereken dosyalar varsa, bu ayar ile seçebiliyoruz. Bu sayede dosyaların silinme ihtimali ortadan kalkacaktır. Bu seçenek mevcut bucket üzerinde aktifleştirilemez. Yani bucket oluşturulurken aktif edilmelidir.
Tags : Objelerin ayrıştırılmasını ve ya bucket'ın ayrıştırılması için tag (etiketler) ekleyebiliriz.
Transfer Acceleration : Misal, Elimizde 2 TB dosya var, ve bucket'a upload edilmesi gerekiyor. Normal bir şekilde upload ettiğimizde bu çok uzun sürecektir. Fakat biz daha hızlı upload etmek istersek, bu özelliği açıp bu servisin bize verdiği URL üzerinden upload işlemimizi yapabiliriz. (AWS burada bize CDN ağı sunmaktadır) Böylelikle bize en yakın sunucuyu kullanarak bucket'ımıza dosyalarımızı hızlı bir şekilde yüklemiş olacağız.
Events : AWS bucket üzerinde yapılan bir işlemin, bir başka işlemi tetiklemesini istiyorsak bu seçeneği kullanabiliriz.
Requester Pays : Enable dediğimiz zaman, bucket'ımızda bir obje çağıran farklı bir kullanıcıya download ücretini yansıtır. Fakat enable durumda objeler public durumda olmayacaktır.

S3 Bucket Permissions

Access Control List : Bucket'a kimlerin erişmesi gerekiyorsa buradan ilgili ayarları yapabiliyoruz.
Bucket Policy : Bucket erişiminde IP kısıtlaması yapabiliriz. Kullanıcı bazlı erişim izinleri oluşturabiliriz.
Cors Configuration : Örnek olarak bir web sitemiz var, ve bu web sitemiz bir dosyayı AWS bucket üzerinde barındırıyoruz. İstek AWS bucket'a geldiğinde bu isteğin izin verilip, verilmeyeceğine bu seçenek ile karar veririz.
Public Access Settings : Bucket policy ve Access control list'de eklediğimiz kuralların aktif etmek istersek burayı seçmiyoruz. Kuralların devre dışı kalmasını istiyorsak seçmemiz gerekiyor. Bucket'ı dış dünyaya erişimi ile ilgili ayarı buradan yapıyoruz.

S3 Management

Lifecyle : Burada dosyaların barındığı storage class'ların belirttiğimiz zamanlarda değişmesini istersek, buradan kurallar oluşturabiliyoruz. Dilersek eski ve ya yeni versiyonların silinmesi için kurallarda yazabiliriz.
Replication : Örnek olarak iki bucket'ımız var, biz dosyaları birine upload ediyoruz. Fakat eğer istersek bu bucket'da olan dosyaları diğer bucket'ımızla replike edebiliriz. Avantajları ; Yedeklilik, Yüksek erişim hızı: kullanıcı hangi bucket'a daha yakın ise o bucket üzerinden dosyaları indirip, yükleyebilir.
Analytics : Binlerce dosyamızın analizini yapabiliriz. Storage class'larını hangileri olduğunu vb..
Metrics : Bucket içerisinde bulunan ne kadar objemiz ve boyutların ne kadar olduğunu görebiliriz. Ne kadar istek geldiğini ve dışarı aktarılan dosya boyutunu görebiliriz.
Intentory : Dosyalarımızın detaylı bir listesini çıkarmamızı sağlıyor.
aws-cli : Arayüzden yapabildiğimiz her işi komut satırı arayıcılığıyla yapmamızı sağlar. aws-cli ile hesabımıza bağlanmak için kullanıcının access key id ve secret access key dosyaları gereklidir.
Glacier : Çok nadir eriştiğimiz dosyaların saklamak için en uygun storage class'dır. Dosyaları saklayıp, arşivleyebiliriz.

Update

  • Bucket yaratılırken, (Copy Settings from existing bucket) seçeneği ile daha önce yaratılmış bir bucket ayarlarını kullanabiliyoruz.
  • Bucket oluştururken Advanced Settings altında, object lock özelliği mevcut, bu özellik objelerimizin silinmesini engelleyen bir özelliktir.
  • Bucket URL yapısı güncellendi.
  • Bucket özelliklerine ek, intellgnt-tiering archive configurations özelliği geldi, (Tier) bu tier, standart ve standart AI arasında bir köprü olarak düşünebiliriz. Bu tier seçer dosyamızı yükleriz. Dosya erişim isteklerine göre, AWS bu bucket üzerindeki objelerimizi standart ve standart IA arasına otomatik olarak saklar. (Ne kadar çok istek varsa standart 'a atar, az istek varsa Standart IA 'ya alır) Dilersek bucket properties 'de bu dosyaları istek sayısı azaldıkça glacier 'gibi düzük ücretli bir tier 'a geçirilmesini isteyebiliriz.
  • Archive Access tier : 90 gün erişilmeyen dosyaları arşive gönder. vb. Günü kendimiz belirileyebiliriz.
  • Deep Arcihe Access Tier : Daha uygun bir tier.
  • Event noti. ile bucket ile ilgili işlemleri (aksiyon olduğunda) başka bir işlemi tetikletmesi gibi kurallar yazabiliriz.
  • Storage class analys ile bucket ilgili tüm analizi çıkarıp farklı bir bucket 'a gönderebiliriz.
  • Inventory configuration, bucket içerisinde bulunan dosyaların bulunduğu ve özelliklerin bulunduğu csv dosyasını görüntüleyebiliriz.
  • Acces-point, Bucket'ımıza erişen her uygulama, kullanıcı adı vb, durumlar için yeni arn oluşturup. Ayrı ayrı policyler tanımlayabiliriz. istersek sadece vpc'den erişimi seçebiliriz.
  • Object Lambda Access Point : Bucket'a istek gönderdiğimizde yani bucket'dan bir obje çağırdığımızda obje'ye göre bir lambda fonksiyonu tetikleyebiliriz. (yeni bir arn oluşturabiliriz)
  • Örneğin, istenilen bir objeyi ziplenmiş olarak çekebiliriz.
  • Batch Operations : Bucket üzerinde bulunan tüm objeler için ortak bir işlem yapmamızı sağlar. örn, kopyala,restore vb.
  • Access Analyzer S3 : Erişim ile ilgili logları IAM 'de yapılandırdıktan sonra burada görüntüleyebiliriz.
  • Storage Lens: S3 üzerinde bulunan tüm dosyaların, tüm bucketların grafiksel istatisliğini sunuyor. (ne kadar kullanım vb var)