16/02/2022

AWS S3

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.

Leave a Reply