Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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
- Terraform’u yükleyin ve yapılandırın.
- Azure CLI (v 2.38.0+) yükleyin.
- Node.js veya Python Terraform şablonunda dağıttığınız mimari diyagramını ve Azure kaynaklarını gözden geçirin.
Important
Terraform dağıtımları, azd kullandığınızda bile Azure CLI'da oturum açmanızı gerektirir. Terraform azurerm sağlayıcısı varsayılan olarak Azure CLI aracılığıyla kimlik doğrulaması yapar ve kimlik bilgisi önbelleğindeki azd belirteçleri okumaz. Yalnızca azd auth login çalıştırırsanız, azd up sağlama adımında ERROR: Please run 'az login' to setup account hatasıyla başarısız olur. Önerilen oturum açma akışı için bkz. Azure için kimlik doğrulaması.
Azure'da kimlik doğrulaması
Terraform kimlik doğrulaması için Azure CLI kullandığından, azd komutunu çalıştırmadan önce hem az hem de azd up üzerinde oturum açmış olmanız gerekir. Bunu iki yoldan biriyle yapabilirsiniz.
1. Seçenek: Azure CLI ile bir kez oturum açma (önerilir)
azd öğesini kimlik doğrulamayı Azure CLI'ye devredecek şekilde yapılandırın. Bu ayar ile az login bir kez oturum açmanıza ve her iki araç için de aynı kimlik bilgilerini kullanmanıza olanak tanır.
azd config set auth.useAzCliAuth true
az login
Birden çok kiracıyla çalışıyorsanız parametresini --tenant ekleyin:
az login --tenant <tenant-id>
2. Seçenek: Her araçta ayrı ayrı oturum açma
azd ve Azure CLI kimlik doğrulamalarını birbirinden bağımsız tutmayı tercih ediyorsanız, her araçta kendi komutunu kullanarak oturum açın:
azd auth login
az login
Belirteçlerden herhangi birinin süresi dolduğunda her iki oturumu da yenilemeniz gerekir.
Terraform'ı IaC sağlayıcısı olarak yapılandırma
Projenizin kökünde bulunan
azure.yamldosyası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: terraformTüm dosyalarınızı
.tfprojenizininfrakökünde bulunan dizine ekleyin.azd up'i çalıştırın.
Not
Terraform as IaC Provider: Node.js ve Terraform ile bu azd şablonuna göz atın.
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
Uzak durum depolama hesabı yapılandırdığınızdan emin olun.
klasörüne adlı
provider.conf.jsoninfrayeni bir dosya ekleyin.{ "storage_account_name": "${RS_STORAGE_ACCOUNT}", "container_name": "${RS_CONTAINER_NAME}", "key": "azd/azdremotetest.tfstate", "resource_group_name": "${RS_RESOURCE_GROUP}" }provider.tfklasöründe bulunaninfragüncellemesini, arka ucu uzak olacak şekilde ayarla.# Configure the Azure Provider terraform { required_version = ">= 1.1.7, < 2.0.0" backend "azurerm" { }Yapılandırma eklemek için
azd env set <key> <value>çalıştırın ve.envdosyası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_groupBir sonraki
azdkomutu her zamanki iş akışınıza göre çalıştırın. Uzak durum algılandığında,azdyapılandırılmış arka uç yapılandırmasıyla Terraform'u başlatır.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.envdosyasında yapılandırma eklemek için 4. Adımı uygulayın.
Ayrıca bkz.
- Terraform'un Azure CLI bağımlılığı hakkında daha fazla bilgi edinin.
- Uzak durum hakkında daha fazla bilgi için bkz. store Terraform state in Azure Depolama.
- Şablon: Azure üzerinde Node.js API ve MongoDB (Terraform) ile React Web App