S3 bir object store dur ve internete açıktır. Bu nedenle unique bir adresi olmak zorundadır.
S3 içinde ki objelere ait 3 özellik vardır.
- Key : obje adi
- VersionID
- Value : Objenin kendisi
Bunlara ek olarak
- metadata
- subresources
- access control information
EC2 instancelarmızıda bağlayabiliriz bunun için arada “internet gateway” kullanmamız gerekir
Private IP ile erişmek için “S3 Gateway Endpoint” de kullanabiliriz.
Bir bucket oluşturmak “pretty straight forward” dolayısıyla okuyup geçiyoruz. Yer latency açısından önemli ve versioning i açtık.
File upload ederken “Storage class” diye bir bölüm var.
Burada hangi dosyaya nasıl erişebileceğimizi aslında nasıl saklandığını belirliyoruz. Policy ile değiştirmekte mümkün.
Herhangi bir dosya upload ettikten sonra o dosyaya tıkladığımızda yeni bir sayfada o dosyanın özellikleri geliyor.
Burada “object URL” e tıklarsak dosyayı göremiyoruz ve hata mesajı ile karşılaşıyoruz çünkü erişim yetkisi vermedik.
Sonra Bucket permission dan erişimi açıyoruz
Confirm ettikten sonra allta “Bucket Policy” ye Json formatında aşağıda ki gibi bilgiyi giriyoruz.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Principal": {
"AWS": "*"
},
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::anothertrainingbucket/*"
}
]
}
Artık dosyamız linki olan herkes tarafından görülebilir. Public access e izin vermiş oluyoruz.
NOT : Eğer Bucket silerken hata alıyorsak muhtemelen policyde S3:delete gibi bir statement vardır. Ya bu satırı yada policy i silmemiz gerekir.