SlideShare a Scribd company logo
NETWORK AUTOMATION
WITH ANSIBLE
I PUTU HARIYADI
admin@iputuhariyadi.net
APA ITU ANSIBLE?
www.iputuhariyadi.net
 Menurut situs Ansible, Ansible merupakan mesin otomatisasi Teknologi Informasi (TI)
sederhana yang dapat mengotomatisasi cloud provisioning, manajemen
konfigurasi, penerapan aplikasi, intra-service orchestration dan kebutuhan TI
lainnya.
 Menurut situs Edureka, keuntungan menggunakan Ansible antara lain:
1. Simple, menggunakan sintak penulisan yang ditulis menggunakan YAML yang
disebut dengan playbook.
2. Agentless, tidak diperlukan agent atau software khusus untuk diinstalasi pada
host
yang diautomasi.
3. Powerful & Flexible, memiliki banyak modul untuk manajemen infrastruktur, jaringan,
sistem operasi dan layanan.
4. Efficient, tidak ada software yang diperlukan untuk instalasi pada server sehingga
lebih banyak sumber daya yang dapat digunakan oleh aplikasi.
 Ansible dapat melakukan hal-hal berikut:
1. Provisioning
Ansible memastikan paket-paket yang dibutuhkan akan diunduh dan diinstalasi
sehingga aplikasi dapat diterapkan.
2
APA ITU ANSIBLE?
www.iputuhariyadi.net
2. Configuration Management
Menetapkan dan mempertahankan konsistensi dari kinerja produk dengan mencatat
dan memperbaharui informasi lengkap yang menjelaskan perangkat keras dan lunak
perusahaan. Seperti versi dan pembaharuan yang telah diterapkan pada paket
software yang terinstal dan lokasi serta alamat jaringan dari perangkat keras.
3. Application Deployment
Ansible dapat memanajemen secara efektif keseluruhan life cycle dari aplikasi, mulai
dari development sampai produksi.
4. Security and Compliance
Kebijakan keamanan dapat didefinisikan pada Ansible sehingga proses pemindaian
dan pemulihan kebijakan ke lokasi dapat diintegrasikan ke dalam proses secara
otomatis.
5. Orchestration
Ansible menyediakan orchestration dalam arti menyelaraskan permintaan bisnis
dengan aplikasi, data, dan infrastruktur. Ini mendefinisikan kebijakan dan tingkat
layanan melalui alur kerja otomatis, penyediaan, dan manajemen perubahan
sehingga menciptakan aplikasi selaras dengan infrastruktur yang dapat ditingkatkan
dari atas ke bawah berdasarkan kebutuhan setiap aplikasi.
3
TERMINOLOGI PADA ANSIBLE (Sumber: Edureka)
 Controller Machine: mesin dimana ansible diinstalasi dan bertanggungjawab untuk
menjalankan provisioning pada server yang dikelola.
 Inventory: file inisialisasi yang memuat informasi tentang server yang dikelola.
 Playbook: Titik masuk untuk Ansible provisioning, dimana automasi didefinisikan
melalui tugas (tasks) menggunakan format YAML..
 Task: Blok yang mendefinisikan satu prosedur untuk dieksekusi, sebagai contoh
instalasi package tertentu.
 Module: Modul merupakan abstraksi dari tugas sistem, seperti berkaitan dengan
package atau membuat dan mengubah file. Ansible memiliki banyak modul built-in,
namun dapat juga dibuat modul custom.
 Role: Cara yang telah ditentukan sebelumnya untuk mengatur playbook dan file
lainnya untuk memfasilitasi berbagi pakai dan menggunakan kembali bagian dari
provisioning.
 Play: provisioning yang dieksekusi mulai dari awal sampai akhir disebut dengan
play.
Dengan kata lain, eksekusi dari playbook disebut dengan play.
 Facts: variable global yang memuat informasi tentang sistem, seperti interface
jaringan atau sistem operasi.
 Handlers: Digunakan untuk memicu perubahan status dari service, seperti me-
atau menghentikan service. www.iputuhariyadi.net
4
ANSIBLE ARCHITECTURE
5
Sumber: edureka (https://cdn.edureka.co/blog/wp-content/uploads/2016/11/Ansible-Architechture-What-Is-Ansible-Edureka.png)
www.iputuhariyadi.net
RANCANGAN JARINGAN UJICOBA
Rancangan jaringan ujicoba
disimulasikan menggunakan
VMWare
Workstation 14 Pro. Terdapat 4 (empat)
Virtual Machine (VM) yang dibuat yaitu:
 1 VM Router Gateway
menggunakan
MikroTik Cloud Hosted Router (CHR).
Interface ether1 di Mikrotik
Gateway menggunakan mode
network connection host-only
(VMnet1).
Sedangkan untuk interface ether2
menggunakan mode NAT.
 1 VM Ansible Control Machine dan 2
VM Managed Machine
menggunakan Linux CentOS 6.8.
Keseluruhan interface jaringan eth0
baik pada Control Machine maupun
Managed Machine menggunakan
mode network connection host-only
www.iputuhariyadi.net
6
INTERNET
ANSIBLE
SERVER02
(MANAGED
MACHINE)
ANSIBLE
SERVER01
(MANAGED
MACHINE)
ANSIBLE
NS1
(CONTROL
MACHINE)
Network
192.168.0.0/24
ether1
.1
DHCP Client
GATEWAY ether2
eth0
.254
eth0
.253
eth0
.252
INSTALASI & KONFIGURASI MIKROTIK CHR SEBAGAI
ROUTER GATEWAY UNTUK KONEKSI INTERNET
 Unduh Mikrotik CHR dari situs Mikrotik pada alamat https://mikrotik.com/download.
 Lakukan instalasi Mikrotik CHR sebagai Virtual Machine (VM) pada VMWare
Workstation 14 Pro.
 Akses VM Mikrotik CHR pada VMWare Workstation maka akan tampil inputan MikroTik
Login, seperti berikut:
Masukkan “admin” dan tekan Enter. Selanjutnya tampil inputan Password: Tekan Enter
karena secara default user “admin” tidak memiliki password (tanpa sandi).
 Menampilkan informasi interface yang dimiliki oleh MikroTik.
 Mengatur DHCP Client pada interface ether2.
www.iputuhariyadi.net
7
KONFIGURASI PADA MIKROTIK CHR SEBAGAI
ROUTER GATEWAY UNTUK KONEKSI INTERNET
 Memverifikasi pengaturan DHCP Client pada interface ether2.
 Mengatur pengalamatan IP pada interface ether1
 Menampilkan informasi pengalamatan IP pada interface.
 Mengatur agar router gateway sebagai Server DNS untuk jaringan lokal.
8
www.iputuhariyadi.net
KONFIGURASI PADA MIKROTIK CHR SEBAGAI
ROUTER GATEWAY UNTUK KONEKSI INTERNET
 Mengatur Internet Connection Sharing (ICS)
 Menampilkan informasi pengaturan ICS.
 Memverifikasi koneksi ke Internet
9
www.iputuhariyadi.net
TAHAPAN INSTALASI DAN KONFIGURASI CENTOS 6.8
 Lakukan instalasi Linux CentOS 6.8 sebagai Virtual Machine (VM) pada VMWare
Workstation yang difungsikan sebagai Ansible Control Machine. Langkah-
langkahnya dapat mengikuti tutorial “Instalasi Linux CentOS 6.4 Pada VMWare
Workstation 10”. Link situs terdapat pada bagian Referensi di halaman terakhir.
 Setelah selesai instalasi, lakukan penonaktifan SELinux dan service IPTables.
 Penonaktifan fitur SELinux dilakukan dengan mengubah nilai dari parameter
SELINUX=enforcing menjadi SELINUX=disabled pada file /etc/selinux/config.
Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk
keluar dari editor nano.
 Menonaktifkan fitur IPTables.
10
www.iputuhariyadi.net
TAHAPAN INSTALASI DAN KONFIGURASI CENTOS 6.8
 Memverifikasi hasil penonaktifan fitur IPTables.
 Men-shutdown VM Ansible Control Machine untuk proses Clone.
 Clone VM Ansible Control Machine dengan jenis linked clone sebanyak 2 (dua) VM
yang difungsikan sebagai Ansible Managed Machine Server01 & Server02.
 Lakukan pengaturan pengalamatan IP pada interface eth0 pada masing-masing
Machine dengan ketentuan sebagai berikut:
1. Control Machine: 192.168.0.254/24
2. Managed Machine Server01: 192.168.0.253/24
3. Managed Machine Server02: 192.168.0.252/24
Alamat IP Default gateway dan Server DNS untuk seluruh machine adalah
192.168.0.1. Perhatian: khusus untuk Managed Machine lakukan perbaikan MAC-
Address yang tidak konsisten pada interface eth0 sebagai dampak proses Clone
VM. Perbaikan dapat dilakukan dengan mengikuti tutorial “Troubleshoot Networking
Pada Cloned Linux CentOS 6.8 Virtual Machine di VMWare Workstation 12”.
 Verifikasi menggunakan perintah ping ke salah satu situs di Internet untuk
memastikan seluruh Machine dapat terkoneksi ke Internet. www.iputuhariyadi.net
11
MENGATUR PENGALAMATAN IP PADA
CONTROL MACHINE
 Mengatur pengalamatan IP pada interface eth0 menggunakan editor nano.
Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk
keluar dari editor nano.
 Mengaktifkan perubahan pengaturan pengalamatan IP pada interface
eth0.
# service network restart
12
www.iputuhariyadi.net
VERIFIKASI PADA CONTROL MACHINE
 Memverifikasi koneksi ke salah satu situs di Internet sebagai contoh google.com.
Terlihat koneksi ke Internet berhasil dilakukan. Tekan CTRL+C untuk menghentikan
ping.
13
 Memverifikasi pengalamatan IP pada
interface eth0.
www.iputuhariyadi.net
MENGATUR PENGALAMATAN IP
PADA MANAGED MACHINE
SERVER01
 Mengatur pengalamatan IP pada interface eth0
menggunakan editor nano.
Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk
keluar dari editor nano.
 Mengaktifkan perubahan pengaturan pengalamatan IP pada interface
eth0.
# service network restart
14
www.iputuhariyadi.net
VERIFIKASI PADA MANAGED MACHINE SERVER01
 Memverifikasi koneksi ke salah satu situs di Internet sebagai contoh ansible.com.
Terlihat koneksi ke Internet berhasil dilakukan. Tekan CTRL+C untuk menghentikan
ping.
15
 Memverifikasi pengalamatan IP pada
interface eth0.
www.iputuhariyadi.net
MENGATUR PENGALAMATAN IP
PADA MANAGED MACHINE
SERVER02
 Mengatur pengalamatan IP pada interface eth0
menggunakan editor nano.
Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk
keluar dari editor nano.
 Mengaktifkan perubahan pengaturan pengalamatan IP pada interface
eth0.
# service network restart
16
www.iputuhariyadi.net
VERIFIKASI PADA MANAGED MACHINE SERVER02
 Memverifikasi koneksi ke salah satu situs di Internet sebagai contoh yahoo.com.
Terlihat koneksi ke Internet berhasil dilakukan. Tekan CTRL+C untuk menghentikan
ping.
17
 Memverifikasi pengalamatan IP pada
interface eth0.
www.iputuhariyadi.net
INSTALASI ANSIBLE PADA CONTROL MACHINE
1. Menambahkan repository Extra Packages for Enterprise Linux (EPEL) karena Ansible
tidak tersedia secara default pada Yum Repositories.
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
2. Menginstalasi Ansible.
# yum install ansible -y
3. Memverifikasi hasil instalasi Ansible.
# ansible --version
www.iputuhariyadi.net
18
MENGATUR PUBLIC KEY AUTHENTICATION
UNTUK SSH
1. Membuat key pair menggunakan utilitas ssh-keygen pada control machine.
# ssh-keygen
Tekan Enter pada inputan Enter file in which to save the key (/root/.ssh/id_rsa):
untuk menggunakan lokasi dan nama file default penyimpanan key yaitu
/root/.ssh/id_rsa.
Tekan Enter pada inputan “Enter passphrase (empty for no passphrase):” dan “Enter
same passphrase again:” yang tampil untuk apabila ingin mengosongkan
passphrase. Tampil proses pembuatan key. Tunggu hingga proses selesai dilakukan.
2. Menyalinkan public key dari control machine ke managed machines
menggunakan utilitas ssh-copy-id.
# ssh-copy-id -i root@192.168.0.253
19
www.iputuhariyadi.net
MENGATUR PUBLIC KEY AUTHENTICATION
UNTUK SSH
 Ketik yes dan tekan Enter pada pesan konfirmasi Are you sure you want to
continue connection (yes/no)?.
Selanjutnya tampil inputan password untuk user root untuk managed machine
server01 dengan alamat IP 192.168.0.253 yaitu “12345678”.
Dengan cara yang sama, lakukan untuk managed machine server02 dengan
alamat IP 192.168.0.252
# ssh-copy-id -i root@192.168.0.252
20
www.iputuhariyadi.net
MENGATUR PUBLIC KEY AUTHENTICATION
UNTUK SSH
www.iputuhariyadi.net
3. Memverifikasi hasil pengaturan public key authentication untuk SSH dengan cara
mengakses managed machines menggunakan SSH Client. Sebagai contoh SSH ke
server01:
# ssh root@192.168.0.253
Anda dapat mengakses ke server01 tanpa password. Untuk keluar dari server01,
ketik “exit” dan tekan Enter.
Dengan cara yang sama, lakukan ujicoba SSH ke server02:
# ssh root@192.168.0.252
21
MENGATUR ANSIBLE INVENTORY
www.iputuhariyadi.net
 Inventory merupakan file inisialisasi yang digunakan oleh Ansible untuk
mendaftarkan dan mengelompokkan mesin atau host yang akan dikelola.
 Lokasi dari file inventory secara default adalah “/etc/ansible/hosts”.
 Menambahkan managed machines ke file inventory menggunakan editor
nano.
# nano /etc/ansible/hosts
[servers]
server01
ansible_host=192.168.0.25
3
server02
ansible_host=192.168.0.25
2
Simpan perubahan dengan menekan CTRL+O dan tekan Enter. Keluar dari
editor nano dengan menekan CTRL+X.
 Memverifikasi hasil penambahan inventory.
# cat /etc/ansible/hosts
22
CARA MENJALANKAN ANSIBLE
Terdapat 3 (tiga) cara untuk menjalankan Ansible yaitu:
1. Ad-Hoc
ansible <inventory> -m
Sebagai contoh eksekusi ansible untuk group inventory dengan nama “servers” dan
modul ping.
# ansible servers –m ping
2. Playbooks
ansible-playbook filename.yml
Sebagai contoh eksekusi ansible playbook dengan nama file vsftpd.yml.
# ansible-playbook vsftpd.yml
3. Automation Framework
Menurut situs Ansible, Ansible Tower merupakan solusi berbasis web yang membuat
Ansible lebih mudah digunakan untuk tim TI dan dirancang untuk menjadi pusat
semua tugas otomasi serta memungkinkan untuk mengontrol akses pengguna.
Inventory dapat dikelola secara grafis atau disinkronisasikan dengan beragam
sumber Cloud. Tower juga mencatat (log) semua pekerjaan, terintegrasi dengan
LDAP dan memiliki API REST. Tersedia pula tool Command Line untuk memudahkan
integrasi dengan Jenkins juga.
www.iputuhariyadi.net
23
ANSIBLE AD-HOC (1)
 Memverifikasi koneksi ke seluruh managed machines untuk group “servers”
menggunakan modul ping.
24
www.iputuhariyadi.net
ANSIBLE AD-HOC (2)
 Memverifikasi koneksi ke managed machine tertentu, sebagai contoh ke
server01 menggunakan modul ping.
 Memverifikasi koneksi ke managed machine tertentu, sebagai contoh ke
server02 menggunakan modul ping.
25
www.iputuhariyadi.net
ANSIBLE AD-HOC (3)
 Menampilkan informasi system uptime dari managed machine dengan nama
group “servers” menggunakan modul command.
 Menampilkan informasi ukuran memori baik yang free maupun used dalam satuan
megabytes dari managed machine group “servers” menggunakan modul
command.
www.iputuhariyadi.net
26
ANSIBLE AD-HOC (4)
 Melakukan reboot pada managed machine pada group “servers” dengan
menggunakan modul shell.
 Memverifikasi apakah paket ftp telah terinstalasi pada managed machine pada
group “servers” dengan menggunakan modul yum.
27
Output yumstate: available berarti
paket ftp belum terinstalasi pada
server01.
www.iputuhariyadi.net
ANSIBLE AD-HOC (4)
28
Output yumstate: available
berarti paket ftp belum
terinstalasi pada server02.
 Menginstalasi paket ftp pada managed machine pada group “servers” dengan
menggunakan modul yum.
Setelah proses instalasi selesai dilakukan, lakukan verifikasi kembali menggunakan:
Output yumstate: installed berarti paket ftp telah terinstalasi baik pada server01
maupun server02.
www.iputuhariyadi.net
ANSIBLE PLAYBOOK (1)
 Membuat file playbook menggunakan editor nano dengan ekstensi “yml” untuk
menginstalasi paket vsftpd pada managed machine pada group “servers” dan
menjalankan serta mengaktifkan service vsftpd ketika booting awal Linux CentOS.
# nano vsftpd.yml
---
- hosts: servers
remote_user: root
gather_facts: false
tasks:
- name: install
vsftpd package
yum: name=vsftpd
state=present
www.iputuhariyadi.net
29
- name: action to start and enable vsftpd
service: name=vsftpd state=started enabled=yes
• Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk keluar
dari editor nano.
ANSIBLE PLAYBOOK (2)
 Ansible Check Mode (Dry Run) digunakan sebagai simulasi.
30
www.iputuhariyadi.net
ANSIBLE PLAYBOOK (3)
 Mengeksekusi playbook file “vsftpd.yml” menggunakan ansible-playbook.
31
www.iputuhariyadi.net
ANSIBLE PLAYBOOK (4)
 Memverifikasi paket vsftpd telah terinstal.
Output yumstate: installed berarti paket vsftpd telah terinstalasi baik pada
server01 maupun server02.
 Memverifikasi status service vsftpd apakah telah berjalan.
 Memverifikasi service vsftpd telah di enable.
www.iputuhariyadi.net
32
ADA PERTANYAAN?
www.iputuhariyadi.net
33
TERIMAKASIH
www.iputuhariyadi.net
34
REFERENSI
www.iputuhariyadi.net
 Ansible Documentation, http://docs.ansible.com/
 Edureka Website, https://www.edureka.co/
 Instalasi Linux CentOS 6.4 Pada VMWare Workstation 10,
https://www.slideshare.net/putuhariyadi/instalasi-centos-64-pada-vmware-
workstation-10
 I Putu Hariyadi Website, Troubleshoot Networking Pada Cloned Linux CentOS 6.8
Virtual Machine di VMWare Workstation 12,
https://iputuhariyadi.net/2016/10/16/troubleshoot-networking-pada-cloned-linux-
centos-6-8-virtual-machine-di-vmware-workstation-12/
35

More Related Content

PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PPTX
Fast Path, Fast Track and ISP Netwotk Design.pptx
PDF
2024 State of Marketing Report – by Hubspot
PDF
Everything You Need To Know About ChatGPT
PDF
Product Design Trends in 2024 | Teenage Engineerings
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
2024 Trend Updates: What Really Works In SEO & Content Marketing
Fast Path, Fast Track and ISP Netwotk Design.pptx
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings

Recently uploaded (7)

PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
PDF
Modul_Pemula_Merakit_Komputer untuk smppdf
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PPT
pengantar-sistem-informasi manajemen.ppt
PDF
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
Materi_Array_Karakter_String untuk kelas XI sma.pptx
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Modul_Pemula_Merakit_Komputer untuk smppdf
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
pengantar-sistem-informasi manajemen.ppt
Rekomendasi Riset Lanjutan : perspektif_futurologis.pdf
Ad
Ad

SETTING NETWORK AUTOMATION WITH ANSIBLE.pptx

  • 1. NETWORK AUTOMATION WITH ANSIBLE I PUTU HARIYADI admin@iputuhariyadi.net
  • 2. APA ITU ANSIBLE? www.iputuhariyadi.net  Menurut situs Ansible, Ansible merupakan mesin otomatisasi Teknologi Informasi (TI) sederhana yang dapat mengotomatisasi cloud provisioning, manajemen konfigurasi, penerapan aplikasi, intra-service orchestration dan kebutuhan TI lainnya.  Menurut situs Edureka, keuntungan menggunakan Ansible antara lain: 1. Simple, menggunakan sintak penulisan yang ditulis menggunakan YAML yang disebut dengan playbook. 2. Agentless, tidak diperlukan agent atau software khusus untuk diinstalasi pada host yang diautomasi. 3. Powerful & Flexible, memiliki banyak modul untuk manajemen infrastruktur, jaringan, sistem operasi dan layanan. 4. Efficient, tidak ada software yang diperlukan untuk instalasi pada server sehingga lebih banyak sumber daya yang dapat digunakan oleh aplikasi.  Ansible dapat melakukan hal-hal berikut: 1. Provisioning Ansible memastikan paket-paket yang dibutuhkan akan diunduh dan diinstalasi sehingga aplikasi dapat diterapkan. 2
  • 3. APA ITU ANSIBLE? www.iputuhariyadi.net 2. Configuration Management Menetapkan dan mempertahankan konsistensi dari kinerja produk dengan mencatat dan memperbaharui informasi lengkap yang menjelaskan perangkat keras dan lunak perusahaan. Seperti versi dan pembaharuan yang telah diterapkan pada paket software yang terinstal dan lokasi serta alamat jaringan dari perangkat keras. 3. Application Deployment Ansible dapat memanajemen secara efektif keseluruhan life cycle dari aplikasi, mulai dari development sampai produksi. 4. Security and Compliance Kebijakan keamanan dapat didefinisikan pada Ansible sehingga proses pemindaian dan pemulihan kebijakan ke lokasi dapat diintegrasikan ke dalam proses secara otomatis. 5. Orchestration Ansible menyediakan orchestration dalam arti menyelaraskan permintaan bisnis dengan aplikasi, data, dan infrastruktur. Ini mendefinisikan kebijakan dan tingkat layanan melalui alur kerja otomatis, penyediaan, dan manajemen perubahan sehingga menciptakan aplikasi selaras dengan infrastruktur yang dapat ditingkatkan dari atas ke bawah berdasarkan kebutuhan setiap aplikasi. 3
  • 4. TERMINOLOGI PADA ANSIBLE (Sumber: Edureka)  Controller Machine: mesin dimana ansible diinstalasi dan bertanggungjawab untuk menjalankan provisioning pada server yang dikelola.  Inventory: file inisialisasi yang memuat informasi tentang server yang dikelola.  Playbook: Titik masuk untuk Ansible provisioning, dimana automasi didefinisikan melalui tugas (tasks) menggunakan format YAML..  Task: Blok yang mendefinisikan satu prosedur untuk dieksekusi, sebagai contoh instalasi package tertentu.  Module: Modul merupakan abstraksi dari tugas sistem, seperti berkaitan dengan package atau membuat dan mengubah file. Ansible memiliki banyak modul built-in, namun dapat juga dibuat modul custom.  Role: Cara yang telah ditentukan sebelumnya untuk mengatur playbook dan file lainnya untuk memfasilitasi berbagi pakai dan menggunakan kembali bagian dari provisioning.  Play: provisioning yang dieksekusi mulai dari awal sampai akhir disebut dengan play. Dengan kata lain, eksekusi dari playbook disebut dengan play.  Facts: variable global yang memuat informasi tentang sistem, seperti interface jaringan atau sistem operasi.  Handlers: Digunakan untuk memicu perubahan status dari service, seperti me- atau menghentikan service. www.iputuhariyadi.net 4
  • 5. ANSIBLE ARCHITECTURE 5 Sumber: edureka (https://cdn.edureka.co/blog/wp-content/uploads/2016/11/Ansible-Architechture-What-Is-Ansible-Edureka.png) www.iputuhariyadi.net
  • 6. RANCANGAN JARINGAN UJICOBA Rancangan jaringan ujicoba disimulasikan menggunakan VMWare Workstation 14 Pro. Terdapat 4 (empat) Virtual Machine (VM) yang dibuat yaitu:  1 VM Router Gateway menggunakan MikroTik Cloud Hosted Router (CHR). Interface ether1 di Mikrotik Gateway menggunakan mode network connection host-only (VMnet1). Sedangkan untuk interface ether2 menggunakan mode NAT.  1 VM Ansible Control Machine dan 2 VM Managed Machine menggunakan Linux CentOS 6.8. Keseluruhan interface jaringan eth0 baik pada Control Machine maupun Managed Machine menggunakan mode network connection host-only www.iputuhariyadi.net 6 INTERNET ANSIBLE SERVER02 (MANAGED MACHINE) ANSIBLE SERVER01 (MANAGED MACHINE) ANSIBLE NS1 (CONTROL MACHINE) Network 192.168.0.0/24 ether1 .1 DHCP Client GATEWAY ether2 eth0 .254 eth0 .253 eth0 .252
  • 7. INSTALASI & KONFIGURASI MIKROTIK CHR SEBAGAI ROUTER GATEWAY UNTUK KONEKSI INTERNET  Unduh Mikrotik CHR dari situs Mikrotik pada alamat https://mikrotik.com/download.  Lakukan instalasi Mikrotik CHR sebagai Virtual Machine (VM) pada VMWare Workstation 14 Pro.  Akses VM Mikrotik CHR pada VMWare Workstation maka akan tampil inputan MikroTik Login, seperti berikut: Masukkan “admin” dan tekan Enter. Selanjutnya tampil inputan Password: Tekan Enter karena secara default user “admin” tidak memiliki password (tanpa sandi).  Menampilkan informasi interface yang dimiliki oleh MikroTik.  Mengatur DHCP Client pada interface ether2. www.iputuhariyadi.net 7
  • 8. KONFIGURASI PADA MIKROTIK CHR SEBAGAI ROUTER GATEWAY UNTUK KONEKSI INTERNET  Memverifikasi pengaturan DHCP Client pada interface ether2.  Mengatur pengalamatan IP pada interface ether1  Menampilkan informasi pengalamatan IP pada interface.  Mengatur agar router gateway sebagai Server DNS untuk jaringan lokal. 8 www.iputuhariyadi.net
  • 9. KONFIGURASI PADA MIKROTIK CHR SEBAGAI ROUTER GATEWAY UNTUK KONEKSI INTERNET  Mengatur Internet Connection Sharing (ICS)  Menampilkan informasi pengaturan ICS.  Memverifikasi koneksi ke Internet 9 www.iputuhariyadi.net
  • 10. TAHAPAN INSTALASI DAN KONFIGURASI CENTOS 6.8  Lakukan instalasi Linux CentOS 6.8 sebagai Virtual Machine (VM) pada VMWare Workstation yang difungsikan sebagai Ansible Control Machine. Langkah- langkahnya dapat mengikuti tutorial “Instalasi Linux CentOS 6.4 Pada VMWare Workstation 10”. Link situs terdapat pada bagian Referensi di halaman terakhir.  Setelah selesai instalasi, lakukan penonaktifan SELinux dan service IPTables.  Penonaktifan fitur SELinux dilakukan dengan mengubah nilai dari parameter SELINUX=enforcing menjadi SELINUX=disabled pada file /etc/selinux/config. Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk keluar dari editor nano.  Menonaktifkan fitur IPTables. 10 www.iputuhariyadi.net
  • 11. TAHAPAN INSTALASI DAN KONFIGURASI CENTOS 6.8  Memverifikasi hasil penonaktifan fitur IPTables.  Men-shutdown VM Ansible Control Machine untuk proses Clone.  Clone VM Ansible Control Machine dengan jenis linked clone sebanyak 2 (dua) VM yang difungsikan sebagai Ansible Managed Machine Server01 & Server02.  Lakukan pengaturan pengalamatan IP pada interface eth0 pada masing-masing Machine dengan ketentuan sebagai berikut: 1. Control Machine: 192.168.0.254/24 2. Managed Machine Server01: 192.168.0.253/24 3. Managed Machine Server02: 192.168.0.252/24 Alamat IP Default gateway dan Server DNS untuk seluruh machine adalah 192.168.0.1. Perhatian: khusus untuk Managed Machine lakukan perbaikan MAC- Address yang tidak konsisten pada interface eth0 sebagai dampak proses Clone VM. Perbaikan dapat dilakukan dengan mengikuti tutorial “Troubleshoot Networking Pada Cloned Linux CentOS 6.8 Virtual Machine di VMWare Workstation 12”.  Verifikasi menggunakan perintah ping ke salah satu situs di Internet untuk memastikan seluruh Machine dapat terkoneksi ke Internet. www.iputuhariyadi.net 11
  • 12. MENGATUR PENGALAMATAN IP PADA CONTROL MACHINE  Mengatur pengalamatan IP pada interface eth0 menggunakan editor nano. Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk keluar dari editor nano.  Mengaktifkan perubahan pengaturan pengalamatan IP pada interface eth0. # service network restart 12 www.iputuhariyadi.net
  • 13. VERIFIKASI PADA CONTROL MACHINE  Memverifikasi koneksi ke salah satu situs di Internet sebagai contoh google.com. Terlihat koneksi ke Internet berhasil dilakukan. Tekan CTRL+C untuk menghentikan ping. 13  Memverifikasi pengalamatan IP pada interface eth0. www.iputuhariyadi.net
  • 14. MENGATUR PENGALAMATAN IP PADA MANAGED MACHINE SERVER01  Mengatur pengalamatan IP pada interface eth0 menggunakan editor nano. Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk keluar dari editor nano.  Mengaktifkan perubahan pengaturan pengalamatan IP pada interface eth0. # service network restart 14 www.iputuhariyadi.net
  • 15. VERIFIKASI PADA MANAGED MACHINE SERVER01  Memverifikasi koneksi ke salah satu situs di Internet sebagai contoh ansible.com. Terlihat koneksi ke Internet berhasil dilakukan. Tekan CTRL+C untuk menghentikan ping. 15  Memverifikasi pengalamatan IP pada interface eth0. www.iputuhariyadi.net
  • 16. MENGATUR PENGALAMATAN IP PADA MANAGED MACHINE SERVER02  Mengatur pengalamatan IP pada interface eth0 menggunakan editor nano. Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk keluar dari editor nano.  Mengaktifkan perubahan pengaturan pengalamatan IP pada interface eth0. # service network restart 16 www.iputuhariyadi.net
  • 17. VERIFIKASI PADA MANAGED MACHINE SERVER02  Memverifikasi koneksi ke salah satu situs di Internet sebagai contoh yahoo.com. Terlihat koneksi ke Internet berhasil dilakukan. Tekan CTRL+C untuk menghentikan ping. 17  Memverifikasi pengalamatan IP pada interface eth0. www.iputuhariyadi.net
  • 18. INSTALASI ANSIBLE PADA CONTROL MACHINE 1. Menambahkan repository Extra Packages for Enterprise Linux (EPEL) karena Ansible tidak tersedia secara default pada Yum Repositories. # rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 2. Menginstalasi Ansible. # yum install ansible -y 3. Memverifikasi hasil instalasi Ansible. # ansible --version www.iputuhariyadi.net 18
  • 19. MENGATUR PUBLIC KEY AUTHENTICATION UNTUK SSH 1. Membuat key pair menggunakan utilitas ssh-keygen pada control machine. # ssh-keygen Tekan Enter pada inputan Enter file in which to save the key (/root/.ssh/id_rsa): untuk menggunakan lokasi dan nama file default penyimpanan key yaitu /root/.ssh/id_rsa. Tekan Enter pada inputan “Enter passphrase (empty for no passphrase):” dan “Enter same passphrase again:” yang tampil untuk apabila ingin mengosongkan passphrase. Tampil proses pembuatan key. Tunggu hingga proses selesai dilakukan. 2. Menyalinkan public key dari control machine ke managed machines menggunakan utilitas ssh-copy-id. # ssh-copy-id -i root@192.168.0.253 19 www.iputuhariyadi.net
  • 20. MENGATUR PUBLIC KEY AUTHENTICATION UNTUK SSH  Ketik yes dan tekan Enter pada pesan konfirmasi Are you sure you want to continue connection (yes/no)?. Selanjutnya tampil inputan password untuk user root untuk managed machine server01 dengan alamat IP 192.168.0.253 yaitu “12345678”. Dengan cara yang sama, lakukan untuk managed machine server02 dengan alamat IP 192.168.0.252 # ssh-copy-id -i root@192.168.0.252 20 www.iputuhariyadi.net
  • 21. MENGATUR PUBLIC KEY AUTHENTICATION UNTUK SSH www.iputuhariyadi.net 3. Memverifikasi hasil pengaturan public key authentication untuk SSH dengan cara mengakses managed machines menggunakan SSH Client. Sebagai contoh SSH ke server01: # ssh root@192.168.0.253 Anda dapat mengakses ke server01 tanpa password. Untuk keluar dari server01, ketik “exit” dan tekan Enter. Dengan cara yang sama, lakukan ujicoba SSH ke server02: # ssh root@192.168.0.252 21
  • 22. MENGATUR ANSIBLE INVENTORY www.iputuhariyadi.net  Inventory merupakan file inisialisasi yang digunakan oleh Ansible untuk mendaftarkan dan mengelompokkan mesin atau host yang akan dikelola.  Lokasi dari file inventory secara default adalah “/etc/ansible/hosts”.  Menambahkan managed machines ke file inventory menggunakan editor nano. # nano /etc/ansible/hosts [servers] server01 ansible_host=192.168.0.25 3 server02 ansible_host=192.168.0.25 2 Simpan perubahan dengan menekan CTRL+O dan tekan Enter. Keluar dari editor nano dengan menekan CTRL+X.  Memverifikasi hasil penambahan inventory. # cat /etc/ansible/hosts 22
  • 23. CARA MENJALANKAN ANSIBLE Terdapat 3 (tiga) cara untuk menjalankan Ansible yaitu: 1. Ad-Hoc ansible <inventory> -m Sebagai contoh eksekusi ansible untuk group inventory dengan nama “servers” dan modul ping. # ansible servers –m ping 2. Playbooks ansible-playbook filename.yml Sebagai contoh eksekusi ansible playbook dengan nama file vsftpd.yml. # ansible-playbook vsftpd.yml 3. Automation Framework Menurut situs Ansible, Ansible Tower merupakan solusi berbasis web yang membuat Ansible lebih mudah digunakan untuk tim TI dan dirancang untuk menjadi pusat semua tugas otomasi serta memungkinkan untuk mengontrol akses pengguna. Inventory dapat dikelola secara grafis atau disinkronisasikan dengan beragam sumber Cloud. Tower juga mencatat (log) semua pekerjaan, terintegrasi dengan LDAP dan memiliki API REST. Tersedia pula tool Command Line untuk memudahkan integrasi dengan Jenkins juga. www.iputuhariyadi.net 23
  • 24. ANSIBLE AD-HOC (1)  Memverifikasi koneksi ke seluruh managed machines untuk group “servers” menggunakan modul ping. 24 www.iputuhariyadi.net
  • 25. ANSIBLE AD-HOC (2)  Memverifikasi koneksi ke managed machine tertentu, sebagai contoh ke server01 menggunakan modul ping.  Memverifikasi koneksi ke managed machine tertentu, sebagai contoh ke server02 menggunakan modul ping. 25 www.iputuhariyadi.net
  • 26. ANSIBLE AD-HOC (3)  Menampilkan informasi system uptime dari managed machine dengan nama group “servers” menggunakan modul command.  Menampilkan informasi ukuran memori baik yang free maupun used dalam satuan megabytes dari managed machine group “servers” menggunakan modul command. www.iputuhariyadi.net 26
  • 27. ANSIBLE AD-HOC (4)  Melakukan reboot pada managed machine pada group “servers” dengan menggunakan modul shell.  Memverifikasi apakah paket ftp telah terinstalasi pada managed machine pada group “servers” dengan menggunakan modul yum. 27 Output yumstate: available berarti paket ftp belum terinstalasi pada server01. www.iputuhariyadi.net
  • 28. ANSIBLE AD-HOC (4) 28 Output yumstate: available berarti paket ftp belum terinstalasi pada server02.  Menginstalasi paket ftp pada managed machine pada group “servers” dengan menggunakan modul yum. Setelah proses instalasi selesai dilakukan, lakukan verifikasi kembali menggunakan: Output yumstate: installed berarti paket ftp telah terinstalasi baik pada server01 maupun server02. www.iputuhariyadi.net
  • 29. ANSIBLE PLAYBOOK (1)  Membuat file playbook menggunakan editor nano dengan ekstensi “yml” untuk menginstalasi paket vsftpd pada managed machine pada group “servers” dan menjalankan serta mengaktifkan service vsftpd ketika booting awal Linux CentOS. # nano vsftpd.yml --- - hosts: servers remote_user: root gather_facts: false tasks: - name: install vsftpd package yum: name=vsftpd state=present www.iputuhariyadi.net 29 - name: action to start and enable vsftpd service: name=vsftpd state=started enabled=yes • Simpan perubahan dengan menekan CTRL+O dan Enter. Tekan CTRL+X untuk keluar dari editor nano.
  • 30. ANSIBLE PLAYBOOK (2)  Ansible Check Mode (Dry Run) digunakan sebagai simulasi. 30 www.iputuhariyadi.net
  • 31. ANSIBLE PLAYBOOK (3)  Mengeksekusi playbook file “vsftpd.yml” menggunakan ansible-playbook. 31 www.iputuhariyadi.net
  • 32. ANSIBLE PLAYBOOK (4)  Memverifikasi paket vsftpd telah terinstal. Output yumstate: installed berarti paket vsftpd telah terinstalasi baik pada server01 maupun server02.  Memverifikasi status service vsftpd apakah telah berjalan.  Memverifikasi service vsftpd telah di enable. www.iputuhariyadi.net 32
  • 35. REFERENSI www.iputuhariyadi.net  Ansible Documentation, http://docs.ansible.com/  Edureka Website, https://www.edureka.co/  Instalasi Linux CentOS 6.4 Pada VMWare Workstation 10, https://www.slideshare.net/putuhariyadi/instalasi-centos-64-pada-vmware- workstation-10  I Putu Hariyadi Website, Troubleshoot Networking Pada Cloned Linux CentOS 6.8 Virtual Machine di VMWare Workstation 12, https://iputuhariyadi.net/2016/10/16/troubleshoot-networking-pada-cloned-linux- centos-6-8-virtual-machine-di-vmware-workstation-12/ 35