1. i
Tugas Akhir
AUTOMATION ANSIBLE
Disusun oleh :
Nama : Rakha Fauzi Maulana
NIS : 1516116122
Kelas : Teknik Komputer Jaringan 1
Sekolah Menengah Kejuruan Negeri 4 Bandung
2017
2. ii
KATA PENGANTAR
Puji syukur kita panjatkan kepada Allah SWT karena berkat Rahmat dan
KaruniaNya-lah penulis dapat menyelesaikan penulisan tugas akhir ini tepat
waktunya dengan Judul “Automation Ansible”. Tugas akhir ini disusun untuk
memenuhi salah satu serangkaian ujian sekolah
Penulis menyadari bahwa Tugas Akhir ini masih memiliki banyak kekurangan.
Sehingga dengan kerendahan hati, penulis mengharapkan kritik dan saran dari
pembaca untuk perbaikan ke depannya.
Bandung, 30 Maret 2018
Rakha Fauzi Maulana
3. iii
DAFTAR ISI
KATA PENGANTAR....................................................................................................ii
DAFTAR ISI ...............................................................................................................iii
BAB 1......................................................................................................................... 1
PENDAHULUAN ........................................................................................................ 1
1.1. Latar Belakang ......................................................................................... 1
1.2. Rumusan Masalah ........................................................................................ 1
1.3. Tujuan........................................................................................................... 1
2.1. Ansible .......................................................................................................... 2
2.2. Apache2........................................................................................................ 2
2.3. Bind9............................................................................................................. 2
2.4. Iptables ......................................................................................................... 2
2.5. HAProxy........................................................................................................ 2
2.6. Proftpd .......................................................................................................... 3
2.7. Rsync............................................................................................................ 3
BAB 3......................................................................................................................... 4
PERANCANGAN........................................................................................................ 4
3.1. Topology ....................................................................................................... 4
3.2. Instalasi......................................................................................................... 4
3.3. Konfigurasi.................................................................................................... 4
BAB 4....................................................................................................................... 14
IMPLEMENTASI ...................................................................................................... 14
BAB 5....................................................................................................................... 17
KESIMPULAN .......................................................................................................... 17
4. 1
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Setiap bisnis adalah bisnis digital. Teknologi adalah mesin inovasi Anda, dan
mengirimkan aplikasi Anda dengan lebih cepat membantu Anda menang. Secara
historis, itu membutuhkan banyak upaya manual dan koordinasi yang rumit. Tapi
hari ini, ada Ansible - mesin otomatisasi TI yang sederhana namun canggih yang
digunakan ribuan perusahaan untuk mendorong kerumitan keluar dari lingkungan
mereka dan mempercepat inisiatif DevOps.
Tidak ada yang menyukai tugas yang berulang. Dengan Ansible, admin TI dapat
mulai mengotomatiskan pekerjaan membosankan dari tugas sehari-hari mereka.
Otomatisasi membebaskan admin hingga fokus pada upaya yang membantu
memberikan lebih banyak nilai bagi bisnis dengan mempercepat waktu untuk
pengiriman aplikasi, dan membangun budaya kesuksesan. Akhirnya, Ansible
memberi tim satu hal yang tidak pernah bisa mereka dapatkan: waktu.
Memungkinkan orang pintar untuk fokus pada hal-hal cerdas.
Pada era cloud seperti sekarang, sudah jadi hal umum jika satu orang atau
server Administrator memegang lebih dari satu server. Tentu akan kesulitan jika
sang administrator tidak mempunyai pengetahuan mengenai otomasi server. Untuk
mengatasi hal itu maka terciptalah Ansible, jadi seorang DevOps Engineer tidak
akan hanya berpikir cara instalasi, deployment namun juga cara memeliharanya.
Bayangkan saja ketika ada patch baru pada sebuah software yang tertanam di
beberapa server. Bukan hal yang mudah jika harus mengupdate nya satu per satu.
Langkah termudah dengan menggunakan tool atau software automation seperti
Ansible ini.
1.2. Rumusan Masalah
Berikut beberapa hal yang menjadi rumusan masalah dalam tugas akhir ini:
1. Bagaimana cara mengkonfigurasi server yang banyak dan sama dengan cepat.
2. Bagaimana cara bila ada patch baru maka semua server mendapatkan patch
tersebut
3. Bagaimana cara membuat server yang sama di beda tempat, atau server lain
1.3. Tujuan
Tugas akhir dibuat dengan beberapa tujuan. Berikut beberapa tujuan dari
pembuatan tugas akhir:
1. Hemat waktu dan lebih produktif
2. Hilangkan tugas yang berulang
3. Lebih sedikit kesalahan & kesalahan
4. Tingkatkan kolaborasi dan kepuasan kerja
5. 2
BAB 2
LANDASAN TEORI
2.1. Ansible
Ansible adalah sebuah perangkat lunak komputer atau software yang dapat
membantu seorang devops atau sistem administrator untuk melakukan otomasi di
servernya. Ansible dapat membantu melakukan instalasi, deployment, bahkan
mengupdate server. Ansible dapat juga terkoneksi dengan server semacam LDAP
dan Kerberos kemudian mengatur segala hal yang ada di dalamnya. Lalu
bagaimana ansible bekerja? Ansible pada umumnya bekerja seperti tools lain ,
semacam Chef, Puppet, hanya saja Ansible tidak membutuhkan agent. Ansible
hanya bekerja cukup dengan koneksi SSH.
Ansible bekerja di koneksi SSH remote ke client yang ingin di deploy atau
dilakukan otomasi tersebut. Ansible juga membutuhkan data inventory atau data
server tujuan. Pada pemakaian lebih ke tingkat berikutnya, ansible juga dapat
memainkan peranan seperti playbook dan roles. Konfigurasi ditulis dalam format
markup YAML dan environment variable dapat ditulis pada format JSON. Mengapa
YAML, mungkin karena markup YAML sangat mudah dibaca oleh manusia.
Sehingga ansible dapat menjadi sebuah dokumentasi tersendiri nantinya. (Infra as a
code).
2.2. Apache2
Server HTTP Apache atau Server Web/WWW Apache adalah server web yang
dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft
Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani
dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas
web/www ini menggunakan HTTP.
2.3. Bind9
BIND9 atau Berkeley Internet Name Domain Versi 9 adalah salah satu software
yang biasa digunakan untuk membuat, membangun dan mengatur sebuah DNS
(Domain Name Server) pada sistem operasi Linux.
2.4. Iptables
Iptables adalah suatu tools dalam sistem operasi linux yang berfungsi sebagai
alat untuk melakukan filter (penyaringan) terhadap (trafic) lalulintas data. Secara
sederhana digambarkan sebagai pengatur lalulintas data. Dengan iptables inilah kita
akan mengatur semua lalulintas dalam komputer kita, baik yang masuk ke komputer,
keluar dari komputer, ataupun traffic yang sekedar melewati komputer kita.
2.5. HAProxy
HAProxy adalah sebuah aplikasi opensource berbasis Linux yang biasa
digunakan sebagai load balancing trafic jaringan. Load balancing adalah teknik
untuk mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara
seimbang agar trafik dapat berjalan optimal, memaksimalkan throughput,
memperkecil waktu tanggap dan menghindari overload pada salah satu jalur
6. 3
koneksi. Teknik balancing dapat menggunakan beberapa cara yang berbeda,
tergantung kekompleksan yang ada.
2.6. Proftpd
ProFTPd adalah sebuah aplikasi yang di gunakan untuk melakukan transfer data
atau yang lebih dikenal dengan FTP(file transfer protokol).
Dengan menggunakan proftpd kita dapat membuat sebuah server FTP dimana
nantinya kita bisa membuat sebuah server yang bisa memberikan fasilitas upload
dan download dari server tersebut. ProFTPd juga mudah untuk di konfigurasikan.
2.7. Rsync
rsync adalah adalah sebuah program kecil yang berfungsi hampir sama dengan
scp, namun memiliki fitur tambahan yang lebih banyak dan menggunakan protokol
rsync remote update untuk mempercepat transfer file bila file tujuan sudah ada.
7. 4
BAB 3
PERANCANGAN
3.1. Topology
3.2. Instalasi
# sudo apt-get update
# sudo apt-get install software-properties-common
# sudo apt-add-repository ppa:ansible/ansible
# sudo apt-get update
# sudo apt-get install ansible
3.3. Konfigurasi
Karena berkomunikasi menggunakan protokol SSH dan tanpa password maka
kita harus masukkan ssh id ke server ansible
# ssh-copy-id -i /root/.ssh/id_rsa.pub 10.1.1.1
# ssh-copy-id -i /root/.ssh/id_rsa.pub 10.1.1.10
# ssh-copy-id -i /root/.ssh/id_rsa.pub 10.1.1.20
# ssh-copy-id -i /root/.ssh/id_rsa.pub 10.1.1.30
17. 14
BAB 4
IMPLEMENTASI
Automation Ansible ini sangat cocok di implementasikan bagi sysadmin yang
ingin membuat server yang sama di beda tempat. Untuk contohnya membuat server
di SMKN 4 Bandung dan di SMKN 3 Bandung yang sama persis. Sysadmin hanya
menjalankan script build.sh maka server tersebut akan sama persis, ini sangat
membantu sysadmin dalam menghemat waktu, dan bila ada kesalahan sysadmin
hanya memperbaikinya di satu server saja, dan untuk server yang lain hanya tingal
menjalankan script buld.sh kembali. Hal ini sangat bermanfaat dalam membuat ujian
berbasis komputer dan sysadmin hanya mempersiapkan satu buah komputer saja.
Untuk keamanan semua jalur yang keluar masuk ke server sudah dibatasi
oleh iptables, jadi hanya service-service tertentu yang diijinkan, dan dnsnya
dialihkan ke gateway tidak langsung ke server dns, itu untuk mencegah serangan
yang tidak diinginkan.
Sedangkan untuk webnya sudah dibuat load balancer menggunakan haproxy
untuk mencegah overload pada server web, maka tugasnya dibagi dua agar tidak
down, kedua server web itu saling berhubungan menggunakan rsync untuk
mengsinkronkan file script web di kedua server. Sedangkan jika ingin mengupload
file script web bisa menggunakan via ftp.
- Gambar
Gambar 3.1. Test ping ansible ke semua server
18. 15
Gambar 3.2. Menjalankan script build.sh
Gambar 3.3. Cek webserver load balancer srv3
Gambar 3.4. Cek webserver load balancer srv4
20. 17
BAB 5
KESIMPULAN
Dengan adanya teknologi automation ansible diaharapkan para sysadmin
dapat mengautomation servernya, agar mempermudah kerjanya serta menghemat
waktu pada saat membuat server yang banyak dan sama, dan mengurangi proses
yang berulang. Semoga teknologi automation ansible ini terus berkembang dan
dapat di implementasikan di server-server sekolah dalam hal membuat system ujian
berbasis komputer karena dapat mempermudah pengolahan nilai secara cepat dan
menghemat kertas