Terraform kullanarak Azure VM kümesini yapılandırma

Bu makalede Azure'da VM kümesi oluşturmak için örnek Terraform kodu yer alır.

Bu makalede şunları öğreneceksiniz:

  • Azure VM kümesi yapılandırma

1. Ortamınızı yapılandırma

  • Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

2. Kodu uygulama

  1. Örnek Terraform kodunu test etmek ve bunu geçerli dizin yapmak için bir dizin oluşturun.

  2. adlı bir dosya main.tf oluşturun ve aşağıdaki kodu girin:

    module "windowsservers" {
      source              = "Azure/compute/azurerm"
      resource_group_name = azurerm_resource_group.rg.name
      is_windows_image    = true
      vm_hostname         = "mywinvm"                         // Line can be removed if only one VM module per resource group
      admin_password      = "ComplxP@ssw0rd!"                 // See note following code about storing passwords in config files
      vm_os_simple        = "WindowsServer"
      public_ip_dns       = ["winsimplevmips"]                // Change to a unique name per data center region
      vnet_subnet_id      = module.network.vnet_subnets[0]
    
      depends_on = [azurerm_resource_group.rg]
    }
    
    module "network" {
      source              = "Azure/network/azurerm"
      resource_group_name = azurerm_resource_group.rg.name
      subnet_prefixes     = ["10.0.1.0/24"]
      subnet_names        = ["subnet1"]
    
      depends_on = [azurerm_resource_group.rg]
    }
    
    output "windows_vm_public_name" {
      value = module.windowsservers.public_ip_dns_name
    }
    
    output "vm_public_ip" {
      value = module.windowsservers.public_ip_address
    }
    
    output "vm_private_ips" {
      value = module.windowsservers.network_interface_private_ip
    }
    

    Önemli noktalar:

    • Yukarıdaki kod örneğinde kolaylık olması için admin_password değişkenine değişmez değer atanmıştır. Parolalar gibi hassas verileri depolamanın birçok yolu vardır. Verilerinizi nasıl korumak istediğinize ilişkin karar, ortamınızı ve bu verileri ortaya çıkaran konfor düzeyini içeren tek tek seçeneklere iner. Risk örneği olarak, bunun gibi bir dosyayı kaynak denetiminde depolamak, parolanın başkaları tarafından görülebilecek şekilde sonuçlanmasına neden olabilir. Bu konu hakkında daha fazla bilgi için HashiCorp, hassas verileri yönetmeye (parolalar gibi) ilişkin giriş değişkenlerini ve tekniklerini tanımlamanın çeşitli yollarını belgelemektedir.

3. Terraform'ü başlatma

Terraform dağıtımını başlatmak için terraform init'i çalıştırın.

terraform init

Önemli noktalar:

  • Bu komut, bir Azure kaynak grubu oluşturmak için gereken Azure modüllerini indirir.

4. Terraform yürütme planı oluşturma

Terraform planını çalıştırarak bir yürütme planı oluşturun.

terraform plan -out main.tfplan

Önemli noktalar:

  • Komut terraform plan bir yürütme planı oluşturur ancak yürütmez. Bunun yerine, yapılandırma dosyalarında belirtilen yapılandırmayı oluşturmak için hangi eylemlerin gerekli olduğunu belirler. Bu düzen, gerçek kaynaklarda değişiklik yapmadan önce yürütme planının beklentilerinize uygun olup olmadığını doğrulamanıza olanak sağlar.
  • İsteğe -out bağlı parametresi, plan için bir çıkış dosyası belirtmenize olanak sağlar. parametresini -out kullanmak, gözden geçiren planın tam olarak uygulandığını garantiler.
  • Yürütme planlarını ve güvenliği kalıcı hale uygulama hakkında daha fazla bilgi için güvenlik uyarısı bölümüne bakın.

5. Terraform yürütme planı uygulama

Yürütme planını bulut altyapınıza uygulamak için terraform apply'i çalıştırın.

terraform apply main.tfplan

Önemli noktalar:

  • Yukarıdaki terraform apply komut daha önce komutunun olduğunu varsayıyor. terraform plan -out main.tfplan
  • parametresi için farklı bir dosya adı -out belirttiyebilirsiniz, çağrısında aynı dosya adını terraform apply kullanın.
  • parametresini -out kullanmadıysanız herhangi bir parametre terraform apply olmadan çağrısı yapmanız gerekir.

Azure'da Terraform sorunlarını giderme

Azure'da Terraform kullanırken karşılaşılan yaygın sorunları giderme

Sonraki adımlar