menu

AWS - Elastic IP (EC2)


Tutorial sebelumnya kita sudah men-setup cloud server menggunakan EC2 AWS dan kita sudah mendapatkan IP public untuk melakukan SSH remote ke server, tapi ada kelemahan pada IP public tersebut yaitu setiap kali kita menghentikan(stop) service EC2 kemudian menghidupkan(start) kembali service EC2 IP public tersebut akan direset, untuk itulah pada tutorial kali ini kita akan membuat sebuah elastic IP agar setiap kali start-stop service EC2 IP public tidak berubah.

Oke kita mulai saja, pertama masuk ke console AWS dan buka service EC2 kemudian pada sidebar klik menu "Elastic IPs" dan akan tampil halaman seperti berikut,


Klik "Allocate new address" dan setting seperti gambar dibawah,


Klik "Allocate" sehingga akan terbentuk Elastic IP baru,


Klik button "Action" pilih "Associate address" seperti gambar dibawah,


Isikan Instance dengan instance yang ingin dihubungkan dengan Elastic IP berikut,


Klik button "Associate" dan akan tampil halaman seperti gambar dibawah,


Berrati kita berhasil menghubungkan Elastic IP dengan instance yang kita pilih, coba dicek pada halaman "Instance" IP public akan berubah mengikuti Elastic IP yang baru kita buat.

Sehingga kita hanya bisa mengakses SSH remote ke server menggunakan Elastic IP yang baru dan meskipun service EC2 di start-stop IP public instance yang merupakan Elastic IP tidak akan berubah/direset.

===DONE!===

AWS - Setup IAM



Sebenarnya tema dari artikel ini terlewatkan karena sebelum artikel ini codedoct sudah share terlebih dahulu beberapa tools yang ada di AWS, tapi tidak apa-apa lebih baik terlambat dari pada tidak sama sekali.

Oke pada artikel ini akan membahas hal pertama yang harus dilakukan saat pertama kali kita mendapatkan account pada AWS yaitu mensetup IAM.
Pertama login terlebih dahulu ke akun AWS dan buka menu services kemudian cari IAM setelah masuk ke halaman IAM kita akan melihat tampilan seperti berikut.


Setup pertama yang akan kita lakukan adalah mengaktivasi MFA(Multi-Factor Authenticator), klik "Activate MFA on your root account" dan klik button "Manage MFA" dan akan tampil halaman berikut,


Selanjutnya klik button "Activate MFA" seperti gambar dibawah,


Pilih A virtual MFA device dan klik button "Next Step" seperti gambar dibawah,


Selanjutnya, "Next Step" lagi,


Dan selanjutnya akan masuk ke halaman berikut(dibawah) untuk mendapatkan code dari barcode gunakan google authenticator atau apps sejenisnya,  download ke handphone dan scan barcodenya sehingga akan muncul code pertama masukan ke Authentication code 1,


Setelah memasukan code 1 maka pada google authenticator akan muncul code kedua dan isikan ke Authentication code 2, jika sudah klik button "Activate virtual MFA" dan akan muncul pop-up berikut,


Sampai sini kita sudah success mengaktifkan MFA, kembali ke dashboard IAM dan tampilan indikator MFA nya akan berubah seperti ini,


Selanjutnya kita akan membuat user IAM baru klik button "Manage Users" seperti gambar dibawah,


Dan akan muncul halaman seperti dibawah, klik button "Add user"


Isikan field seperti gambar dibawah untuk membuat sebuah user admin baru,


Lanjutkan dengan klik button "Next: Permissions" untuk mengatur permission yang diinginkan,
dan tampil halaman berikut,


Pilih "AdministratorAccess" ini berarti semua access, klik button "Next: Review" halaman berikutnya langsung klik "Create user" dan success membuat user baru,


Klik "Download .csv" untuk mengunduh password akses saat login pertama kali, dan klik button "Close" sehingga tampil halaman berikut,


Kembali ke dashboard, dan security status akan update seperti gambar dibawah,


Lanjut ke tahap berikutnya, "Use groups to assign permissions" klik button "Manage Group"


Isikan nama group misal "admin"


Klik "Next Step" sama seperti di user, pilih "AdministratorAccess" klik "Next Step" lagi dan "Create Group", sehingga  akan tampil halaman berikut,


Klik admin dan "Add Users to Group" untuk menambahkan user ke group admin,


Pilih user yang ingin dimasukan ke dalam group admin


Klik "Add Users" dan masuk kembali ke menu sidebar "Users"


Kita akan melihat user yang baru di masukan ke group admin tadi memiliki 2 permissions(1 permission user, 1 permission admin) untuk itu hapus saja yang paling atas dengan mngklik icon "x".
Jika sudah kembali kedashboard dan kita akan melihat status securitynya update seperti gambar dibawah,


Baiklah tinggal satu step lagi, masuk ke "Apply an IAM password policy" dan akan tampil halaman seperti gambar dibawah,


Secara default isi saja seprti berikut, kemudian klik button "Apply password policy" jika sudah kembali ke dashboard status security akan update kembali menjadi seperti gambar dibawah,


Pada dashboard klik "Customize" pada IAM users sign-in link untuk mengubah account alias yang berfungsi untuk login,


Jika sudah klik "Yes, Create" dan link IAM users sign-in juga akan ikut berubah, silahkan copy link tersebut dan logout dari account AWS, kemudian browse link yang tadi di copy pada browser sehingga akan masuk ke halaman berikut untuk memperbaharui password pertama kali,


Passwordnya ada di file .csv yang sudah kita download saat membuat user baru sebelumnya, setelah klik "Sign In" akan menuju halaman change password, tinggal ganti saja password lama dengan yang baru dan "Confirm password"


Akhirnya kita bisa login dengan user yang baru dibuat dengan berdasarkan permission yang kita set sebagai administrator.

Jika teman-teman sudah bisa masuk menggunakan user admin yang baru tadi maka akan lebih baik user root lama yang digunakan untuk login AWS pertama kali jangan digunakan lagi saja demi keamanan account AWS.

===DONE!===

How - Masalah saat instalasi server pertama kali


Sudah allow cors pada .htaccess tapi api tetap tidak memberikan response dengan benar?
secara default saat menginstall LAMP pertama kali headers memang selalu enabled tapi ada kemungkinan juga belum enabled secara default contohnya saat codedoct setup server ubuntu dengan EC2 milik AWS maka dari itu harus di enabled terlebih dahulu dengan cara,
$ sudo a2enmod headers

Muncul error seperti ini "GD Library extension not available with this PHP" install extension dengan cara,
// PHP5
$ sudo apt-get install php5-gd

// PHP5.6
$ sudo apt-get install php5.6-gd

// PHP7.2
$ sudo apt-get install php7.2-gd

Menggunakan framework Laravel, error 404 not found saat akan hit url selain page home/index?
masalah tersebut biasanya terjadi karena module "rewrite" belum terinstall pada server cara installnya,
$ sudo a2enmod rewrite
$ sudo service apache2 restart
kemudian cek config apache agar terlihat seperti ini,
<virtualhost>
        <directory dist-dev="" ezyedu-backoffice="" var="" www="">
           Options Indexes FollowSymLinks
           AllowOverride All
           Require all granted
        </directory>

    ServerAdmin webmaster@
    ServerName dev-admin.ezy-edu.com
    ServerAlias www.dev-admin.ezy-edu.com
    DocumentRoot /var/www/ezyedu-backoffice/dist-dev
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</virtualhost>

Pada server EC2 codedoct sering mendapati error seperti ini: "GPG error 'NO_PUBKEY'",
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <pubkey>
$ sudo apt-get update

===DONE!===