Blog

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.

  • Ç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…

İlgili Makaleler

Bir Yorum

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Göz Atın
Kapalı
Başa dön tuşu