Menggunakan Amazon S3 Bucket Object Storage

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

Pada halaman atas, klik services kemudian cari di kolom all services lalu ketik s3, anda dapat memilih s3 sebagaimana contoh gambar diatas.
Setelah anda memilih menu s3 bucket anda akan diarahkan ke halaman ini, kemudian silahkan klik tombol create bucket.
Isi nama bucket anda, ingat nama bucket tidak boleh ada spasi special karakter, dan wajib lowercase, kemudian pilih region terdekat dengan target market anda, dalam hal ini saya pilih singapore. kemudian klik next
Pada bagian tab properties tidak perlu kita konfigurasi untuk contoh, silahkan skip dan klik next
Pada halaman Block public access digunakan apabila anda ingin menggunakan asset ini untuk pribadi, namun apabila anda ingin digunakan sebagai asset public silahkan hapus centang block all public access, lalu klik next
Sebelum bucket dibuat anda dapat mereview dahulu konfigurasi bucket anda. jika sudah benar klik create bucket
Apabila berhasil anda dapat melihat list bucket dan hasil pembuatan bucket anda

Upload File

Untuk menambahkan file atau object baru di bucket anda, silahkan pilih bucket yang telah anda buat, kemudian klik tombol upload dan pilih file anda masing2. selain menambahkan file, anda juga bisa membuat folder untuk menyusun file yang anda upload ke dalam masing2 folder
Jika Berhasil file anda akan masuk ke dalam bucket sesuai gambar diatas, selain itu anda juga dapat mendowload, delete, dsb silahkan klik tombol actions.

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.

Apabila awscli telah berhasil terinstall maka akan muncul seperti gambar diatas

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

Jika sudah selesai anda dapat melihat konfigurasi default anda dengan perintah cat ~/.aws/credentials atau anda dapat mengedit dengan vi ~/.aws/credentials

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

Pastikan dahulu bucket yang anda buat telah terdaftar dalam list bucket, ketik perintah aws s3 ls (menampilkan semua list bucket) atau aws s3 ls s3://nama-bucket (menampilkan bucket dengan nama-bucket)

Upload File

Untuk menambahkan file pada bucket cukup gunakan perintah aws s3 cp localdirectory/namafile.extension s3://nama-bucket seperti gambar dibawah ini.

Untuk memastikan file anda telah terupload silahkan ketik perintah aws s3 ls s3://bucket-website-saya/

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

Silahkan cek ke folder untuk memastikan file yang anda download, atau gunakan command ls ~/lokasifolder

Delete File

Untuk mendelete file gunakan perintah aws s3 rm s3://nama-bucket/nama-file.ekstensi sebagai contoh ada pada gambar dibawah ini :

Pastikan file anda sudah terhapus dengan benar dnegan perintah aws s3 ls s3://nama-bucket/

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.

Leave a Reply