AWS Türkçe Blog

Amazon S3 Express One Zone yüksek performanslı depolama sınıfını duyuruyoruz

Orijinal makale: Link (Jeff Barr)

Yeni Amazon S3 Express One Zone depolama sınıfı, S3 Standard depolama sınıfından 10 kata kadar daha iyi performans sunarken, saniyede yüz binlerce isteği tutarlı olarak tek haneli milisaniye gecikme süresiyle işleyerek en sık erişilen verileriniz ve en zorlu uygulamalarınız için mükemmel bir seçimdir. Nesneler, tek bir AWS Erişilebilirlik Alanı içinde amaca yönelik olarak oluşturulmuş donanım üzerinde depolanır ve replike edilir, bu da gecikmeyi daha da azaltmak için depolama ve bilgi işlem (Amazon EC2, Amazon ECS ve Amazon EKS) kaynaklarını birlikte konumlandırmanıza olanak tanır.

Amazon S3 Express One Zone

İşlem ve depolama arasındaki çok düşük gecikme süresiyle Amazon S3 Express One Zone depolama sınıfı, özellikle yapay zeka/makine öğrenimi, finansal modelleme, medya işleme, gerçek zamanlı reklam yerleştirme, yüksek performanslı bilgi işlem ve benzeri alanlarda büyük miktarda veriyi işlemek için yüzlerce veya binlerce paralel işlem düğümü kullanan veri yoğun uygulamalar için çalışma süresinde önemli bir azalma sağlamaya yardımcı olabilir. Bu uygulamalar genellikle verileri nispeten kısa bir süre için saklar, ancak bu süre zarfında verilere çok sık erişir.

Bu yeni depolama sınıfı her boyuttaki nesneyi işleyebilir, ancak özellikle daha küçük nesneler için mükemmeldir. Bunun nedeni, daha küçük nesneler için ilk bayta ulaşma süresinin son bayta ulaşma süresine çok yakın olmasıdır. Tüm depolama sistemlerinde, daha büyük nesnelerin aktarımı daha uzun sürer çünkü aktarım sırasında indirilecek daha fazla veri vardır ve bu nedenle depolama gecikmesinin nesneyi okumak için toplam süre üzerinde daha az etkisi vardır. Sonuç olarak, daha küçük nesneler büyük nesnelere kıyasla daha düşük depolama gecikmesinden daha fazla yararlanır. S3 Express One Zone’un tutarlı ve çok düşük gecikme süresi sayesinde küçük nesneler S3 Standard’a kıyasla 10 kata kadar daha hızlı okunabilir.

Amazon S3 Express One Zone tarafından sağlanan son derece düşük gecikme süresi, S3 Standart depolama sınıfına göre %50 daha düşük olan istek maliyetleriyle birleştiğinde Spot ve On-Demand işlem kaynaklarınızın daha verimli kullanılması ve daha erken kapatılabilmesi anlamına gelir, bu da genel olarak işlem maliyetlerinde bir azalmaya yol açar.

Her Amazon S3 Express One Zone dizin klasörü (directory bucket), seçtiğiniz tek bir Kullanılabilirlik Bölgesinde bulunur ve olağan S3 API işlevleri kullanılarak erişilebilir: CreateBucket, PutObject, GetObject, ListObjectsV2 ve benzerleri. Klasörler ayrıca bayt aralığı getirme (byte-range fetches), çok parçalı yükleme (multi-part upload), çok parçalı kopyalama (multi-part copy), presigned URL‘ler ve S3 için Access Analyzer gibi özenle seçilmiş bir dizi S3 özelliğini de destekler. Nesneleri doğrudan yükleyebilir, CopyObject kullanan kod yazabilir veya S3 Batch Operations kullanabilirsiniz,

Gecikmeyi azaltmak ve bu depolama sınıfını mümkün olduğunca verimli ve ölçeklenebilir hale getirmek için yeni bir klasör türü, yeni bir kimlik doğrulama modeli ve bir klasör adlandırma kuralı sunuyoruz:

Yeni klasör türü – Yeni dizin klasörleri (directory buckets) bu depolama sınıfına özgüdür ve saniyede yüz binlerce isteği destekler. Hiyerarşik bir ad alanına sahiptirler ve nesne anahtar adlarını dizin benzeri bir şekilde depolarlar. Yol ayracı (path delimiter) “/” olmalıdır ve ListObjectsV2‘ye verdiğiniz tüm önekler bir ayraçla bitmelidir. Ayrıca, liste işlemleri sonuçlarını sıralamadan döndürür, bu nedenle “sonra başlat” (start after) erişimi yapamazsınız.

Yeni kimlik doğrulama modeli – Yeni CreateSession işlevi, belirli bir klasöre beş dakika boyunca erişim sağlayan bir oturum belirteci döndürür. IAM kimlik bilgileri gerektiren CopyObject dışında, klasör veya içindeki nesneler üzerinde çalışan diğer S3 API işlevlerine yaptığınız isteklere bu belirteci eklemeniz gerekir. AWS SDK’larının en yeni sürümleri oturum oluşturma işlemini otomatik olarak gerçekleştirir.

Klasör adlandırma – Dizin klasör isimleri kendi AWS Bölgeleri içinde benzersiz olmalı ve özel olarak oluşturulmuş bir son ek içerisinde Erişilebilirlik Alanı (Availability Zone) Kimliği belirtmelidir. Temel klasör ismim jbarr ise ve use1-az5 Erişilebilirlik Alanı’nda (ABD Doğu (N. Virginia) Bölgesi’ndeki 5. Erişilebilirlik Alanı) bulunuyorsa CreateBucket‘a vereceğim isim jbarr--use1-az5--x-s3 olacaktır. Klasör belirli bir Erişilebilirlik Alanı içinde bulunsa da bölgedeki diğer alanlardan erişilebilir ve bir Erişilebilirlik Alanı’ndaki işlem kaynaklarından aynı bölgedeki başka bir dizin klasörüne yapılan istekler için veri aktarım ücreti alınmaz.

Amazon S3 Express One Zone kullanımı
Şimdi bu yeni depolama sınıfını kullanalım. Ben komut satırına odaklanacağım ancak AWS Management Console ve API erişimi de bulunuyor.

EC2 sunucum us-east-1f Erişilebilirlik Alanı’nda çalışıyor. Bu değeri bir Erişilebilirlik Alanı Kimliği ile eşlemek için jq kullanıyorum:

aws ec2 describe-availability-zones --output json | \
  jq -r  '.AvailabilityZones[] | select(.ZoneName == "us-east-1f") | .ZoneId'
use1-az5

Bir klasör yapılandırması (s3express-bucket-config.json) oluşturuyorum ve Id’yi ekliyorum:

{
        "Location" :
        {
                "Type" : "AvailabilityZone",
                "Name" : "use1-az5"
        },
        "Bucket":
        {
                "DataRedundancy" : "SingleAvailabilityZone",
                "Type"           : "Directory"
        }
}

AWS Komut Satırı Arayüzünün (AWS CLI) en yeni sürümünü yükledikten sonra dizin klasörümü oluşturuyorum:

$ aws s3api create-bucket --bucket jbarr--use1-az5--x-s3 \
  --create-bucket-configuration file://s3express-bucket-config.json \
  --region us-east-1
-------------------------------------------------------------------------------------------
|                                       CreateBucket                                      |
+----------+------------------------------------------------------------------------------+
|  Location|  https://jbarr--use1-az5--x-s3.s3express-use1-az5.us-east-1.amazonaws.com/   |
+----------+------------------------------------------------------------------------------+

Daha sonra dizin klasörünü her zamanki gibi diğer CLI komutları için hedef olarak kullanabilirim (ikinci aws, AWS CLI’yı çıkardığım dizindir):

$ aws s3 sync aws s3://jbarr--use1-az5--x-s3

Dizin klasörünün içeriğini listelediğimde, StorageClass‘ın EXPRESS_ONEZONE olduğunu görüyorum:

$ aws s3api list-objects-v2 --bucket jbarr--use1-az5--x-s3 --output json | \
  jq -r '.Contents[] | {Key: .Key, StorageClass: .StorageClass}'
...
{
  "Key": "install",
  "StorageClass": "EXPRESS_ONEZONE"
}
...

S3 için Yönetim Konsolu, Genel amaçlı klasörleri ve Dizin klasörlerini ayrı sekmelerde gösterir:

Yukarıda görüldüğü gibi Import (İçe Aktar) butonunu kullanarak mevcut bir klasörün içeriğini (veya içeriğin önceden eklenmiş bir alt kümesini) bir dizin klasörüne aktarabilirim. Bir kaynak klasörü seçiyorum, Import’a tıklıyorum ve kaynak klasörün envanterini oluşturmak ve bir S3 Batch Operations işi oluşturmak için kullanılacak parametreleri giriyorum.

İş oluşturulur ve yürütülmeye başlar:

Bilinmesi gerekenler
Bu yeni S3 depolama sınıfı hakkında bilmeniz gereken bazı önemli noktalar şunlardır:

Bölgeler – Amazon S3 Express One Zone, ABD Doğu (N. Virginia), ABD Batı (Oregon), Asya Pasifik (Tokyo) ve Avrupa (Stockholm) Bölgelerinde mevcuttur ve zaman içinde diğer bölgelere de genişletilmesi planlanmaktadır.

Diğer AWS Servisleri – Makine öğrenimi ve analitik iş yüklerinizi hızlandırmak için Amazon S3 Express One Zone’u Amazon SageMaker Model Training, Amazon Athena, Amazon EMR ve AWS Glue Data Catalog gibi diğer AWS servisleriyle birlikte kullanabilirsiniz. S3 nesnelerinizi dosya odaklı bir şekilde işlemek için Amazon S3 için Mountpoint‘i de kullanabilirsiniz.

Fiyatlandırma – Fiyatlandırma, diğer S3 depolama sınıfları gibi kullandıkça öde esasına dayanır. ABD Doğu (N. Virginia) Bölgesi’nde her nesne için bir saatlik minimum faturalandırma süresi ve belirli istek türleri için ek ücretlerle birlikte ayda 0,16 ABD doları/GB ödersiniz. Herhangi bir isteğin 512 KB’ı aşan kısmı için GB başına ek bir ücret ödersiniz. Daha fazla bilgi için Amazon S3 Fiyatlandırma sayfasına bakın.

Dayanıklılık – Bir AWS Erişilebilirlik Alanının tamamının veya bir kısmının kaybolması ya da hasar görmesi gibi beklenmedik bir durumda, One Zone depolama sınıfındaki veriler kaybolabilir. Örneğin, yangın ve su hasarı gibi olaylar veri kaybına neden olabilir. Bu tür olayların dışında One Zone depolama sınıflarımız, nesneleri bağımsız disk, host ve kabin düzeyindeki arızalardan korumak için Bölgesel depolama sınıflarımızla benzer mühendislik tasarımlarını kullanır ve her biri %99,999999999 veri dayanıklılığı sunacak şekilde tasarlanmıştır.

SLA – Amazon S3 Express One Zone, %99,9 kullanılabilirlik SLA’sı ile %99,95 erişilebilirlik sağlamak üzere tasarlanmıştır; bilgi için Amazon S3 Hizmet Düzeyi Sözleşmesi sayfasına bakın.

Bu yeni depolama sınıfı artık mevcut ve bugün kullanmaya başlayabilirsiniz!