Terraform & Ansible Menggunakan Windows OS pada Cloud AWS

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 :

  1. Kita akan melakukan provisioning/membuat resource cloud menggunakan Terraform, dalam hal ini AWS
  2. Secara umum kita akan membuat 3 server yang nantinya akan memiliki 3 ip public
  3. Setelah provisioning selesai, kita akan eksekusi Ansible playbook terhadap server tersebut

Requirements

  1. AWS CLI terinstall dan di configure
  2. Terraform terinstall
  3. WSL terinstall, dalam contoh kali ini saya memilih OS Ubuntu 22.04
  4. 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

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

Situs yang Didukung WordPress.com.

Atas ↑

%d blogger menyukai ini: