Altyapının kod olarak tanımlanması (IaC), bulut altyapısını yönetmenin en verimli yollarından biridir. Terraform, bu süreci basitleştirerek kullanıcıların bulut kaynaklarını tanımlamasına, kurmasına ve yönetmesine olanak tanır. Bu yazıda, Terraform kullanarak Azure’da bir sanal makine (VM) oluşturmanın temel adımlarını öğreneceksiniz. Bu rehber, basit bir yapılandırma dosyası ve komutlarla sanal makinenizi nasıl oluşturacağınızı gösterir.
Azure Cloud Shell’e Erişim
Bir web tarayıcısı açarak Azure Portal‘a gidin ve hesabınızla giriş yapın.
Cloud Shell’e Erişim
Azure Portal’ın sağ üst köşesinde bulunan Cloud Shell simgesine tıklayın. Bu simge, ‘>’ şeklindedir.
İlk kez kullanıyorsanız, Bash veya PowerShell kabuğunu seçmeniz istenebilir. Bu kılavuz için Bash kullanacağız.
Terraform Yapılandırma Dosyasını Oluşturun
Yeni Bir Dosya Oluşturun. Cloud Shell üzerinde main.tf
adında yeni bir dosya oluşturmak için aşağıdaki komutu çalıştırın:
touch main.tf
Dosyayı Düzenleyin. Dosyayı açmak için şu komutu kullanın:
vi main.tf veya
nano main.tf
provider "azurerm" {
features {}
subscription_id = "SUbscription_ID"
}
resource "azurerm_resource_group" "example" {
name = "KayaTerraform-ResourceGroup"
location = "East US"
}
resource "azurerm_virtual_network" "example" {
name = "Terraform-VNET"
address_space = ["10.0.0.0/16"]
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
}
resource "azurerm_subnet" "example" {
name = "Terraform-Subnet"
resource_group_name = azurerm_resource_group.example.name
virtual_network_name = azurerm_virtual_network.example.name
address_prefixes = ["10.0.1.0/24"]
}
resource "azurerm_network_interface" "example" {
name = "Terraform-NIC"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
ip_configuration {
name = "internal"
subnet_id = azurerm_subnet.example.id
private_ip_address_allocation = "Dynamic"
}
}
resource "azurerm_virtual_machine" "example" {
name = "Terraform01-VM"
location = azurerm_resource_group.example.location
resource_group_name = azurerm_resource_group.example.name
network_interface_ids = [azurerm_network_interface.example.id]
vm_size = "Standard_DS1_v2"
storage_image_reference {
publisher = "Canonical"
offer = "UbuntuServer"
sku = "16.04-LTS"
version = "latest"
}
storage_os_disk {
name = "exampleOSDisk"
caching = "ReadWrite"
create_option = "FromImage"
managed_disk_type = "Standard_LRS"
}
os_profile {
computer_name = "Terraform01"
admin_username = "adminuser"
admin_password = "Password1251334!"
}
os_profile_linux_config {
disable_password_authentication = false
}
}
Dosyayı kaydedip vi
editöründen çıkabilirsiniz.
Terraform Yapılandırmasını Başlatın ve Uygulayın
Terraform init
Komutunu Çalıştırın. Bu komut, çalışma dizinini başlatır ve yapılandırmanız için gerekli sağlayıcı eklentilerini indirir.
- Çalışma Dizinini Başlatır : Bu komut, altyapınızın mevcut durumunu izlemek için kritik öneme sahip olan gerekli durum dosyalarını ve klasörlerini ayarlayarak proje dizininizi hazırlar.
- İndirmeler Sağlayıcı Eklentileri : Terraform, AWS, Azure ve Google Cloud gibi çeşitli bulut ve şirket içi platformlarla etkileşim kurmak için sağlayıcı eklentilerini kullanır. Komut
terraform init
, bu eklentileri indirerek ortamınızın yapılandırmanızda belirtilen platformlarla iletişim kurabilmesini sağlar. - Yapılandırmayı Doğrular : Tüm kurulumunuzun kesin bir doğrulaması olmasa da,
terraform init
daha sonraki eylemlere geçmeden önce göze çarpan sorunların olmadığından emin olmak için yapılandırmanızın ilk yapısını kontrol eder. - Arka Uç Yapılandırmasını Ayarlar : Terraform durumunuzu depolamak için uzak bir arka uç kullanıyorsanız (yerel depolamanın aksine), bu komut arka ucu yapılandırır. Sorunsuz bir Terraform işlemi için doğru durum yönetimi esastır.
terraform init
Yapılacak değişiklikleri görmek için aşağıdaki komutu çalıştırın:
terraform plan
Planı gözden geçirdikten sonra, değişiklikleri uygulamak için:
terraform apply
Bu adımda, Terraform sizden onay isteyecektir. Devam etmek için Yes
yazın.
Terraform’un işlemi tamamlandıktan sonra, sanal makinenize SSH ile bağlanabilirsiniz veya Azure Portal’da sanal makineniz yönetebilirsiniz.
Bu adımları izleyerek, Azure üzerinde Terraform aracılığıyla otomatik ve tutarlı bir şekilde VM oluşturabilirsiniz.
Bu Bilgilerin faydalı olması dileğiyle…