Amazon S3 – Simple Storage Servis

Amazon S3 AWS’nin nesne tabanlı depolama servisidir. Amazon S3 verileri bucket (kova) içinde nesne olarak depolar.Bir nesne bir dosyadan veya bu dosyayı tanımlayan bir meta veriden oluşabilir.S3 servisi block tabanlı bir depolama servisi olmadığı için S3 üzerinden işletim sistemi kurulumları yapılamaz. Sadece klasör ve dosya olarak objeler depolanabilir. Dropbox veya GoogleDrive gibi düşünebiliriz.

Amazon S3 Nesne Özellikler:

Amazon S3 Storage Classes (Sınıfları):

S3 Fiyatlandırılması :

S3 serviside diğer tüm AWS servisleri gibi size önceden bri maliyet çıkartmaz ve sadece kullandığınız kadar ücret ödemenizi sağlar bu yüzden bir başlangıç maliyeti yoktur. Amazon S3 servisini fiyatlandırırken 3 temel metrik üzerinden hesaplar

Amazon S3 servisinin güncel fiyatlama toplası aşağdaki gibidir. Regionlar arasında fark olabilir biz Avrupa’da kurulan ilk Region olan İrlanda’nın fiyat listesini görüntüledik.

AMAZON S3 UYGULAMA1

Amazon S3 detaylı olarak uygulamadan önce basit bir Bucket (Kova) oluşturalım ve içine dosya atarak bazı özelliklerine bakalım. Objeler AmazonS3’te Bucketler içinde depolanır.

Services menüsünden Storage menüsüne gelerek S3 seçebiliriz veya Find Services alanındna S3 yazarak artıp seçebiliriz. Services altında Storage gelip buradan Amazon S3 seçiyoruz.

Create bucket seçerek Bucket oluşturmaya başlıyoruz.

Şimdi oluşturduğumuz Bucket’ı seçerek içindeki Upload seçeneğini kullanarak S3 Bucket’ımıza bir kaç dosya depolayalım

Upload’ı seçtiğimizde kaşrımıza çıkan ekranda bir uyarı ile karşılaşacağız. “ To upload a file larger than 160 GB, use the AWS CLI, AWS SDK, or Amazon S3 REST API” bu mesajda yükleyeceğimiz dosya 160GB’den büyükse bunun için AWS CLI,AWS SDK veya S3 REST API kullanmamızı öneriyor. Add files diyerek S3 Bucket’ımıza yükleyeceğimiz dosyaları seçiyoruz.

Npam ve Kali ile ilgli iki dokümanı seçtikten sonra Open diyoruz ve upload ekranına dönüyoruz. Seçmiş olduğumuz dosyalar eklenmiş oldu şimdi Next diyerek Set permissions geçiyoruz.

Set permissions’da bu dosyalar kimlerin erişeceğini belirliyoruz. Dosyaları biz yüklediğimiz için Owner olarak bizim Read ve Write hakkımız otomatik olarak geliyor. Access for other AWS account seçeneğinden farklı bir AWS hesabına erişim verebiliyoruz. Bu kısımda yetki verirken “arn” kullarak yetki vermemiz gerekiyor bu kısma bir sonraki uygulamada detaylı olarak anlatacağız. Manage public permissions “Grand public read access to this object(s)” seçerek dış dünyaya sadece okuma yetkisiyle bu objeleri açmış oluyoruz. Permissions işlemlerini tamamladıktan sonra next diyerek Set properties geliyoruz.

Set properties seçeneğinde bu objeler için uygun olan S3 Depolama sınıfını seçiyoruz. Bu dosyaya erişim sıklığı, kritikliği,saklama süresi gibi seçnekler gözönüne alınarak bizim için en uygun depolama sınıfını seçiyoruz. Biz S3 Standard’ı seçip Next diyerek Review geliyoruz.

Review’de seçimlerimizin özetini gördükten sorna Upload diyerek dosyalarımızı “karatekin-it-23” isimli Bucket’ımıza yüklüyoruz.

Upload işleminde sonra dosyalarımızın Bucket’a yüklendiğini görüyoruz. Bu objelere dış dünyadan erişime açmıştık şimdi dış dünyadan bu dosyalar erişip erişmediğimizin kontrolünü yaptıktan sonra basit oalrak Bucket oluşturma ve dosya yükleme konumuzu tamamlamış olacağız.

Kali ile ilgli yüklediğimiz dosyamıza dış dünyadan erişmek için dosyaye clickliyoruz. Dosya ile igli tüm özellikler karşımıza geliyor ve en altta yer alan Object URL ile bu dosayaa dış dünyadan erişebiliriz. Burada ayrıca Amazon S3 ün URL için kullandığı standar isimlendirmeyide görmüş oluyoruz. URL oluşturuken “BucketAdı.S3-Regionadı.amazonaws.com” olarak adlandırıp oluşturur.

Bucket adımız: karatekin-it-23

Servis alındığı Region: s3-eu-west-1 (İrlanda regionın kodu eu-west-1)

https://karatekin-it-23.s3-eu-west-1.amazonaws.com/Kali_Revealed_1st_edition.pdf

Url browserdan açtığımızda dosyanın içeriğine erişmiş oluyoruz. Böylece AmazonS3’te bucket oluşturma, bucketa dosya yükleme ve dış dünya ile paylaşmayı basit olarak görmüş olduk.

AMAZON S3 UYGULAMA2

Uygulamamıza başlamadan önce ARN’dan (Amazon Resource Name) bahsedeceğim. ARN AWS kaynaklarını benzersiz bir şekilde tanımlar. IAM politikaları, Amazon İlişkisel Veritabanı Hizmeti (Amazon RDS) etiketleri ve API çağrıları gibi tüm AWS’de net bir kaynak belirtmeniz gerektiğinde ARN’ye ihtiyacımız var. Servisler bir biriyle konuşurken özellikle ARN ihtiyaç duyar.

Amazon S3’de Bucket’tan ARN almanın en kolay yolu ilgili Bucket’ın simgesine (ismine değil) clikledikten sonra sağ üstte Copy ARN demek yeterlidir. Bizim oluşturudğumuz “karatekin-it-23” Bucket’ın ARN tanımı “ arn:aws:s3:::karatekin-it-23” şeklindedir.

BUCKET’A DEPOLANAN OBJELERIN OZELLIKLERI

Uygulamamızda öncelikle Bucket’a yüklediğimiz objemizin özelliklerine bakacağız. Kali_Revealed_1st_edition.pdf clicklediğimizde aşağıdaki seçenekler karışımıza gelmektedir. Overview alanında objemiz hakkında en son değiştirilme zamanı, hangi storage classta depolandığı, objenin boyutu ve dışarıdan erişim URL görebilioruz. Şimdi Properties seçeneğine göz atalım.

PROPERTIES

Properties seçeneğinde karşımıza Storage class, Encrytion, Metadata,Tags ve Object lock seçenekleri gelemektedir. Bu seçeneklere tek tek göz atalım.

PERMISSIONS

Objenin permissions seçeneklerine;

SELECT FROM

S3 Select ile SQL ifadelerini kullanarak tek bir CSV veya JSON dosyasından kayıtları çıkarabilirsiniz. AmazonS3 bu yönde gelen yoğun talepler sonucunda S3’te depolnana logdosyaları, cvs ve json dosyalarında sorgulama yapmaya olanak sağlamıştır.

BUCKET’IN OZELLIKLERI

Objenin özelliklerini gördükten sonra şimdide Bucket’ın özelliklerini ve neleri yapabileceğimize gözatacağız.

OVERVIEW

Bucket’a doya upload ettiğimiz, klasör oluşturduğumuz ve bucket’a yüklenen dosyaları görüntülediğimiz alandır. Actions ile seçilen objeyle ilgili işlemler yapılır. Örneğin objenin boyutu, özelliklerinin değiştirilmesi, download edilmesi gibi.

PROPERTIES

Oluşturuduğumuz Amazon S3 Bucket’ına ekleyebileceğimiz özellikleri yönettiğimiz yerdir. Biz işlemlerimizi oluşturmuş olduğumuz “karatekin-it-23” isimli Bucket için yapıyoruz.

Log dosyalarımız oluştur ve log için oluşturduğumuz bucket’a yazılmaya başladı. Hemen alta yazılan bir log dosyasının içeriğini bulabilirsiniz.

Sayfamız başarılı bir şekilde yayınlandı.

MANAGEMENT

Name and scope: Bu alanda lifecycle kuralımız için bir isim veriyoruz. Choose a rule scope seçeneklerinden Limit the scope specific prefixes or tags seçeneğini seçersek belirlediğimiz öndeğerler(prefix) ve etiketleri(tags) taşıyan objeler için bu kuralı uygular. Apply to all objects in the bucket seçersek Bucket içinde bulunan tüm objelere bu kuralı uygular. Biz Apply to all objects in the bucket seçerek next diyoruz.

Transitions : Objelerin hangi versiyonlarının hangi storage katmanlarına taşınacağını burada belirliyoruz. Biz Current version (şuandaki versiyon) için oluşturulduktan 45 gün sonra S3 Standard-IA’e taşımasını, Previous versions ( geçmiş versiyonlar) için de oluştuktan 90 gün sonra S3 One Zone-IA’e taşınması için ayarlamamızı yaptık. Bucket içindeki tüm objeler bu kuralla göre ilgili katmanlara taşınarak maliyetimizi optimize etmiş olacağız. Next diyerek Expiration seçeneğine geçiyoruz.

Expiration: Objelerin Current ve Previous versiyonları için belirlediğimiz sürlerden sonra objelerin silinmesi için gerekli ayarlamaları yapıyoruz. Biz Current version için objenin oluşturma tarihinden itibaren 410 gün geçmişe silinmesi, aynı şekilde Previous versions içinde 455 gün sonra silinmesi için ayarıız yaptık. Clean up expired seçeneğinde eğer tamamlanmamış multipart uploadlar varsa ve üzerinden 15 gün geçmişse bunlarında silinmesi için gerekli ayarı yaptık. Clean up expired object delete markers ise disable durumda çünkü Current versionları silmek için ayar yaptığımız için delete markerslarda siliniyor olacak. Next diyeren Review geliyoruz.

Review: Tanımlarımızın bir özetini gödükten sonra bu kuralın Bucket içindeki tüm objelere uygulanacağını anladığımızı belirten onayıda verip save diyoruz.

Böylece karatekin-it-23 Bucket’ı için bir Lifecycle kuralı tanımlaış olduk.

Exit mobile version