Azure Developer CLI ile barındırılan aracı altyapısı

Important

Bu makalede önizleme olarak işaretlenmiş öğeler şu anda önizleme aşamasındadır. Bu önizleme, hizmet düzeyi sözleşmesi olmadan sağlanır ve Microsoft üretim iş yükleri için bunu önermez. Bazı özellikler desteklenmeyebilir veya kısıtlı özelliklere sahip olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Azure Geliştirici CLI'si (azd) içinde azure.yamlbildirilen hizmetlerden Bicep veya Terraform altyapısı oluşturabilir. Terraform'u azd ai agent init --infra=terraform ile veya Bicep'i --infra=bicep ile seçin. azd provision komutunu çalıştırmak, seçili altyapıyı uygular.

Altyapı sağlama ve aracı dağıtımı ayrıdır. Terraform veya Bicep, destekleyici Azure kaynaklarını yönetir; azd deploy barındırılan aracı veri düzlemi sürümünü oluşturur. Aracıyı azd yerine Terraform ile yönetmek için bkz. Terraform ile barındırılan aracı dağıtma.

Sağlanan öğeler

Varsayılan olarak, azd ai agent init kod olarak altyapı dosyaları oluşturmaz. Bicep altyapısı eklemek için --infra veya --infra=bicep kullanın. Terraform altyapısı eklemek ve --infra=terraform ayarlamak için infra.provider: terraform kullanın.

Bicep altyapısı eklediğinizde şablonlar azd-ai-starter-basic deposunu temel alır ve aşağıdaki Azure kaynaklarını oluşturur:

Resource Purpose
Kaynak Grubu Tüm kaynakları düzenler. olarak adlandırılır rg-<agent-name>.
AI Services hesabı Microsoft Foundry hesabı.
Dökümhane projesi Ajan ve yapay zekâ yeteneklerini barındırır.
Model dağıtımları Ajanın kullandığı modeller, örneğin gpt-4.1-mini.
Azure Container Registry (Azure Konteyner Kayıt Defteri) Ajan kapsayıcı imajlarını depolar.
Application Insights Ajan performans izleme ve telemetri.
Log Analytics çalışma alanı Merkezi günlük kaydı toplama.
İdare edilen kimlik Projenin sistem tarafından atanan kimliği, Microsoft Entra ID için aracı kimliği şemasının kimliğini doğrular ve platform rol atamalarını tutar.

Şablonlar, içinde azure.yamlbildirilen hizmetlere ve bağımlılıklara göre koşullu olarak daha fazla kaynak oluşturur:

  • Aracı özellik ayarları -- aracı durumunu, vektör verilerini ve dosyaları tutan Azure kaynaklarını bildirin. Sahip olduğunuz depolamayı kullanmak için aracılara ihtiyacınız olduğunda bunları ayarlayın.
  • Web arama aracı için Bing ile dayanaklandırma veya Bing Özel Arama ile dayanaklandırma.
  • Azure Yapay Zeka Arama -- arama temellendirmesi için.
  • Azure Depolama -- dosya işlemleri için.

Proje yapısı

Bicep için, oluşturulan bir proje aşağıdaki yapıya sahiptir:

infra/
|-- main.bicep                 # Main deployment template (subscription-scoped)
|-- main.parameters.json       # Parameter bindings to azd environment variables
|-- abbreviations.json         # Naming convention abbreviations
\-- core/
    |-- ai/                    # Foundry account, project, and connections
    |-- host/                  # Container registry
    |-- monitor/               # Application Insights and Log Analytics
    |-- search/                # Azure AI Search (conditional)
    \-- storage/               # Azure Storage (conditional)

Parametrelerin akışı

Bicep için, main.parameters.json dosya ortam değişkenlerini parametrelerle eşlerazd:

{
  "environmentName": { "value": "${AZURE_ENV_NAME}" },
  "location": { "value": "${AZURE_LOCATION}" },
  "aiFoundryResourceName": { "value": "${AZURE_AI_ACCOUNT_NAME}" },
  "aiProjectDeploymentsJson": { "value": "${AI_PROJECT_DEPLOYMENTS=[]}" }
}

azd provision sırasında, azd bu ${VAR} başvurularını ortamdan (.azure/<env>/.env) çözümler ve bunları Bicep dağıtımına iletir. Foundry proje uç noktası, model dağıtım adı ve kapsayıcı kayıt defteri uç noktası gibi dağıtım çıktıları, azd deploy, azd ai agent run ve azd ai kaynak komutları tarafından kullanılmak üzere yeniden ortama yazılır.

Terraform altyapısı

Yeni bir proje için aşağıdaki azd ai agent init --infra=terraform gibi dosyalar oluşturur:

infra/
|-- main.tf
|-- provider.tf
|-- variables.tf
|-- outputs.tf
|-- main.tfvars.json
\-- .azd-foundry

Kapsayıcı tabanlı hizmetler container-registry.tf de oluşturabilir. Mevcut projeler altyapılarını koruyabilir ve infra/foundry/ altında ayrı bir Foundry katmanına sahip olabilir. Dosyaları katmanlar arasında taşımak yerine oluşturulan gerçek düzeni kullanın.

Terraform yapılandırması, seçilen hizmetler için gerekli olan Döküm hesabı, proje, model dağıtımları ve ilgili kaynakları sağlar. Kapsayıcı kayıt defteri oluşturma, dağıtım moduna ve görüntü yapılandırmasına bağlıdır.

main.tfvars.json altyapı girişlerini azd ortam değerlerine bağlar. outputs.tf sağlama işleminden sonra Foundry proje uç noktası gibi değerleri azd’ye sunar. Bu bağlamalar azd iş akışının bir parçasıdır; oluşturulan parametre dosyasının tek başına terraform applyile değişmeden çalıştığını varsaymayın.

Terraform altyapısını özelleştirmek için oluşturulan .tf dosyalarını düzenleyin, aracı hizmetlerinizin gereksinim duyduğu çıktıları koruyun ve azd provision komutunu çalıştırın. Altyapı değişikliklerini uygulamadan önce Terraform planını gözden geçirin.

Terraform durumu ve CI/CD

Oluşturulan dosyalar uzak durum arka ucu önyüklemez. Ekip dağıtımları için, CI/CD'yi yapılandırmadan önce Azure Depolama destekli durumu, her ortam için ayrı durum anahtarlarını ve gerekli arka uç izinlerini yapılandırın.

Bkz. Dağıtım akışı için Terraform ile CI/CD ayarlama ve Arka uç yapılandırması için azd ile Terraform kullanma .

Terraform çıkarma sınırlamaları

Terraform çıkarma yolu, geçerli Foundry aracıları uzantısında hizmet network: yapılandırmasını desteklemez. Zaten altyapısı olan bir projeyi çıkarmadan önce mevcut kaynak kısıtlamalarını gözden geçirin. Çıkarma işlemi genel bir Bicep-Terraform durum geçişi değildir ve üretim kaynaklarını silmek Terraform'un benimsenmesi için bir önkoşul değildir.

Mevcut kaynaklar

Bicep şablonları, yenilerini oluşturmak yerine mevcut Azure kaynaklarına bağlanmayı destekler. Bu, ekibiniz zaten paylaşılan altyapıya sahip olduğunda kullanışlıdır.

Mevcut kaynak Ayarlanacağı ortam değişkenleri
AI Services hesabı AZURE_AI_ACCOUNT_NAME
Container Registry AZURE_CONTAINER_REGISTRY_RESOURCE_ID ve AZURE_CONTAINER_REGISTRY_ENDPOINT
Application Insights APPLICATIONINSIGHTS_CONNECTION_STRING ve APPLICATIONINSIGHTS_RESOURCE_ID

azd env set ile bu değişkenleri, azd provision çalıştırmadan önce ayarlayın.

Altyapıyı özelleştirme

infra/ dizin, standart azd altyapısıdır. Bicep kaynakları eklemek veya değiştirmek için:

  1. infra/main.bicep öğesini düzenleyin veya infra/core/ altında yeni modüller ekleyin.
  2. main.parameters.json bağlantılarına sahip yeni parametreleri ${VAR} öğesine ekleyin.
  3. azd ile ilgili azd env set ortam değişkenlerini ayarlayın.
  4. Değişiklikleri uygulamak için komutunu çalıştırın azd provision .

Bicep dosyalarındaki değişiklikler dağıtımlar arasında kalır.

Bölge kısıtlamaları

main.bicep şablonu, location öğesini barındırılan aracıların desteklendiği bölgelerle sınırlar. İzin verilenler listesinde olmayan bir bölgeye dağıtım yapmanız gerekiyorsa, @allowed içindeki main.bicep dekoratörünü güncelleştirin.