Sekitar 10 menit
Cara mengunggah file ke Amazon S3 dan membagikan tautan publik
Amazon S3 adalah object storage generasi pertama dan bisa dipakai dengan preset Amazon S3 di Aktar. Satu-satunya bagian yang perlu perhatian adalah akses publik: S3 memblokirnya secara default, jadi Anda perlu menambahkan bucket policy untuk akses baca publik atau menaruh CloudFront di depan bucket.
Yang Anda butuhkan
- Akun AWS
- Izin untuk membuat bucket S3 dan pengguna IAM
- Aktar yang sudah terinstal di Mac Anda
Langkah demi langkah
- 1
Buat bucket
Di konsol S3, klik Create bucket, pilih nama yang unik secara global dan wilayah yang paling dekat dengan Anda, misalnya
eu-central-1. Anda bisa membiarkan object ownership default “Bucket owner enforced”: Aktar tidak memakai ACL. - 2
Izinkan akses baca publik
Opsi A, bucket policy: di tab Permissions bucket, matikan pengaturan “Block public access” yang memblokir bucket policy publik, lalu tambahkan bucket policy berikut (ganti
YOUR-BUCKET):{ "Version": "2012-10-17", "Statement": [{ "Sid": "PublicRead", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET/*" }] }Opsi B, CloudFront: biarkan bucket tetap privat dan buat distribusi CloudFront dengan bucket sebagai origin (memakai Origin Access Control). Dengan begitu Anda mendapat HTTPS di domain kustom sekaligus caching.
- 3
Buat pengguna IAM untuk Aktar
Di IAM, buat pengguna dan pasang policy yang hanya mengizinkan apa yang dibutuhkan Aktar di bucket tersebut:
{ "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/*" } ] }Lalu buat access key untuk pengguna tersebut dan salin Access Key ID serta Secret Access Key-nya.
- 4
Tambahkan tujuan di Aktar
Di Pengaturan → Tujuan → Tambah Tujuan, pilih Amazon S3 dan masukkan nilai-nilai di bawah. Endpoint dan wilayah harus sesuai dengan wilayah bucket.
- 5
Uji dan simpan
Klik Uji Koneksi untuk memastikan bucket bisa ditulisi dan URL publik menyajikan file, lalu klik Simpan.
Pengaturan di Aktar
Masukkan nilai-nilai ini di Pengaturan → Tujuan → Tambah Tujuan. Nama kolomnya sama dengan di aplikasi.
| Kolom | Contoh nilai |
|---|---|
| Penyedia | Amazon S3 |
| Endpoint | https://s3.eu-central-1.amazonaws.comGunakan wilayah bucket Anda. |
| Wilayah | eu-central-1 |
| ID Kunci Akses | AKIA…Dari pengguna IAM. |
| Kunci Akses Rahasia | •••••••• |
| Bucket | your-bucket |
| URL Dasar Publik | your-bucket.s3.eu-central-1.amazonaws.comAtau domain CloudFront Anda. |
Tips
- Pilih CloudFront dengan domain kustom jika Anda membagikan tautan secara publik: Anda mendapat caching dan bucket-nya sendiri bisa tetap privat.
- Batasi policy IAM ke satu bucket saja. Aktar tidak pernah membutuhkan izin untuk seluruh akun.
- Pilih wilayah yang dekat dengan Anda agar unggahan lebih cepat, dan dekat dengan audiens Anda jika tidak memakai CDN.
- Untuk unggahan yang menghapus dirinya sendiri, pengguna IAM juga memerlukan
s3:GetLifecycleConfigurationdans3:PutLifecycleConfigurationpada bucket, atau Anda menambahkan aturan siklus hidupnya sendiri. Lihat unggahan yang kedaluwarsa.
Pemecahan masalah
Uji Koneksi melaporkan galat tentang wilayah atau pengalihan
Endpoint dan wilayah harus sesuai dengan wilayah tempat bucket dibuat, misalnya https://s3.eu-central-1.amazonaws.com dengan eu-central-1.
Unggahan gagal dengan Access Denied
Pengguna IAM memerlukan s3:PutObject pada YOUR-BUCKET/* dan s3:ListBucket pada bucket itu sendiri.
Tautan menampilkan 403
Bucket policy belum ada atau masih diblokir oleh “Block public access”, atau CloudFront tidak bisa membaca bucket. Lihat galat Access Denied.
Masih buntu?Lihat FAQ atau tanyakan di GitHub.