Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel verwenden Sie Terraform, um eine Microsoft Foundry-Ressource zu verwalten. Sie erfahren, wie Sie Terraform zum Verwalten von Gießereiverwaltungskonfigurationen wie Projekte, Bereitstellungen und Verbindungen verwenden.
Sie können entweder den Terraform AzAPI-Anbieter oder AzureRM-Anbieter verwenden, um Foundry-Ressourcen zu verwalten. Während der AzAPI-Anbieter auf alle Konfigurationen der Foundry-Steuerungsebenen einschließlich Vorschaufeatures zugreifen kann, ist die AzureRM-Variante auf kernige Verwaltungsfunktionen beschränkt:
| Maßnahme | AzAPI-Anbieter | AzureRM-Anbieter |
|---|---|---|
| Erstellen einer Ressourcengruppe | ✅ | ✅ |
| Erstellen einer Foundry-Ressource | ✅ | ✅ |
| Konfigurieren von Bereitstellungen | ✅ | ✅ |
| Konfigurieren von Projekten | ✅ | - |
| Konfigurieren einer Verbindung mit Wissen und Tools | ✅ | - |
| Konfigurieren eines Funktionshosts (für erweiterte Toolkonfigurationen wie Agent-Standardsetup) | ✅ | - |
Terraform ermöglicht die Definition, Vorschau und Bereitstellung der Cloudinfrastruktur. Terraform ermöglicht das Erstellen von Konfigurationsdateien mit HCL-Syntax. Mit der HCL-Syntax können Sie den Cloudanbieter ( z. B. Azure ) und die Elemente angeben, aus denen Ihre Cloudinfrastruktur besteht. Nach der Erstellung Ihrer Konfigurationsdateien erstellen Sie einen Ausführungsplan, mit dem Sie eine Vorschau Ihrer Infrastrukturänderungen anzeigen können, bevor diese bereitgestellt werden. Nachdem Sie die Änderungen überprüft haben, wenden Sie den Ausführungsplan an, um die Infrastruktur bereitzustellen.
Prerequisites
Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie über keins verfügen, erstellen Sie ein kostenloses Azure-Konto, das ein kostenloses Testabonnement enthält.
Implementieren einer grundlegenden Foundry-Konfiguration mit Terraform-Code
Erstellen Sie ein Verzeichnis, in dem Sie den Terraform-Beispielcode testen und ausführen, und legen Sie es als aktuelles Verzeichnis fest.
Erstellen Sie eine Datei namens
providers.tf, und fügen Sie den folgenden Code ein:# Setup providers provider "azapi" { subscription_id = var.subscription_id }Erstellen Sie eine Datei namens
main.tf, und fügen Sie den folgenden Code ein:## Create a random string ## resource "random_string" "unique" { length = 5 min_numeric = 5 numeric = true special = false lower = true upper = false } ## Create a resource group for the resources to be stored in ## resource "azapi_resource" "rg" { type = "Microsoft.Resources/resourceGroups@2021-04-01" name = "rg-aifoundry-${random_string.unique.result}" location = var.location } ########## Create AI Foundry resource ########## ## Create the AI Foundry resource ## resource "azapi_resource" "ai_foundry" { type = "Microsoft.CognitiveServices/accounts@2025-06-01" name = "aifoundry${random_string.unique.result}" parent_id = azapi_resource.rg.id location = var.location schema_validation_enabled = false body = { kind = "AIServices" sku = { name = "S0" } identity = { type = "SystemAssigned" } properties = { # Support both Entra ID and API Key authentication for Cognitive Services account disableLocalAuth = false # Specifies that this is an AI Foundry resourceyes allowProjectManagement = true # Set custom subdomain name for DNS names created for this Foundry resource customSubDomainName = "aifoundry${random_string.unique.result}" } } } ## Create a deployment for OpenAI's GPT-4o in the AI Foundry resource ## resource "azapi_resource" "aifoundry_deployment_gpt_4o" { type = "Microsoft.CognitiveServices/accounts/deployments@2023-05-01" name = "gpt-4o" parent_id = azapi_resource.ai_foundry.id depends_on = [ azapi_resource.ai_foundry ] body = { sku = { name = "GlobalStandard" capacity = 1 } properties = { model = { format = "OpenAI" name = "gpt-4o" version = "2024-11-20" } } } } ## Create AI Foundry project ## resource "azapi_resource" "ai_foundry_project" { type = "Microsoft.CognitiveServices/accounts/projects@2025-06-01" name = "project${random_string.unique.result}" parent_id = azapi_resource.ai_foundry.id location = var.location schema_validation_enabled = false body = { sku = { name = "S0" } identity = { type = "SystemAssigned" } properties = { displayName = "project" description = "My first project" } } }Erstellen Sie eine Datei namens
variables.tf, und fügen Sie den folgenden Code ein:variable "location" { description = "The name of the location to provision the resources to" type = string } variable "subscription_id" { type = string }
Initialisieren Sie Terraform
Führen Sie terraform init aus, um die Terraform-Bereitstellung zu initialisieren. Dieser Befehl lädt den Azure-Anbieter herunter, der zum Verwalten Ihrer Azure-Ressourcen erforderlich ist.
terraform init -upgrade
Wichtige Punkte:
- Der Parameter
-upgradeaktualisiert die erforderlichen Anbieter-Plug-Ins auf die neueste Version, die den Versionseinschränkungen der Konfiguration entspricht.
Erstellen eines Terraform-Ausführungsplans
Führen Sie terraform plan aus, um einen Ausführungsplan zu erstellen.
terraform plan -out main.tfplan
Wichtige Punkte:
- Der Befehl
terraform planerstellt einen Ausführungsplan, führt ihn aber nicht aus. Stattdessen wird bestimmt, welche Aktionen erforderlich sind, um die in Ihren Konfigurationsdateien angegebene Konfiguration zu erstellen. Mit diesem Muster können Sie überprüfen, ob der Ausführungsplan Ihren Erwartungen entspricht, bevor Sie Änderungen an tatsächlichen Ressourcen vornehmen. - Mit dem optionalen
-out-Parameter können Sie eine Ausgabedatei für den Plan angeben. Durch die Verwendung des Parameters-outwird sichergestellt, dass genau der von Ihnen überprüfte Plan angewendet wird.
Anwenden eines Terraform-Ausführungsplans
Führen Sie terraform apply aus, um den Ausführungsplan auf Ihre Cloudinfrastruktur anzuwenden.
terraform apply main.tfplan
Wichtige Punkte:
- Der Beispielbefehl
terraform applysetzt voraus, dass Sie zuvorterraform plan -out main.tfplanausgeführt haben. - Wenn Sie einen anderen Dateinamen für den Parameter
-outangegeben haben, verwenden Sie denselben Dateinamen im Aufruf vonterraform apply. - Wenn Sie den Parameter
-outnicht verwendet haben, rufen Sieterraform applyohne Parameter auf.
Anpassen von Sicherheits- und Compliance-Kontrollen
Um die Sicherheits- und Complianceanforderungen zu erfüllen, können Sie foundry mit Sicherheitskonfigurationen anpassen und eigene Speicherressourcen zur Verfügung stellen. Wenn Sie beispielsweise den Agent-Dienst verwenden, können Sie Ihre eigene Azure CosmosDB-Datenbank, Azure AI Search-Instanz und Ihr Azure Storage-Konto verwenden, um Threads und Nachrichten zu speichern.
Siehe die folgenden Repositories für erweiterte Setup-Beispiele:
- Das Repository für Foundry Samples enthält Beispiel-Terraform-Konfigurationen für die am häufigsten verwendeten Unternehmenssicherheitskonfigurationen.
- Terraform Azure Verified Module (Cognitive Services-Konto) ist ein generisches Modul zum Verwalten des azure-Ressourcentyps, der von Foundry, Azure OpenAI, Azure Speech, Azure Language verwendet wird.
- Terraform Azure Verified Pattern Module (Foundry) ist eine Referenzimplementierung für Foundry.
- Terraform Azure Verified Pattern Module (Azure AI und ML Landing Zone) bietet eine Referenz für den Satz von Ressourcen, die normalerweise zusammen mit Foundry für ein End-to-End-Beispiel erstellt wurden.
Bereinigen von Ressourcen
Wenn Sie die über Terraform erstellten Ressourcen nicht mehr benötigen, führen Sie die folgenden Schritte aus:
Führen Sie terraform plan aus, und geben Sie das Flag
destroyan.terraform plan -destroy -out main.destroy.tfplanWichtige Punkte:
- Der Befehl
terraform planerstellt einen Ausführungsplan, führt ihn aber nicht aus. Stattdessen wird bestimmt, welche Aktionen erforderlich sind, um die in Ihren Konfigurationsdateien angegebene Konfiguration zu erstellen. Mit diesem Muster können Sie überprüfen, ob der Ausführungsplan Ihren Erwartungen entspricht, bevor Sie Änderungen an tatsächlichen Ressourcen vornehmen. - Mit dem optionalen
-out-Parameter können Sie eine Ausgabedatei für den Plan angeben. Durch die Verwendung des Parameters-outwird sichergestellt, dass genau der von Ihnen überprüfte Plan angewendet wird.
- Der Befehl
Führen Sie den Befehl terraform apply aus, um den Ausführungsplan anzuwenden.
terraform apply main.destroy.tfplan
Problembehandlung von Terraform auf Azure
Lösen Sie allgemeine Probleme bei der Verwendung von Terraform in Azure.