Terraform'Azure Geliştirici CLI'sı için kod aracı olarak altyapı olarak kullanma

Azure Geliştirici CLI (azd), aşağıdakiler dahil olmak üzere birden çok altyapı olarak kod (IaC) sağlayıcısını destekler:

Varsayılan olarak, azd Bicep IaC sağlayıcısı olarak kabul eder. Projeniz için en uygun IaC sağlayıcısını belirleme konusunda yardım için Terraform ve Bicep Karşılaştırma makalesine bakın.

Not

Terraform hala beta aşamasında. Özellik sürümü oluşturma ve sürüm stratejisi sayfasında alfa ve beta özellik desteği hakkında daha fazla bilgi edinin

Önkoşullar

Not

azd Azure CLI oturum açmasına dayanmasa da, Terraform için Azure CLI gereklidir. Terraform'un resmi belgelerinden bu gereksinim hakkında daha fazla bilgi edinin.

Terraform'ı IaC sağlayıcısı olarak yapılandırma

  1. Projenizin kökünde bulunan azure.yaml dosyasını açın ve Bicep varsayılanı geçersiz kılmak için aşağıdaki satırlara sahip olduğunuzdan emin olun:

    infra:
      provider: terraform
    
  2. Tüm dosyalarınızı .tf projenizin infra kökünde bulunan dizine ekleyin.

  3. azd up'i çalıştırın.

Not

Terraform ile IaC Sağlayıcısı olarak şu iki azd şablonuna göz atın: Node.js ve Terraform ve Python ve Terraform.

azd pipeline config Terraform için

Terraform, yönetilen altyapınız ve yapılandırmanız hakkındaki durumu depolar. Bu durum dosyası nedeniyle, GitHub'da dağıtım işlem hattınızı ayarlamadan önce uzak durumu etkinleştirmeniz ve azd pipeline config komutunu çalıştırmanız gerekir.

Varsayılan olarak, azd yerel durum dosyasının kullanıldığını varsayar. Uzak durumu etkinleştirmeden önce azd up çalıştırdıysanız, azd down komutunu çalıştırmanız ve uzak durum dosyasına geçmeniz gerekir.

Yerel ve uzak durum

Terraform, yönettiği kaynakları izlemek için kalıcı durum verilerini kullanır.

Uzak durumu etkinleştirme senaryoları:

  • Durum verilerine paylaşılan erişime izin vermek ve bu altyapı kaynakları koleksiyonu üzerinde birden çok kişinin birlikte çalışmasına izin vermek için
  • Durum dosyasına dahil edilen hassas bilgilerin açığa çıkmasına engel olmak için
  • Durumu yerel olarak depolama nedeniyle yanlışlıkla silme olasılığını azaltmak için

Uzak durumu etkinleştirme

  1. Uzak durum depolama hesabı yapılandırdığınızdan emin olun.

  2. klasörüne adlı provider.conf.jsoninfra yeni bir dosya ekleyin.

    {
        "storage_account_name": "${RS_STORAGE_ACCOUNT}",
        "container_name": "${RS_CONTAINER_NAME}",
        "key": "azd/azdremotetest.tfstate",
        "resource_group_name": "${RS_RESOURCE_GROUP}"
    }
    
  3. provider.tf klasöründe bulunan infra güncellemesini, arka ucu uzak olacak şekilde ayarla.

    # Configure the Azure Provider
    terraform {
      required_version = ">= 1.1.7, < 2.0.0"
      backend "azurerm" {
      }
    
  4. Yapılandırma eklemek için azd env set <key> <value> çalıştırın ve .env dosyasını kullanın. Örneğin:

    azd env set RS_STORAGE_ACCOUNT your_storage_account_name
    azd env set RS_CONTAINER_NAME your_terraform_container_name
    azd env set RS_RESOURCE_GROUP your_storage_account_resource_group
    
  5. Bir sonraki azd komutu her zamanki iş akışınıza göre çalıştırın. Uzak durum algılandığında, azd yapılandırılmış arka uç yapılandırmasıyla Terraform'u başlatır.

  6. Ortamı ekip arkadaşlarınızla paylaşmak için, yerel sistemde ortam ayarlarını yenilemek için azd env refresh -e <environmentName> komutunu çalıştırdıklarından emin olun ve .env dosyasında yapılandırma eklemek için 4. Adımı uygulayın.

Ayrıca bkz.

Sonraki adımlar