Teknologi

Konfigurasi Banyak Server dengan Ansible

Ansible adalah tool infrastructure as code yang berfungsi sebagai configuration management. Ansible dapat melakukan konfigurasi beberapa server sekaligus di saat yang sama secara otomatis.

Cara Kerja

Host yang terpasang Ansible (Control Node) harus dapat terhubung ke host yang akan dikonfigurasi (Managed Nodes) melalui protokol SSH. Managed Nodes tidak perlu memasang agent atau aplikasi tambahan lainnya, cukup mengaktifkan SSH saja.

Daftar Managed Nodes disimpan di dalam file Inventory dengan menuliskan IP atau hostname.

Perintah konfigurasi (Tasks) merupakan perintah yang spesifik untuk satu perintah saja (satu task = satu perintah) yang didefinisikan di dalam file Playbook. Misal ada update dan install berarti menjadi 2 task. Perintah-perintah yang dapat dijalankan di task disebut sebagai Modules atau Task Plugins, misal ada untuk packaging, network, dan database.

0. Tutorial Environment

Environment yang digunakan pada tutorial ini:

  • Control Node: Ubuntu 20.04
  • Managed Nodes: 2x VPS Ubuntu 20.04
    • Host webserver 178.128.55.175
    • Host database 165.22.102.165
  • Ansible v2.12.6

1. Memasang SSH Key

Memasang SSH key agar Ansible dapat berkomunikasi dengan Managed Nodes melalui SSH dengan authentication memakai key.

Membuat SSH key di Control Node.

 

Misal key disimpan dengan nama ansible.

 

Mengirim key ke host webserver dan database, memakai user root.

 

Menguji koneksi SSH.

 

Install Ansible

Install Ansible di Ubuntu.

 

Instalasi Ansible di sistem operasi lain baca di docs.ansible.com

Setting Inventory

Ansible menyediakan file Inventory default di /etc/ansible/hosts, tapi bisa juga membuat custom file Inventory sendiri.

Membuat folder untuk menyimpan file project Ansible.

 

Membuat file Inventory, misal diberi nama inventory.

 

Isi inventory.

 

  • Mengeset user dan key yang digunakan oleh Ansible.
  • Membuat group host [webserver] dan [database]. Jika ada server lain yang ingin dimasukkan, cukup menambahkan IP di group yang diinginkan.

Mengecek inventory dengan menampilkan semua host yang ada.

 

Hasilnya.

 

Menguji koneksi Ansible ke hosts.

 

Hasilnya.

 

Playbook

Membuat file Playbook, misal diberi nama playbook.yml.

 

Isi file playbook.yml.

 

Perintah yang akan dijalankan:

  • Update apt cache di semua host
  • Install Nginx dan PHP di host webserver
  • Install MariaDB di host database, buat database, user, dan set password root

Menjalankan playbook.

 

Hasilnya.

 

Pengujian

Pengujian hasil konfigurasi Ansible, mengecek Nginx dan PHP di host webserver dan browse http://IP-Server.

 

Mengecek database dan user database di host database.

Selamat mencoba ?

ryan

Recent Posts

Jadwal Imsak dan Buka Puasa Ramadhan 2025 Kota Serang Selama Sebulan

Berikut jadwal imsak dan buka puasa Ramadhan 2025 di Kota Serang dari tanggal 1 Ramadhan -…

1 minggu ago

Jadwal Resmi Awal Puasa Ramadan 2025 Pemerintah, NU, Muhammadiyah

Jakarta - Pemerintah telah menetapkan awal Ramadan 2025 berdasarkan hasil sidang isbat oleh Kemenag. Begitu pula dengan organisasi masyarakat…

1 minggu ago

Meta AI Ditanya Luas Kebakaran Los Angeles, Hasilnya Mengejutkan Sama dengan Luas Gaza

Siapa sangka, salah satu warganet justru mendapat informasi tak terduga yang berasal dari Meta AI.…

2 bulan ago

Tebak-tebakan pelesetan kata ini lucu abis, awas ketawa ngakak

Ketika menjalani rutinitas sehari-hari tentu saja kamu pernah merasa suntuk atau jenuh. Supaya kamu bisa…

2 bulan ago

Kapal China Diduga Biang Kerok Internet Mati Total di Berbagai Negara

Sebuah kapal kargo komersial China diduga sengaja menyeret jangkarnya untuk memotong kabel bawah laut yang…

3 bulan ago

Ini Sumber Kekayaan Nabi Sulaiman, Sungguh di Luar Dugaan

Nabi Sulaiman dikenal sebagai raja yang kaya raya. Para ilmuwan arkeologi kini mengungkap apa sumber kekayaannya,…

3 bulan ago