Bekenalan dengan Vagrant
Apa itu Vagrant ?
Sebelum mengetahui lebih lanjut bagaimana cara menginstall Vagrant, kita bahas terlebih dahulu apa kegunaan Vagrant. Menurut website resminya, Vagrant adalah
Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the “works on my machine” excuse a relic of the past.
Singkatnya Vagrant adalah alat open-source yang membantu kita untuk mengotomatisasi pembuatan dan pengelolaan Mesin Virtual. Singkatnya, kita dapat menentukan konfigurasi mesin virtual dalam file konfigurasi sederhana, dan Vagrant menciptakan mesin Virtual yang sama hanya dengan menggunakan satu perintah sederhana. Vagrant menyediakan antarmuka baris perintah untuk mengotomatisasi tugas-tugas tersebut.
Kenapa harus menggunakan Vagrant ?
Sebuah aplikasi terdiri dari beberapa komponen yang perlu dikonfigurasi dengan dapat berjalan dengan baik. Sebagai contoh, sebuah aplikasi web modern mungkin memiliki beberapa komponen-komponen seperti Java, JavaScript, Python, dll sebagai bahasa, MySQL, Oracle, MongoDB, dll sebagai Database, komponen-komponen lain seperti webserver, load-balancer, API Gateway, Message Queue, dll berdasarkan kebutuhan.
Sebelum Vagrant, semua komponen diatas perlu diatur secara manual. Selama proses setup, banyak masalah yang dihadapi diantaranya:
- Di setiap mesin, setup perlu dilakukan secara terpisah, yang memakan banyak waktu.
- Konfigurasi manual mungkin salah, yang perlu di-debug dan diperbaiki setiap saat.
- Lingkungan pengembangan, pengujian, dan produksi harus identik. Tetapi karena instalasi manual dan setup komponen ini, mungkin ada sedikit perbedaan yang membuat kita sangat kesusahan, karena, dalam skenario seperti itu, aplikasi mungkin berjalan di lingkungan pengembangan, tetapi menghadapi masalah di lingkungan produksi.
Selain beberapa hal diatas, Tools ini sering saya gunakan untuk latihan beberapa tutorial mengenai DevOps yang mana kadang kita membutuhkan sebuah VPS, namun dengan Vagrant kita bisa mengikuti tutorial tersebut tanpa mengeluarkan banyak biaya. Selain itu virtualisanya dapat kita lakukan ssh dan tunneling di browser host.
Prasyarat menggunakan Vagrant
-
Install aplikasi virtualisasi seperti; VirtualBox, VMware, atau Hyper-V. Disini karena saya menggunakan Windows 10 saya menginstall VirtualBox karena mudah dan juga gratis.
-
Jika sudah, silahkan download Vagrant di website resmi, linknya ada disini. https://developer.hashicorp.com/vagrant/downloads
-
Setelah itu, verikasi dengan cara mengetikan command dibawah ini pada CMD. Jika berhasil maka akan tampil versi Vagrant yang sudah kita Install.
Tutorial Membuat Instance/VM di Vagrant
Konfigurasi Vagrant file
Di studi kasus ini saya membutuhkan sebuah server dengan distribusi Ubuntu 22.04 dengan spesifikasi rendah misal memory hanya 512Mb dan 1 Core, maka berikut tutorial singkatnya.
- Silahkan buat folder di direktori mu, dan masuk via CMD.
- Kemudian silahkan buat 1 Vagrant file. Berikut isi configurasinya.
- Jika sudah disilahkan ketikan
vagrant up
, maka vagrant akan create secara otomatis instance/vm di virtualbox kalian dengan mendownload Boxes yang tersedia di Vagrant. Boxes ini bisa dikatakan seperti Docker images.
- Instance sudah berhasil kita buat. Kalian bisa cek di virtualbox maka ubuntu 22.04 sedang running.
- Berikut beberapa command penting setelah install instance-nya.
- Untuk menghentikan mesin dan menyimpan statusnya saat ini, silahkan ketikan:
vagrant suspend
- Untuk mematikan mesin virtual, gunakan perintah:
vagrant halt
- Untuk menghidupkan kembali mesin, ikutin perintah ini:
vagrant up
- Untuk menghapus semua jejak mesin virtual dari sistem Anda, ketik perintah berikut:
vagrant destroy
- Untuk menghentikan mesin dan menyimpan statusnya saat ini, silahkan ketikan:
Akses Instance/VM yang sudah dibuat
Untuk mengakses Instance/VM yang sudah kita buat, silahkan jalankan terlebih dahulu dengan mengetikan perintah vagrant up
. Jika sudah, siapkan beberapa tools favorite kalian untuk akses ssh. Bisa menggunakan Putty, MobaXterm atau bisa juga dengan WSL2. Disini saya akan coba dengan menggunakan MobaXterm.
- Silahkan download terlebih dahulu MobaXterm.
- Pastikan VM sudah jalan, ketikan perintah
vagrant ssh-config
untuk melihat hostname, username dan port yang akan kita ssh. - Silahkan buka MobaXterm, Kemudian buat session baru SSH.
- Remote host: silahkan isi 127.0.0.1
- Specify username: silahkan isi vagrant
- Port: silahkan isi 2222
- Dibagian Tab Advanced SSH settings, silahkan ceklis
Use private key
, browse dimana private key disimpan. Disini private key disimpan diD:/Belajar-Vagrant/.vagrant/machines/server-satu/virtualbox/private_key
-
Jika sudah maka akan tampil dan login ke vm ubuntu yang baru kita buat, disana kalian bebas melakukan apapaun sama halnya seperti create instance di AWS/GCP.