Hai, kali ini saya ingin membagikan tutorial bagaimana cara penggunakan s3 bucket, sebenarnya artikel ini dibuat tidak hanya membagi ilmu tetapi sebagai direktori saya pribadi apa telah saya pelajari saya catat agar dikemudian hari ketika saya lupa saya bisa membaca halaman ini kembali (ya semoga aja masih mengerti :D), oke mari kita simak penjelasannya dibawah ini.
AWS S3 Bucket atau biasa dikenal dengan Amazon S3 Bucket merupakan penyimpanan untuk internet. Anda dapat menggunakan Amazon S3 untuk menyimpan dan mencari sejumlah data, kapan pun, dari mana pun pada web. Anda bisa menyelesaikan tugas ini menggunakan AWS Management Console, yang merupakan antarmuka web yang simpel dan intuitif.
Untuk memanfaatkan Amazon S3 dengan maksimal, Anda perlu memahami beberapa konsep sederhana. Amazon S3 menyimpan data sebagai objek dalam bucket. Objek terdiri dari file dan secara opsional metadata apa pun yang menjelaskan file itu. Untuk menyimpan objek di Amazon S3, Anda mengunggah file yang ingin disimpan ke bucket. Ketika mengupload file, Anda dapat menetapkan izin di objek dan metadata mana pun. (copas dari aws)
Bucket adalah kontainer untuk objek. Anda dapat memiliki satu bucket atau lebih. Untuk setiap bucket, Anda dapat mengontrol akses di sana (yang bisa membuat, menghapus, dan mendaftar objek di bucket), melihat catatan akses untuk bucket tersebut dan objeknya, dan memilih wilayah geografis tempat Amazon S3 akan menyimpan bucket dan kontennya.(copas dari aws)
Bingung ?
Begini, anggap saja Bucket = Keranjang dan Objek = Apel, nah sampai disini sudah paham ? jika belum paham coba ulang baca dari atas pelan-pelan dan dipahami sedikit demi sedikit. Jika sudah konsepnya seperti ini, apabila anda ingin membeli apel jumlah tertentu dan berbagai jenis (Apel Merah, Apel Hijau, Apel Kuning, Dsb) tentunya anda membutuhkan keranjang dan tidak mungkin anda hanya menggunakan tangan bukan ? Kemudian, penerapan konsep dalam amazon yaitu ketika kita mempunyai 1 website dan kita memerlukan media penyimpanan di aws (assets static misalnya), kita bisa membuat 1 Bucket khusus untuk website (walaupun penerapannya bisa bermacam2, kita jelaskan yang sederhana dulu), oke sampai disini mudah-mudahan paham.
Cara Penggunaan ?
Bagaimana sih cara penggunaan s3 bucket ini agar kita dapat menyimpan file ke dalam s3 bucket, hal yang pertama tentunya kalian harus mempunyai account aws dan di dalam tutorial ini, saya anggap anda sudah mempunyai akun aws dengan akses credentials ke s3 bucket (ex: ec2 root user).
CARA 1 Menggunakan GUI Aws
Silahkan login ke halaman aws service anda atau silahkan anda bisa juga mengunjungi halaman https://aws.amazon.com/console/.
Create Bucket
Upload File
CARA 2 Menggunakan Aws CLI
Pada bagian ini, saya akan menjelaskan tutorial aws cli di menggunakan linux cli, langkah pertama yang anda lakukan adalah buka terminal atau crtl + alt + t
(for ubuntu) pastikan anda telah menginstall awscli
dengan perintah sudo apt install awscli
dan jika sudah selesai pastikan awscli sudah terinstall dengan sukses, ketik perintah aws --version
atau aws
dan jika berhasil maka akan muncul seperti gambar berikut.
Register Credential
Sebelum dapat membuat bucket anda diwajibkan untuk menghubungkan awscli anda ke aws, atau bisa dibilang anda harus login terlebih dahulu, pada tahap ini saya tidak bisa memberikan screenshoot gambarnya namun saya beritahukan perintahnya saja yaitu :
aws configure --region nama-region
Command diatas digunakan untuk mengkonfigurasi awscli anda sehingga dapat terhubung. jika sudah silahkan isi data.
Key ID = Key Id Iam role aws
Acces Key = Access Key Iam role aws
Default Region = region yang anda pilih
Output = json
Create Bucket
Untuk membuat bucket anda dapat melakukan perintah aws s3 mb s3://nama-bucket
dan jika berhasil akan muncul seperti gambar dibawah ini. Note : jika anda ingin membuat bucket dengan region tertentu gunakan command aws s3 mb s3://nama-bucket --region region-name
Upload File
Untuk menambahkan file pada bucket cukup gunakan perintah aws s3 cp localdirectory/namafile.extension s3://nama-bucket
seperti gambar dibawah ini.
Download File
Jika anda ingin mengunduh file di dalam bucket anda ketik perintah aws s3 cp s3://nama-bucket/gambar.png ~/lokasifolder seperti gambar dibawah ini
Delete File
Untuk mendelete file gunakan perintah aws s3 rm s3://nama-bucket/nama-file.ekstensi sebagai contoh ada pada gambar dibawah ini :
Listing Command :
# install dulu awscli
sudo apt install awscli
# test apakah sudah terinstall
aws --version atau aws
# langkah 1 login dulu ke aws dengan access id dan key
# sesuaikan regionnya dulu.
aws configure --region ap-southeast-1
# setelah itu input access
# input key ID (from aws privacy policy)
# input access key (from aws privacy policy)
# input region (ap-southeast-1) sesuaikan dengan region yang dipakai.
# input type (json)
# langkah 2 cek credentials dan config apakah sudah benar ? jika belum langsung edit filenya
vim ~/.aws/credentials # untuk credentials
vim ~/.aws/config # untuk config
# yang dibuat diatas itu account default, bisa juga multiple account caranya.
aws configure --profile usernameanda --region ap-southeast-1
# cek semua s3 bucket list
aws s3 ls
# list semua s3 bucket per object
aws s3 ls s3://brandplusupload
# mau bikin s3 bucket baru juga bisa kalau access policynya open
aws s3 mb s3://bucketnya
aws s3 mb s3://bucketnya --region ap-southeast-1 # bisa juga begini
# kalau mau delete s3 bucket bisa pakai
aws s3 rb s3://bucketnya # ini kalau datanya kosong
aws s3 rb s3://bucketnya --force # ini kalau datanya ada di bucket (tidak kosong)
# copy file dari local ke s3
aws s3 cp <localdirectory> s3://bucketnya/bla/bla/bla
# synchrone dari lokal ke s3
# ini bisa dibolak balik dari lokal ke s3 atau dari s3 ke lokal
aws s3 sync <localdirectory> s3://bucketnya/bla/bla/bla
# kalau mau delete synchronenya
aws s3 sync <localdirectory> s3://bucketnya/bla/bla/bla --delete
# kalau mau sync atau cp bisa exclude file mana aja yang pengen, contoh
aws s3 sync <localdirectory> s3://bucketnya/bla/bla/bla --exclude *.php
# bisa juga kalau banyak file di folder pakai recursive
aws s3 sync <localdirectory> s3://bucketnya/bla/bla/bla --recursive
# atau mau pindah dari s3 bucket ke local juga bisa pakai MV
aws s3 mv s3://bucketnya/bla/bla/bla <localdirectory> --recursive
Sekian tutorial yang dapat saya sampaikan, saya sadar masih banyak sekali kekurangan dalam tutorial ini dan masih harus terus diperbaharui dan saya meminta maaf apabila mungkin kata-kata tutorial ini baku karena saya buat dengan terburu buru, jika saya mempunyai waktu luang, saya akan menambahkan tutorial ini, sampaikan kontribusi anda agar saya bisa termotivasi untuk mengelengkapi tutorial ini dengan komentar anda dibawah, Terima Kasih.