3. Amazon EC2
EC2 (Elastic Cloud Compute) adalah salah satu contoh layanan IaaS dimana kita bisa
membuat sebuah server(Instance) untuk menjalankan suatu aplikasi atau website.
Salah satu keunggulan EC2 adalah kemudahan untuk skalabilitas, dimana kita bisa memulai
membuat instance dengan sumber daya(processor, memory, storage) kecil, kemudian ketika
semakin besar kebutuhan sumber daya dapat dieskalasi dengan mudah.
Disamping itu EC2 cukup fleksibel dalam hal adaptasi teknologi lain. Misalkan ketika ingin
mengaplikaskan load balancer dalam EC2, yang mana hanya memerlukan beberapa langkah
saja.
4. Praktikum 1 – Membuat Instance EC2 dan Koneksi ke EC2 dengan protokol SSH
Untuk membuat instance EC2, peserta kuliah harus sudah melakukan registrasi ke dalam
AWS educate dan dapat masuk ke dalam classroom yang disediakan. Jika belum, silahkan
ikuti jobsheet pertemuan sebelumnya.
4.1. Langkah 1
Masuk ke dalam konsol AWS, melalui URL:
https://aws.amazon.com/id/education/awseducate/ kemudian akan tampil halaman berikut:
4.4. Langkah 4
Selanjutnya adalah proses memilih Amazone Machine Image(AMI). Pilih ubuntu server
16.04 seperti gambar berikut.
4.5. Langkah 5
Memilih tipe instance. Pilih tipe instance t2.small
4.6. Langkah 6
Selanjutnya adalah melakukan konfigurasi beberapa detail. Untuk saat ini yang perlu
dilakukan adalah mimilih “Auto-assign Public IP” menjadi enabled.
4.7. Langkah 7
Menentukan kapasitas storage. Ubah size storage-nya menjadi 20GB
4.8. Langkah 8
Menambahkan Tag. Dengan klik “Add Tag”.
Isikan key = Name, dan value = sister-NPM (contoh : sister-1831710160)
4.9. Langkah 9
Konfigurasi grup security. Secara default instance kita akan bisa diakses melalui port 22 (ssh)
dari mana saja (0.0.0.0/0). Dan tambahkan 1 rule untuk port http sehingga instance dapat
diakses melalui http.
Namun jika kita memiliki IP public sendiri, akan lebih aman jika kita spesifikkan ip kita
tersebut yang memiliki akses kepada instance.
Untuk sementara kita biarkan settingan default.
4.10. Langkah 10
Ringkasan setting yang telah kita lakukan.
Terdapat peringatan issue security, bahwa setting yang kita lakukan bahwa instance kita bisa
diakses dari mana saja. Kita biarkan saja, karena asumsinya kita tidak memiliki IP publik.
4.11. Langkah 11
Selanjutnya untuk dapat mengakses instance yang baru kita buat, kita perlu mendownload
key pair. Key tersebut harus disimpan baik-baik, karena jika kehilangan key tersebut, tidak
bisa didownload ulang. AWS tidak menyimpan “key”, jadi jika hilang maka kita akan
kehilangan akses kepada instance kita.
Untuk membuat key pair, klik “launch”. Kemudian pilih “create a new key pair”. Kemudian
isikan key pair name.
Selanjutnya download key pair, kemudian simpan di tempat yang aman.
4.12. Langkah 12
Langkah selanjutnya adalah menjalankan instance
Untuk memonitor status instance EC2 dapat dilakukan dengan mengakses Services -> EC2
4.13. Langkah 13 Mengakses Instance dan Integrasi ke VSCode
Hal pertama yang harus dilakukan adalah mendownload dan menginstall VSCode. Anda
dapat mendownload VSCode pada laman https://code.visualstudio.com/download. Jika
VSCode sudah ter-install, anda dapat menginstall VSCode extension Remote – SSH sehingga
kita dapat meremote instance AWS yang telah dibuat sebelumnya.
Selanjutnya kembali lagi ke AWS instance dan klik kanan pada instance ec2 kemudian pilih
connect maka akan muncul tampilan seperti dibawah ini.
Pada gambar diatas contoh untuk melakukan koneksi terhadap instance yang telah dibuat
adalah ssh -i "sister.pem" ubuntu@ec2-107-23-115-202.compute-1.amazonaws.com
Keterangan:
a. Host : Nama yang akan muncul di VSCode, boleh diganti sesuai dengan keperluan
b. Hostname adalah host server
c. IdentityFile adalah path dari private key yang kita miliki
d. User adalah username dari server, username untuk default instance kita adalah
ubuntu. Untuk instance yang lain dapat dilihat di
(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html)
Edit untuk IdentityFile sesuaikan dengan path dimana anda menyimpan private key anda:
Sampai pada tambah ini kita VSCode sudah siap koneksi ke server dengan cara:
Anda dapat menggunakan Command Pallete Pilih config kemudian klik kanan dan pilih
atau menggunakan GUI seperti pada gambar untuk connect di current window.
diatas.
Jika muncul pesan seperti ini ketik yes dan Jika pada bagian bawah VSCode sudah
tekan enter. muncul keterangan seperti pada gambar
maka kita sudah berhasil koneksi ke
instance dari EC2.
Pilih menu terminal yang ada di VSCode Jika berhasil melaunch terminal maka akan
untuk melaunch terminal. tampilannya adalah seperti pada gambar
berikut.
5. Praktikum 2 – Instalasi Dependency yang diperlukan untuk membuat proses dan thread
menggunakan PHP
Untuk Mysql-server boleh tidak diinstall karena pada praktikum ini beum menggunakan
mysql
Ketikkan perintah berikut di terminal:
1. sudo su
2. apt install apache2
3. apt install mysql-server
4. apt install php libapache2-mod-
php php-mysql
Jika instalasi apache kita berhasil maka kita dapat melihat webserver dari instance yaitu
dengan mengetik ip public dari instance yang kita miliki.
Letak ip public dari instance yang anda miliki Tampilan apache yang telah
terinstall di server.
6. Praktikum 3 – Setelah menginstall dependency anda sudah siap untuk membuat program
di server.
4. Build PHP
make && sudo make install
5. Membuat php.ini.
cd $HOME/php-src-php-7.2.2
sudo mkdir -p /etc/php7/cli/
sudo cp php.ini-production /etc/php7/cli/php.ini
7. Meremove instalasi php yang sudah ada. Selanjutnya file yang ada directory bin
diganti dengan php yang barusan di build
sudo rm /usr/bin/php
sudo ln -s /etc/php7/bin/php /usr/bin/php
6.2.1. Membuat folder dan mengganti hak aksesnya sehingga kita dapat menyimpan
menggunakan VSCode.
1. Buka folder cd /var/www/html
/var/www/html
2. Membuat folder mkdir process
3. Mengubah hak ases sudo chown -R myuser /var/www/html/process
pada folder process.
Dengan demikian
VSCode dapat
menambah, menulis
file pada folder
process
4. Tambah file pada
folder process dengan
nama index.php. Tulis
isi dari file adalah
sebagai berikut
Tugas :
1. Laporkan hasil praktikum 1, 2 dan 3.
2. Jelaskan perbedaan dan berikan contoh multi proses, multitasking, multi thread.