Introduction
Sebelumnya kita perlu tahu terlebih dahulu mengenai apa itu terraform , kemudian apa sih kegunaanya dan kenapa harus menggunakan Terraform, nah pada artikel kali ini saya akan menjelaskan sedikit tentang hal tsb.
Terraform adalah sebuah tools yang dibuat untuk membuat mengubah dan juga menggabungkan sebuah infrastruktur dengan smooth dan efisien menggunan code, atau konsep ini dikenal juga dengan istilah “Infrastructure as Code”.
Apa itu infrsatructure as code ? sebuah sistem atau metode pengelolaan infrastructure IT khusunya server yang menggunakan file konfigurasi berbasi code/coding dan beberapa bahasa pemograman yang kita gunakan seperti : Typescript, Python, java, C# & Golang
Kenapa kita perlu menggunakan metode “Infrastructure as Code” ? Hal-hal konfigurasi seperti creaate vm, storage dll yang semula manual via GUI dan juga tidak terdokumentasi kenapa IaC ini sangat membantu untuk mengkonfigurasi dan mengelola infrastruktur komponen tingkat rendah seperti membuat VM di cloud, Storage dan VPC, serta juga komponen tingkat tinggi lainya seperti entry DNS “management DNS”, fitur SAAS, dan lainya.

Prepare
Hal-hal yang perlu disiapkan untuk ngelab pada artikel ini adalah sebagai berikut :
- Install Terraform
- Code editor
- AWS Account
- Linux/WSL “AWS CLI”
Sebelumnya pastikan anda sudah melakukan export key account AWS anda, jika belum silahkan check artikel saya yang satu ini :
Study Case : Pada saat saya sedang membaca artikel tentang hal-hal yang berkaitan tentang DevOps, saya penasaran tentang apa itu Terraform dan juga bagaimana cara atau metode untuk menjalankanya pada sebuah cloud ?, nah karena hal itu lah saya mencoba mencari sebuah study case untuk praktik secara langsung atau implementasi penggunaan terraform ke AWS, karena tujuanya adalah supaya konfigurasi kita terdokumentasi dengan baik jika ada perubahan , update dan lainya ter commit di repository, dan untuk detail study case sebagai berikut :
Create ec2 in aws with Terraform “Infrastructure as a code”
Installation
Penggunaan terraform untuk provisioning instance
- 1 VPC
- 1 Public subnet
- Security Group
- Create Internet Gateway
- Create route
- Create 2 instance on AWS
Check it out
Step 1 – Create File Terraform
Ada 2 file yang akan kita gunakan

- Main.tf : berisi file konfigurasi yang akan kita gunakan nantinya contoh seperti, kita akan membuat vpc, subnet, security group dan juga instance dll
- Terraform.rf : adlaah file kofngiruasi yang berisikan tentang provider apa yang akan kita automation dan juga versi dari terraform itu sendiri.
untuk file diatas sebenarnya beragam yang digunakan seperti variable, output dll, secara fungsi sama.
Step 2 – Create VPC network
Task pertama kita akan membuat resource untuk VPC nya terlebih dahulu, untuk registrynya ada di dokumentasi resmi terraform https://registry.terraform.io/providers/hashicorp/aws/latest/docs
Step 3 – Create Private Subnet
Task kedua membuat private subnet yang diambil dari salah satu subnet VPC yang kita buat
Step 4 – Create Security Group
Task ketiga adalah membuat security group yang dimana fungsi dari security group ini ibarat adalah firewall , contohnya adalah kita akan membuka aksess beberapa PORT TCP/IP & ICMP seperti SSH, Web, HTTPS dll, agar server dapat berkomunikasi ke external maupun internal
Step 5 – Create Internet Gateway
Disini kita membuat internet gateway berfungsi untuk menghubungkan antara subnet VPC main kita ke internet atau internal ke eksternal begitupun sebaliknya
Step 6 – Create Route
Route diperlukan untuk membuka komunikasi antara VPC atau instance ke pihak eksternal melalui Internet gateway yang sudah kita buat.
Step 7 – Create Instance
Task selanjutnya adalah ketika kita sudah membuat ip kemudian security group, maka selanjutnya kita setup konfigurasi instance di terraform sebagai berikut
[
key_name
adalah nama keypair , sebelumnya kita harus tambahkan terlebih dahulu id_rsa.pub
di laptop kita kedalam console AWS
Step 8 – Provisioning Instance
Ketika menjalankan terraform terdapat tiga perintah yang sering dijalankan

- terraform planuntuk mengetahui resource apa saja yang kita akan buat

- terraform applyuntuk melakukan provisioning membuat resource pada cloud provider kita dalam hal ini aws

- terraform destroyadalah menghapus semua resource yang telah dibuat sebelumnya

Step 9 – Check console & Access SSH
Kemudian kita check terlebih dahulu apakah instance berhasil tercreate

Dan yang terakhir kita testing akses remote SSH nya


Selamat mencoba
NB :

0 Comments