Yaklaşık 10 dakika
Amazon S3 ile Aktar nasıl kullanılır
Amazon S3, nesne depolamanın ilk örneğidir ve Aktar'ın Amazon S3 hazır ayarıyla çalışır. Dikkat isteyen tek kısım herkese açık erişimdir: S3 bunu varsayılan olarak engeller, bu yüzden ya herkese açık okuma için bir bucket policy eklersin ya da bucket'ın önüne CloudFront koyarsın.
Neye ihtiyacın var
- Bir AWS hesabı
- S3 bucket'ı ve IAM kullanıcısı oluşturma yetkisi
- Mac'inde kurulu Aktar
Adım adım
- 1
Bir bucket oluştur
S3 konsolunda Create bucket'a tıkla, dünya genelinde benzersiz bir ad ve sana en yakın bölgeyi seç, örneğin
eu-central-1. Varsayılan "Bucket owner enforced" nesne sahipliğini koruyabilirsin: Aktar ACL kullanmaz. - 2
Herkese açık okumaya izin ver
A seçeneği, bucket policy: bucket'ın Permissions sekmesinde, herkese açık bucket policy'lerini engelleyen "Block public access" ayarlarını kapat, ardından şu bucket policy'yi ekle (
YOUR-BUCKETkısmını değiştir):{ "Version": "2012-10-17", "Statement": [{ "Sid": "PublicRead", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET/*" }] }B seçeneği, CloudFront: bucket'ı gizli tut ve kaynağı (origin) bucket olan bir CloudFront dağıtımı oluştur (Origin Access Control kullanarak). Bu sana özel alan adında HTTPS ve önbellekleme sağlar.
- 3
Aktar için bir IAM kullanıcısı oluştur
IAM'de bir kullanıcı oluştur ve ona yalnızca Aktar'ın o bucket üzerinde ihtiyaç duyduğu işlemlere izin veren bir policy ekle:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::YOUR-BUCKET" }, { "Effect": "Allow", "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"], "Resource": "arn:aws:s3:::YOUR-BUCKET/*" } ] }Ardından kullanıcı için bir access key oluştur ve Access Key ID ile Secret Access Key değerlerini kopyala.
- 4
Hedefi Aktar'a ekle
Settings → Destinations → Add Destination'da Amazon S3'ü seç ve aşağıdaki değerleri gir. Uç nokta ve bölge, bucket'ın bölgesiyle eşleşmelidir.
- 5
Test et ve kaydet
Bucket'a yazılabildiğini ve herkese açık URL'nin dosya sunduğunu doğrulamak için Test Connection'a, ardından Save'e tıkla.
Aktar ayarları
Bu değerleri Settings → Destinations → Add Destination bölümüne gir. Alan adları uygulamadakiyle aynıdır.
| Alan | Örnek değer |
|---|---|
| Provider | Amazon S3 |
| Endpoint | https://s3.eu-central-1.amazonaws.comBucket'ının bölgesini kullan. |
| Region | eu-central-1 |
| Access Key ID | AKIA…IAM kullanıcısından. |
| Secret Access Key | •••••••• |
| Bucket | your-bucket |
| Public Base URL | your-bucket.s3.eu-central-1.amazonaws.comYa da CloudFront alan adın. |
İpuçları
- Bağlantıları herkese açık paylaşıyorsan özel alan adıyla CloudFront'u tercih et: önbellekleme kazanırsın ve bucket'ın kendisini gizli tutabilirsin.
- IAM policy'sini tek bir bucket'la sınırla. Aktar hiçbir zaman hesap genelinde yetkiye ihtiyaç duymaz.
- Daha hızlı yüklemeler için sana yakın bir bölge seç; CDN kullanmıyorsan izleyicilerine de yakın olsun.
Sorun giderme
Test Connection bölge ya da yönlendirme (redirect) ile ilgili bir hata veriyor
Uç nokta ve bölge, bucket'ın oluşturulduğu bölgeyle eşleşmelidir; örneğin https://s3.eu-central-1.amazonaws.com ile eu-central-1.
Yüklemeler Access Denied ile başarısız oluyor
IAM kullanıcısının YOUR-BUCKET/* üzerinde s3:PutObject, bucket'ın kendisi üzerinde ise s3:ListBucket iznine ihtiyacı var.
Bağlantılar 403 döndürüyor
Bucket policy eksik ya da hâlâ "Block public access" tarafından engelleniyor, veya CloudFront bucket'ı okuyamıyor. Bkz. Access Denied hataları.
Hâlâ takıldın mı?SSS'ye göz at ya da GitHub'da sor.