Terraform ile Azure’da Sanal Makine Oluşturma

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.

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…

Exit mobile version