CP
cloudpuz
TerraformIaCDevOpsBaşlangıç

Terraform Nedir? Sıfırdan Öğrenme Rehberi ve İlk Projen

2026-07-21 · 16 dk okuma

İçindekiler

Son doğrulama: 2026-07-21

Sıkça Sorulan Sorular

Terraform nedir?

Terraform, bulut altyapını (sunucular, ağlar, veritabanları, DNS kayıtları, hatta SaaS ayarları) yazdığın kodla tanımlamanı ve tek komutla oluşturmanı sağlayan, HashiCorp tarafından geliştirilen açık kaynaklı bir altyapı otomasyon aracıdır. Manuel konsol işlemlerinin yerini alır; altyapı bir Git deposunda versiyonlanabilir ve tekrarlanabilir biçimde durur. Infrastructure as Code (IaC) yaklaşımının en popüler uygulamasıdır.

Terraform nasıl çalışır?

Terraform bildirimsel (declarative) çalışır: sistemin son halini tarif edersin, o da mevcut durumla istediğin durumu karşılaştırıp farkı kapatacak API çağrılarını kendi hesaplar. İş akışı üç temele dayanır: altyapıyı tanımladığın HCL dili, bulut API'leriyle konuşan provider'lar ve değişiklikleri güvenle uygulayan plan/apply döngüsü. Temel komut zinciri init, plan, apply ve destroy'dur.

terraform plan gösterdiği değişiklikleri hemen uygular mı?

Hayır. terraform plan yalnızca ne olacağını gösteren, salt okunur bir önizlemedir ve hiçbir gerçek değişiklik yapmaz. Değişiklikler yalnızca terraform apply çalıştırıp onay verdiğinde uygulanır. Bu ayrım, Terraform'un güvenli iş akışının temelidir.

terraform.tfstate dosyasını Git'e commit'leyebilir miyim?

Hayır, kesinlikle önerilmez. State dosyası veritabanı şifreleri ve özel anahtarlar gibi hassas verileri düz metin olarak içerebilir ve ekip çalışmasında çakışmalara yol açar. .gitignore'a *.tfstate satırlarını ekle ve state'i S3, GCS ya da Terraform Cloud gibi bir remote backend'de kilitlemeyle (locking) birlikte tut.

Terraform ücretsiz mi?

Terraform'un çekirdek CLI aracı ücretsizdir ve HashiCorp Business Source License (BSL) altında dağıtılır. Tamamen açık kaynak bir alternatif istiyorsan MPL lisanslı OpenTofu da birebir uyumludur. Ücretli olan kısım, HashiCorp'un yönetilen ekip platformu Terraform Cloud/Enterprise'ın gelişmiş özellikleridir; öğrenmek ve çoğu proje için CLI fazlasıyla yeterlidir.

Okumak yetmez — dene.

Bu konuları tarayıcıda gerçek terminalde uygula.