Hi gengz, pada tutorial kali ini kita akan mencoba yang sesuai dengan judul diatas ya, Yuk cekidot
Proses
Agar lebih jelas, proses yang akan kita lakukan adalah sebagai berikut :
- Kita akan melakukan provisioning/membuat resource cloud menggunakan Terraform, dalam hal ini AWS
- Secara umum kita akan membuat 3 server yang nantinya akan memiliki 3 ip public
- Setelah provisioning selesai, kita akan eksekusi Ansible playbook terhadap server tersebut
Requirements
- AWS CLI terinstall dan di configure
- Terraform terinstall
- WSL terinstall, dalam contoh kali ini saya memilih OS Ubuntu 22.04
- Ansible diinstall di dalam WSL
Provision Instance di AWS
Mari kita clone git dibawah ini
https://github.com/ludesdeveloper/terraform-module-based-approachment.git
git clone https://github.com/ludesdeveloper/terraform-module-based-approachment.git
Masuk ke dalam directory
cd terraform-module-based-approachment
Buka dengan editor favorite anda, saya akan menggunakan vscode
code .
Silahkan copy main.tf yang ada di dalam folder devsecops-example ke root main.tf


Buka terminal dalam vscode, lalu init terraform dengan command dibawah
terraform init

Generate keypair dengan command dibawah ini, lalu tekan enter sampai selesai
cd .\scripts\
ssh-keygen -f ec2-keypair
cd ..
Check plan dengan command dibawah
terraform plan

Mantap, mari kita buat resourcenya yuk, ketik yes bila diminta
terraform apply

Silahkan masuk ke AWS web console anda, dan tunggu sampai kondisinya seperti dibawah ini (2/2 checks passed)

Silahkan perhatikan ip public dari ketiga instance tersebut, dengan cara click ke instancenya, lalu lihat dibagian Networking
Configure Instance via Ansible
Mari kita buat file baru bernama hosts.yaml, sesuaikan ip nya dengan 3 ip public instance yang kita miliki
all:
hosts:
webserver1:
ansible_host: 52.74.250.109
webserver2:
ansible_host: 52.221.96.65

Buat file baru bernama playbook.yaml
- name: Update web servers
hosts: all
remote_user: ubuntu
tasks:
- name: sudo apt update
shell: sudo apt update -y

Buka terminal baru untuk wsl di vscode. Kita harus memindahkan keypair ketempat lain agar bisa di execute oleh Ansible. Lalu kita ubah chmod sesuai kebutuhan
sudo cp scripts/ec2-keypair ~/ec2-keypair
chmod 400 ~/ec2-keypair
Mari kita coba execute Ansiblenya ya gengz
export ANSIBLE_HOST_KEY_CHECKING=False
ansible-playbook -i hosts.yaml playbook.yaml --key-file ~/ec2-keypair

Yiihaw, berhasil nih, selamat ya
Akhir Kata
Menjalankan Ansible di Windows, generate keypair dan lain lain saya rasakan sesuatu hal yang cukup sulit, karena itu agar saya sendiri tidak lupa, dan sewaktu waktu saya butuh, saya buat post di blog ini. Semoga bermanfaat ya
Tinggalkan Balasan