Terraform Nedir?

Terraform, altyapı (infrastructure) kaynaklarını kod olarak yönetmek ve otomatize etmek için kullanılan açık kaynaklı bir altyapı yönetim aracıdır. Terraform, kullanıcıların bulut sağlayıcıları (AWS, Azure, Google Cloud, vs.) veya yerel veri merkezleri gibi çeşitli altyapı ortamlarında kaynakları tanımlamalarına, dağıtmalarına ve yönetmelerine olanak tanır. Bu, tekrarlanabilir, ölçeklenebilir ve değiştirilebilir altyapıların oluşturulmasını ve sürdürülmesini kolaylaştırır.

Adım 1: Terraform Kurulumu

İlk olarak, Terraform’u resmi web sitesinden indirip yükleyin. İndirme ve kurulum adımları, farklı işletim sistemleri için belirtilmiştir.
Ben Linux Ubuntu üzerine kurulum yapacağım. Sırasıyla aşağıdaki kodları yürütün.

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

sudo apt update && sudo apt install terraform

Terraform’un düzgün kurulup kurulmadığını kontrol edin.
terraform version

Adım 2: AWS Kimlik Bilgileri

Terraform’un AWS ile etkileşimde bulunabilmesi için herhangi bir AWS hesabının Access Key ve Secret Key’ine ihtiyaç vardır. Bu bilgileri güvenli bir şekilde saklayın. AWS Management Console’dan bir IAM kullanıcısı oluşturun ve bu kullanıcıya Terraform’un erişebilmesi için gerekli izinleri ekleyin.

Adım 3: Terraform Konfigürasyon Dosyası Oluşturma

Terraform’un dosya uzantısı tf‘dir.
Yetkinizin olduğu bir dizin içinde vpc.tf adlı bir Terraform konfigürasyon dosyası oluşturun.
nano vpc.tf

Aşağıdaki yaml içerğini kendi altyapınıza göre düzenleyin.

provider "aws" {
  region = "us-east-1" #
  access_key = "access keyi girin"
  secret_key = "secret keyi girin."
}
resource "aws_vpc" "my_vpc" {
cidr_block = "10.0.0.0/16"
enable_dns_support = true
enable_dns_hostnames = true

tags = {
Name = "SercanVPC"
}
}

Adım 4: Terraform İlk Başlatma

Konfigürasyon dosyanızın bulunduğu dizinde terminal veya komut istemcisinde aşağıdaki komutu çalıştırarak Terraform’u başlatın:

Terraform’u başlatın.
terraform init

Adım 5: Terraform Plan

Oluşturulan Terraform kodunun planını görmek için aşağıdaki komutu kullanın.
terraform plan

Adım 6: Terraform Planını Uygulama

Yapılan değişiklikleri uygulamak için aşağıdaki komutu kullanın.
terraform apply

Sizden apply etmek için onay isteyecek. “yes” yazıp devam edin.

AWS Console’da VPC servisini açtığınızda, VPC’nin sorunsuz bir şekilde oluşturulduğunu göreceksiniz.

Aynı dizin içinde terraform.tfstate adında bir dosya oluşturulduğunu göreceksiniz.
Bu tfstate dosyası; Terraform tarafından yönetilen altyapının durumunu içeren dosyadır. Bu dosya, altyapıdaki kaynakların durum bilgilerini saklar, değişiklikleri izler.