Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule użyjesz narzędzia Terraform do zarządzania zasobem rozwiązania Microsoft Foundry . Dowiesz się, jak za pomocą narzędzia Terraform zarządzać konfiguracjami zarządzania rozwiązaniami Foundry, w tym projektami, wdrożeniami i połączeniami.
Do zarządzania zasobami Foundry możesz użyć dostawcy Terraform AzAPI lub AzureRM. Chociaż dostawca AzAPI umożliwia dostęp do wszystkich konfiguracji warstwy sterowania Foundry, w tym funkcji dostępnych jako wersja zapoznawcza, wariant AzureRM jest ograniczony do podstawowych funkcji zarządzania.
| Akcja | Dostawca AzAPI | Dostawca modułu AzureRM |
|---|---|---|
| Tworzenie grupy zasobów | ✅ | ✅ |
| Tworzenie zasobu usługi Foundry | ✅ | ✅ |
| Konfigurowanie wdrożeń | ✅ | ✅ |
| Konfigurowanie projektów | ✅ | - |
| Konfigurowanie połączenia z wiedzą i narzędziami | ✅ | - |
| Skonfiguruj hosta funkcji (dla zaawansowanych konfiguracji narzędzi, takich jak konfiguracja standardowa agenta) | ✅ | - |
Narzędzie Terraform umożliwia definiowanie, wyświetlanie wersji zapoznawczej i wdrażanie infrastruktury chmury. Za pomocą narzędzia Terraform tworzysz pliki konfiguracji przy użyciu składni HCL. Składnia listy HCL umożliwia określenie dostawcy chmury — takiego jak platforma Azure — oraz elementów tworzących infrastrukturę chmury. Po utworzeniu plików konfiguracji utworzysz plan wykonywania, który umożliwia wyświetlenie podglądu zmian infrastruktury przed ich wdrożeniem. Po zweryfikowaniu zmian należy zastosować plan wykonywania w celu wdrożenia infrastruktury.
Prerequisites
Konto Azure z aktywną subskrypcją. Jeśli go nie masz, utwórz bezpłatne konto platformy Azure, które obejmuje subskrypcję bezpłatnej wersji próbnej.
- Zainstaluj i skonfiguruj rozwiązanie Terraform.
Implementowanie podstawowej konfiguracji rozwiązania Foundry przy użyciu kodu narzędzia Terraform
Utwórz katalog, w którym chcesz przetestować i uruchomić przykładowy kod programu Terraform i utworzyć go jako bieżący katalog.
Utwórz plik o nazwie
providers.tfi wstaw następujący kod.# Setup providers provider "azapi" { subscription_id = var.subscription_id }Utwórz plik o nazwie
main.tfi wstaw następujący kod.## 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" } } }Utwórz plik o nazwie
variables.tfi wstaw następujący kod.variable "location" { description = "The name of the location to provision the resources to" type = string } variable "subscription_id" { type = string }
Inicjowanie narzędzia Terraform
Uruchom terraform init, aby zainicjalizować wdrożenie Terraform. Polecenie to pobiera dostawcę Azure wymaganego do zarządzania zasobami Azure.
terraform init -upgrade
Kluczowe punkty:
- Parametr
-upgradeuaktualnia niezbędne wtyczki dostawcy do najnowszej wersji, która jest zgodna z ograniczeniami wersji konfiguracji.
Tworzenie planu wykonania programu Terraform
Uruchom terraform plan, aby utworzyć plan realizacji.
terraform plan -out main.tfplan
Kluczowe punkty:
- Polecenie
terraform plantworzy plan wykonania, ale nie wykonuje go. Zamiast tego, określa, jakie działania są niezbędne do stworzenia konfiguracji określonej w plikach konfiguracyjnych. Ten wzorzec pozwala Ci zweryfikować, czy plan wykonania spełnia Twoje oczekiwania, zanim wprowadzisz jakiekolwiek zmiany do rzeczywistych zasobów. - Opcjonalny parametr
-outpozwala określić plik wyjściowy dla planu. Użycie parametru-outzapewnia, że plan, który przejrzałeś, zostanie dokładnie zastosowany.
Zastosuj plan wykonawczy Terraform
Uruchom terraform apply, aby zastosować plan wykonawczy do infrastruktury chmury.
terraform apply main.tfplan
Kluczowe punkty:
- Przykładowe polecenie
terraform applyzakłada, że wcześniej uruchomiono polecenieterraform plan -out main.tfplan. - Jeśli podałeś inną nazwę pliku dla parametru
-out, użyj tej samej nazwy pliku w wywołaniuterraform apply. - Jeśli nie użyłeś parametru
-out, wywołajterraform applybez żadnych parametrów.
Dostosowywanie za pomocą mechanizmów kontroli zabezpieczeń i zgodności
Aby spełnić wymagania dotyczące zabezpieczeń i zgodności, możesz dostosować platformę Foundry przy użyciu konfiguracji zabezpieczeń i używając własnych zasobów pamięci masowej. Na przykład korzystając z usługi Agent, możesz zdecydować się na użycie własnej bazy danych Azure CosmosDB, instancji usługi Azure AI Search oraz konta Azure Storage do przechowywania wątków i komunikatów.
Zapoznaj się z poniższymi repozytoriami, aby zapoznać się z zaawansowanymi przykładami konfiguracji:
- Repozytorium Foundry Samples zawiera przykładowe konfiguracje programu Terraform dla najczęściej używanych konfiguracji zabezpieczeń przedsiębiorstwa.
- Terraform Azure Verified Module (konto usług Cognitive Services) to ogólny moduł służący do zarządzania typem zasobów platformy Azure używanym przez usługę Foundry, Azure OpenAI, Azure Speech, Azure Language.
- Terraform Azure Verified Pattern Module (Foundry) to implementacja referencyjna rozwiązania Foundry.
- Zweryfikowany moduł wzorcowy Terraform dla platformy Azure (Azure AI i Machine Learning Landing Zone) dostarcza odniesienia do zestawu zasobów, które są zazwyczaj tworzone w połączeniu z usługą Foundry dla całościowego przykładu.
Uprzątnij zasoby
Jeśli zasoby utworzone za pomocą narzędzia Terraform nie są już potrzebne, wykonaj następujące czynności:
Uruchom terraform plan oraz określ flagę
destroy.terraform plan -destroy -out main.destroy.tfplanKluczowe punkty:
- Polecenie
terraform plantworzy plan wykonania, ale nie wykonuje go. Zamiast tego, określa, jakie działania są niezbędne do stworzenia konfiguracji określonej w plikach konfiguracyjnych. Ten wzorzec pozwala Ci zweryfikować, czy plan wykonania spełnia Twoje oczekiwania, zanim wprowadzisz jakiekolwiek zmiany do rzeczywistych zasobów. - Opcjonalny parametr
-outpozwala określić plik wyjściowy dla planu. Użycie parametru-outzapewnia, że plan, który przejrzałeś, zostanie dokładnie zastosowany.
- Polecenie
Uruchom terraform apply, aby wdrożyć plan realizacji.
terraform apply main.destroy.tfplan
Rozwiązywanie problemów z programem Terraform na platformie Azure
Rozwiązywanie typowych problemów podczas korzystania z programu Terraform na platformie Azure.