Terraform Fundamental - Sesi 1 (AWS)

Terraform Fundamental - Sesi 1 (AWS)

Di bagian introduction dan installation kita sudah mengetahui apa itu terraform dan bagaimana instalasi nya di windows untuk di gunakan melalui CMD. next tahap part 2 ini kita akan mencoba konfigurasi Terraform dari tahap Plan, Apply, sampai dengan Destroy.

Prepare

Hal-hal yang perlu disiapkan untuk ngelab adalah sebagai berikut :

  • Install Terraform

  • Code editor : VScode

  • Extensions VScode : Terraform, Hashicorp Terraform

  • AWS Account

Setting Provider

untuk setting provider kita tinggal copy paste saja dari situs https://registry.terraform.io/providers/hashicorp/aws/latest, semua dokumentasi yang di butuhkan untuk membangun infrastruktur terutama AWS sudah tersedia semua di sana.

Buka VSCode nya dan buat folder kita namain saja Terraform, dan buat file dengan nama provider.tf

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "4.48.0"
    }
  }
}

provider "aws" {
  # Configuration options
  region = "ap-southeast-3"
  }

selanjutnya kita akan jalankan command terraform init, yang gunanya akan mendownload provider yang kita setting menggunakan AWS.

$ terraform init

jika sudah nanti struktur folder (provider) akan seperti ini

Setting Resource (EC2)

buat file ec2.tf di folder Terraform, isi file ec2.tf dengan :

resource "aws_instance" "VM-Node" {
  ami           = "ami-0a2bcdce90f0df342"
  instance_type = "t3.micro"


  tags = {
    Name = "VM-Node"
  }
}

untuk mengetahui ID AMI nya kita harus masuk ke AWS console terlebih dahulu ke bagian EC2 dan launch instance nanti pilih AMI nya di bagian bawah ada AMI ID.

Setting Credential

Sebelum itu kita harus setting credential nya dahulu, bisa kita setting melalui AWS Console > IAM > Users.

Pilih ke tab Security Credentials, scroll ke bawah pilih Create Access Key.

Setelah kita create access key kita modify kembali file provider.tf dengan menambahkan

........

provider "aws" {
  # Configuration options
  region = "ap-southeast-3"
   access_key = "ACCESS KEY YANG TADI DI GENERATE"
   secret_key = "SECRET KEY YANG TADI DI GENERATE"
 }

dan setelah itu kita jalankan command

$ terraform plan

nah jika sudah muncul seperti ini berarti sudah bisa untuk stage selanjutnya.

$ terraform apply

dan Success EC2 Instance sudah terbuat.

Jika ingin mengahapus EC2 instance nya yang sudah terbuat, dapat menggunakan command

$ terraform destroy