Pada tutorial sebelumnya kita sudah belajar membuat static website yang dihost ke AWS S3. Tentunya akan sangat merepotkan jika kita harus melakukan upload secara manual menggunakan AWS s3 Console. Saya akan memberikan cara upload file static website menggunakan tools dari AWS yaitu AWS CLI. AWS menyediakan tools berupa command line untuk mempermudah melakukan beberapa perubahan di servicesnya.
Install AWS CLI
langkah pertama adalah melakukan installasi AWS CLI. installasi ini berbeda-beda langkahnya tergantung dengan OS yang kamu gunakan. Saya akan memberikan contoh installasi AWS CLI di Mac OS.
- Install homebrew di Mac OS terlebih dahulu
- jalan terminal kemudian ikuti step berikut
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
3. Setelah itu kita verify versi dari AWS CLI untuk menunjukkan bahwa AWS CLI sudah berhasik terinstall
$ aws --version
4. Pada saat tulisan ini dibuat saya menggunakan AWS CLI di Apple M1 dengan versi berikut
$ aws-cli/2.3.7 Python/3.9.8 Darwin/21.1.0 source/arm64 prompt/off
Configure AWS CLI Credentials
Setelah AWS CLI terinstall kita perlu melakukan konfigurasi Credentials agar AWS CLI bisa mengakses services-service yang ada di account AWS termasuk AWS S3. AWS CLI bekerja menggunakan credentials berupa Account ID dan Secret ID.
Kita perlu membuat terlebih dahulu userid AWS CLI dan juga menentukan permission aksesnya. Di sini saya menggunakan rola admin agar userID yang dibuat bisa mengakses semua layanan AWS Services di Account AWS kita
- Masuk AWS Console kemudian ke IAM Menu
- Kemudian masuk ke User
3. Beri nama user namenya dan pilih Access key – Programmatic access lalu klik Next untuk pengaturan permissionnya
4. Pilih Attach from existing Permission. Lalu pilih AdministratorAccess. Jika kita ketik s3 pada list permission terlihat bahwa Policy ini memiliki Full Access ke bucket S3. Jika kamu hanya ingin menggunakan user ini untuk S3 maka silahkan pilih Policy AmazonS3FullAccess
5. Klik next sampai tombol create user. setelah user dibuat akan muncul informasi Access Key ID dan Secret Access Key. Catat atau download dalam bentuk file CSV
6. Kembali ke terminal. Ketik AWS Configure
7. Masukkan Access Key ID dan Secret Access key tadi
Sampai langkah ini AWC CLI sudah dapat terkoneksi dengan layanan dari AWS.
Sync AWS s3 dengan local Folder
Di bagian ini kita akan masuk untuk eksekusi proses upload dan downloadnya. Alurnya adalah kita download dari localhost lalu sync otomatis ke aws bucketnya.
- Masuk ke folder docs atau folder tempat static file melalui terminal atau command prompt
- Lakukan download di folder tersebut dengan command
wget -r -nH -E -T 2 -np -k http://localhost:2368/
3. Masih di folder yang sama, lakun upload ke bucket S3 dengan command berikut
aws s3 sync . s3://nama-s3-bucket
Secara otomatis file yang ada pada folder akan terupload ke S3 bucket
kita bisa membuat batch file atau auto script untuk menjalan command ini setiap kali ada perubahan
Silahkan di coba