Amazon S3 merupakan kependekan dari Amazon Simple Storage Service merupakan salah satu layanan dari Amazon Web Service yang diperuntukan untuk penyimpanan data, teknologi yang digunakan merupakan teknologi yang digunakan amazon untuk menjalankan jaringan global situs webnya, aws s3 di klaim scalable, dapat diandalkan, cepat dan murah, dan juga aws s3 memiliki antarmuka yang sederhana.
seperti yang di jelaskan di atas bahwa aws memiliki antarmuka sederhana yang bisa diakses melalui peramban, lalu bagaimana cara mengunggah file backup dari server ? yang tidak memiliki tampilan grafis, dan mungkin akan lebih repot jika harus mengunggah secara manual.
namun tenang saja, aws memiliki sebuah utilitas yang bernama aws cli, aws cli merupakan sebuah utilitas yang dapat digunakan untuk mengelola layanan aws anda, sebagai contoh anda akan mengunggah file dari server ke aws s3, anda hanya diharuskan untuk menulis beberapa perintah, dan anda dapat mengotomasi melalui skrip. berikut adalah cara menginstall aws cli dan contoh penggunaannya
Install AWS CLI
sebelum memasang aws cli, pastikan anda sudah memiliki pip, jika belum anda bisa mengikuti perintah dibawah ini
Centos 7
user $ sudo yum install python2-pip
Ubuntu
user $ sudo apt-get install python-pip
jika telah terpasang, selanjutnya tinggal menginstall aws cli
user $ pip install awscli --upgrade --user
letak berkas biner aws cli terletak di ~/.local/bin/aws
agar lebih mudah anda bisa membuat sysmlink ke direktori /usr/bin
user $ ln -sv ~/.local/bin/aws /usr/bin/aws
Konfigurasi AWS CLI
Selanjutnya sebelum kita bisa mengelola layanan aws melalui aws s3 kita diharuskan mengatur kredensial terlebih dahulu, gunakan perintah dibawah untuk mengatur kredensial
user $ aws configure
jika belum mengatur symlink anda gunakan perintah dibawah
user $ ~/.local/bin/aws configure
AWS Access Key ID : isi access key id akun anda AWS Secret Access Key : isi secret key akun anda Default region name : isi dengan region anda, pada contoh lokasi bucket saya berada di singapore Default Output format : diisi json

Mengunggah file ke aws s3
setelah kredensial di set, sekarang anda bisa mencoba mengunggah file dari server ke aws s3
user $ aws s3 cp backupnothinux.tar.gz s3://bucket-nothinux/
dengan perintah di atas akan mengunggah berkas backupnothinux,tar.gz ke bucket bucket-nothinux di aws s3
lalu jika anda ingin mengunggah sebuah direktori anda bisa menggunakan perintah dibawah
user $ aws s3 cp /home/nothinux s3://bucket-nothinux/ --recursive
dengan perintah di atas akan mengunggah semua direktori dan berkas yang ada di /home/nothinux ke bucket bucket nothinux di aws s3
lalu bagaimana membuat pengecualian, semisal anda tidak ingin menggunggah sebuah berkas konfigurasi database di dalam direktori website anda, pada contoh cms wordpress
user $ aws s3 cp /var/www/nothinux/public_html/ s3://web-nothinux/ --recursive --exclude=wp-config.php
apakah bisa hanya mengunggah file yang berubah saja ? seperti rsync ? tentu bisa anda bisa menggunakan perintah dibawah dengan catatan sebelumnya anda telah menggunggah berkas atau direktori, dan lakukan di bucket yang sama
user $ aws s3 sync /var/www/nothinux/public_html/ s3://web-nothinux/ --recursive --exclude=wp-config.php
dengan aws s3 sync hanya akan mengunggah berkas yang telah berubah saja
sekian, semoga bermanfaat ๐