Terraform, dikembangkan oleh HashiCorp, adalah alat DevOps yang menerapkan Infrastructure as Code (IaC). Dengan bahasa deklaratif HCL, pengguna mendefinisikan infrastruktur dalam file konfigurasi yang dapat digunakan ulang.
Terraform kemudian membaca konfigurasi tersebut dan secara otomatis menerjemahkannya menjadi tindakan untuk membangun, mengubah, atau mengelola sumber daya di berbagai platform cloud.
Pendekatan ini memungkinkan pengelolaan infrastruktur yang terukur, teruji, dan mudah dilacak seperti halnya perangkat lunak. Berikut langkah-langkah Install Terraform di Ubuntu
Fungsi, Manfaat, dan Kelebihan Terraform
Terraform didesain untuk mengelola keseluruhan siklus hidup infrastruktur secara otomatis, mulai dari penyediaan awal (provisioning) hingga pembongkaran (deprovisioning). Dengan kemampuan ini, pengguna dapat:
- Provisioning: Membuat dan mengelola berbagai sumber daya infrastruktur mulai dari server virtual, load balancer, hingga jaringan baik di platform cloud seperti AWS, Google Cloud, dan Microsoft Azure, maupun di lingkungan on-premise.
- Orkestrasi Infrastruktur: Mengatur dan menyelaraskan berbagai sumber daya yang tersebar di beberapa penyedia layanan (multi-cloud) atau wilayah (region) secara terpusat dan konsisten, semudah mengelola satu lingkungan tunggal.
- Manajemen State: Menyimpan status terkini infrastruktur dalam file state yang berfungsi sebagai sumber kebenaran (single source of truth). Hal ini memungkinkan Terraform untuk melacak perubahan, merencanakan eksekusi, dan menerapkan konfigurasi baru secara akurat dan aman.
Manfaat menggunakan Terraform
- Consistency: Menyediakan infrastruktur yang didefinisikan sebagai kode dengan cara yang konsisten di semua lingkungan, memastikan keseragaman dari awal.
- Repeatability: Satu konfigurasi dapat dipakai untuk provisioning semua lingkungan (dev, staging, prod), memastikan konsistensi mutlak di seluruh pipeline CI/CD.
- Scalability: Dengan kemampuan provisioning otomatis Terraform, organisasi dapat merespons permintaan pasar dengan lebih cepat.
- Collaboration: Dengan infrastruktur yang didefinisikan sebagai kode (IaC), seluruh tim dapat berkolaborasi menggunakan sistem version control (seperti Git) untuk melacak perubahan, melakukan review, dan mengelola konfigurasi infrastruktur.
Kelebihan Terraform
- Platform-Agnostic: Terraform memiliki dukungan ekosistem (provider) yang luas, mencakup ratusan penyedia layanan cloud, SaaS, dan sistem on-premise.
- Declarative Approach: Pendekatan deklaratif memungkinkan pengguna mendefinisikan “apa yang diinginkan”, bukan “bagaimana cara membuatnya”. Terraform bertanggung jawab untuk menentukan dan menjalankan urutan operasi yang diperlukan.
- State Management: File state Terraform berfungsi sebagai peta infrastruktur, memungkinkan alat ini untuk melacak perubahan dari waktu ke waktu dan mengelola versi konfigurasi secara efektif.
- Idempotency: Terraform menganalisis state saat ini sebelum membuat perubahan. Hanya jika ditemukan perbedaan (drift) antara state dan konfigurasi yang diinginkan, Terraform akan menjalankan aksi korektif.
Infrastruktur yang Didukung Terraform
Kekuatan Terraform adalah kemampuannya yang multi-cloud dan hybrid, yang dimungkinkan oleh arsitektur Provider.
Provider berfungsi sebagai adaptor yang menerjemahkan konfigurasi HCL menjadi perintah API untuk berbagai platform, mulai dari cloud publik besar hingga layanan SaaS dan infrastruktur on-premise.
Dengan begitu, satu konfigurasi dapat mengelola beragam sumber daya di seluruh lingkungan.
Contoh provider yang didukung mencakup AWS, Google Cloud, Azure, Alibaba Cloud, DigitalOcean, VMware vSphere, OpenStack, Kubernetes, dan Docker.
Install Terraform
Install terlebih dahulu utility yang diperlukan untuk menjalankan terraform.
sudo apt update && sudo apt install -y gnupg software-properties-common
Tambahkan GPG Key hashicorp ke dalam ubuntu, yang menjalankan terraform.
wget -O- https://apt.releases.hashicorp.com/gpg | \
gpg –dearmor | \
sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null

Verifikasi GPG Key fingerprint hashicorp terraform
gpg –no-default-keyring \
–keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg \
–fingerprint

Tambahkan repository package terraform pada ubuntu
echo “deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP ‘(?<=UBUNTU_CODENAME=).*’ /etc/os-release || lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/hashicorp.list

Update package ubuntu dan install terraform
sudo sudo apt update && sudo apt install terraform -y

Verifikasi Terraform
Setelah install terraform selesai, verifikasi apakah berjalan dengan baik pada ubuntu, dengan menjalankan perintah dibawah.
terraform -help

Install Terraform di Ubuntu adalah proses yang sederhana. Metode menggunakan repository HashiCorp cara yang paling direkomendasikan karena memberikan kemudahan maintenance dan keamanan.
Dengan Terraform yang sudah terinstal, kamu sekarang dapat mulai mengotomatisasi infrastruktur menggunakan pendekatan Infrastructure as Code.

