Amazon Web Service (AWS) : Cara Koneksi ke Kluster Elastic MapReduce (EMR) Menggunakan Secure Shell (SSH) dari Linux dan MacOS


AWS (Amazon Web Service) menawarkan fitur login interaktif via secure shell (SSH) pada sejumlah layanannya, seperti: Elastic Compute (EC2) dan Elastic MapReduce (EMR).
Agar bisa menggunakan fitur interactive shell command pada Amazon EMR maupun EC2, terlebih dahulu kita harus bisa login di master node dengan menggunakan SSH.
Pada OS Linux maupun MacOS modern, program SSH biasanya sudah menjadi software bawaan, sedangkan di Windows kita bisa menggunakan Putty secure shell client.

AWS menggunakan public key cryptography untuk meng-encrypt dan men-decrypt komunikasi antara clients (Windows, MacOS, Linux) dan AWS servers.
Metode pengamanan komunikasi dan informasi ini menggunakan pasangan Public Key dan Private Key (dalam hal ini, seharusnya hanya pengguna lah yang punya akses terhadap Private Key).

Membuat "EC2 Key Pair"

Amazon EMR dan EC2 menggunakan "EC2 key pair" untuk melakukan otentikasi penggunanya dan memfasilitasi login interaktif.
"EC2 key pair" tersebut disimpan dalam format file PEM yang nantinya dapat digunakan oleh client SSH saat melakukan koneksi ke servers EC2.

Login ke AWS Management Console, kemudian pilih dan klik EC2.


Pada Navigation Pane di sebelah kiri, buka Network & Security group, kemudian klik Key Pairs.


Klik button Create Key Pair, berikan nama, kemudian klik button Create Key Pair.

 

Begitu button Create Key Pair diklik, file .PEM akan segera di-download.
File ini berisi Private Key yang akan digunakan untuk meng-encrypt dan men-decrypt pertukaran data (saat login dsb) antara komputer Anda dan servers Amazon Web Services.
Jadi, simpanlah file ini baik-baik.

Konek ke Kluster AWS Elastic MapReduce (EMR) 

Pertama-tama, pastikan kluster AWS EMR telah siap digunakan.
Langkah-langkah membuat kluster AWS EMR ada pada artikel : Langkah-langkah Membuat dan Konfigurasi Kluster Amazon Elastic MapReduce (Amazon EMR).

Gunakan command ssh berikut untuk login ke Master node kluster EMR
 
ssh -i NamaEC2KeyPair.pem hadoop@master-public-dns-dari-kluster-emr-yang-telah-dibuat.compute.amazonaws.com

NamaEC2KeyPair.pem adalah nama EC2 Key Pair (nama file .PEM yang telah di-download)
hadoop@master-public-dns-dari-kluster-emr-yang-telah-dibuat.compute.amazonaws.com adalah Master node public DNS dari kluster EMR yang telah dibuat.

Jika SSH berhasil, maka akan muncul tampilan berikut:



Catatan :

Ada kalanya muncul error "Operation time out" saat mencoba SSH ke Master node kluster EMR.
Error ini disebabkan oleh IP address komputer yang kita gunakan belum diberikan ijin akses SSH.
Solusinya; klik Security groups pada Cluster Console/Dashboard.
Lalu, klik button "Edit inbound rules", tambahkan SSH dan pada field Source (asal IP) pilih MyIP.
Solusi ini ada di StackOverFlow : https://stackoverflow.com/questions/39095655/operation-timed-out-error-on-trying-to-ssh-in-to-the-amazon-emr-spark-cluster

Selain error diatas, bisa juga muncul error :

+-----------------------------------------------------+
|    WARNING: UNPROTECTED PRIVATE KEY FILE!           |
+-----------------------------------------------------+


Error ini terjadi karena file .PEM yang disimpan di komputer lokal masih dapat diakses user lain selain pemilik file tersebut.
Solusinya adalah dengan mengubah permission pada file tersebut dengan command berikut:

chmod 400 My_Private_Key_File_Name.pem

Comments

Popular posts from this blog

Apa itu Big Data : Menyimak Kembali Definisi Big Data, Jenis Teknologi Big Data, dan Manfaat Pemberdayaan Big Data

Apache Spark: Perangkat Lunak Analisis Terpadu untuk Big Data

Pentingnya Web Crawling sebagai Cara Pengumpulan Data di Era Big Data

Memahami Definisi Big Data

Bagaimana Cara Membaca Google Play eBook Secara Offline?

MapReduce: Besar dan Powerful, tapi Tidak Ribet

Cara Sederhana Install Hadoop 2 mode Standalone pada Windows 7 dan Windows 10

HDFS: Berawal dari Google untuk Big Data

Big Data dan Rahasia Kejayaan Google

Tutorial Swift: Membuat Aplikasi iPhone Sederhana dengan UITableView (bagian 1)