AZURE’DA TERRAFORM İLE ALT YAPI GELİŞTİRME – BÖLÜM 2 : TERRAFORM VE GEREKLİLİKLERİ ANLAMAK
Azure’da Terraform ile Altyapı Geliştirmeye makale serisine hoş geldiniz. Serimizin ikinci bölümünde Terraform’un yapısını inceleyeceğiz ve anlamaya çalışacağız. Azure ortamı için Terraform yapılandırma dosyalarının hazırlanması ve dağıtılması için gereksinimlerimizi de belirteceğim.

Terraform, altyapıyı kod aracılığıyla yönetmenize olanak tanıyan açık kaynaklı bir altyapı otomasyon aracıdır. Bu, daha fazla kurtarma, öngörülebilirlik ve hız gibi birçok fayda sağlar. Terraform’u kod araçları olarak diğer altyapılara göre kullanmanın en büyük faydalarından biri, platformdan bağımsız olmasıdır. Terraform, vSphere ve Cisco kullanan şirket içi ortamların yanı sıra Microsoft Azure ve herhangi bir büyük Bulut Hizmeti Sağlayıcısını yönetmek için kullanılabilir.
Terraform’u oluşturan bileşenlerin neler olduğuna bir göz atalım. Her şeyden önce, bir Terraform yürütülebilir dosyası bulunmaktadır. Terraform yürütülebilir dosyası bağımsızdır ve temelde Terraform’u çalıştırmak isteyeceğiniz tüm işletim sistemlerinde kullanılabilir. Ek DLL yok, yol değişkeninize koymanın dışında gerçek bir kurulum yok. Bu yürütülebilir dosyayı Terraform web sitesinden indirebilirsiniz. Dağıtmakta olduğunuz altyapı yapılandırması tipik olarak bir veya daha fazla Terraform dosyasından (.tf uzantısı) oluşur. Terraform bir dizinde bir veya birden fazla .tf dosyası gördüğünde bu dosyaların hepsini alır ve o dosyaların içeriğine göre bir konfigürasyon gerçekleştirir. Terraform kendi başına basit bir yürütülebilir dosya olduğundan, sağlayıcılar(providers) olarak adlandırılanlarla etkileşim kurmak için bir dizi farklı eklenti kullanır. Örneğin, Azure bir sağlayıcıdır ve Terraform, Azure ile konuşmak ve kaynakları önceden görmek isterse, bunu yapmak için bir eklenti kullanır. Ve son olarak, kaynaklar oluşturulduktan sonra Terraform, neler olup bittiğini takip etmek için konfigürasyonun mevcut durumunu içeren bir durum(state) dosyası oluşturur. Ortamda bir güncelleme istendiğinde, Terraform yeni konfigürasyonu durum dosyasındakilerle karşılaştırır ve ardından durumu istenen konfigürasyonla eşleştirmek için gerekli değişiklikleri yapar.
Terraform’u geliştirmek istediğiniz herhangi bir IDE’yi kullanabilirsiniz. Ben terraform geliştirme için Visual Studio Code kullanmayı tercih ediyorum ve bu yazı dizisinde bunu kullanacağım. VS Kodunda Terraform için sözdizimi vurgulama ve otomatik tamamlama için HashiCorp Terraform uzantısını kullanmanızı öneririm.

Şimdi yerel Windows için Terraform’un nasıl kurulacağına bakalım. Aslında yukarıda Terraform’un bir kurulumu olmadığını, sadece bir path değişkeni tanımlamamız gerektiğini belirtmiştim. Aşağıda manuel olarak atılması gereken adımları bulabilirsiniz.
- Terraform yürütülebilir dosyasını HashiCorp web sitesinden indirin
- Sürücünüzde Terraform yürütülebilir dosyasını koyabileceğiniz bir klasör oluşturun. Örneğin: “C: \Tools”
- Terraform yürütülebilir dosyasını bu klasöre kopyalayın
- Sistem Özellikleri’ne gidin ve Ortam Değişkenleri düğmesine basın.

- Ortam Değişkenlerine (Environment Variables) tıklayın
- Ortam Değişkenleri bölümünden Yol’u seçin ve Düzenle düğmesini tıklayın.
- Yeni’ye tıklayın ve terraform.exe’nin bulunduğu klasör yolunu listenin en altına ekleyin.

- Sistem Özellikleri penceresini kapatmak için Tamam düğmesini tıklayın
- Kurulumun başarılı olduğunu doğrulamak için PowerShell’i açın ve terraform –version komutunu girin
