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.
Important
Elemente, die in diesem Artikel als Vorschau gekennzeichnet sind, befinden sich derzeit in der Vorschau. Diese Vorschau wird ohne Service Level Agreement (SLA) bereitgestellt, und Microsoft empfiehlt sie nicht für Produktionsworkloads. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Supplementale Nutzungsbedingungen für Microsoft Azure Previews.
Die Azure Developer CLI (azd) kann Bicep- oder Terraform-Infrastruktur aus den deklarierten azure.yamlDiensten generieren. Wählen Sie Terraform mit azd ai agent init --infra=terraform, oder Bicep mit --infra=bicep. Beim Ausführen von azd provision wird die ausgewählte Infrastruktur angewendet.
Infrastrukturbereitstellung und Agentbereitstellung sind getrennt. Terraform oder Bicep verwalten unterstützende Azure-Ressourcen; azd deploy erstellt die Data-Plane-Version des gehosteten Agents. Informationen zum Verwalten des Agenten selbst mit Terraform anstelle von Azd finden Sie unter Bereitstellen eines gehosteten Agenten mit Terraform.
Was bereitgestellt wird
Standardmäßig erstellt azd ai agent init keine Infrastructure-as-Code-Dateien. Verwenden Sie --infra oder --infra=bicep, um Bicep-Infrastruktur hinzuzufügen. Verwenden Sie --infra=terraform, um Terraform-Infrastruktur hinzuzufügen und infra.provider: terraform festzulegen.
Wenn Sie Bicep Infrastruktur hinzufügen, basieren die Vorlagen auf dem azd-ai-starter-basic-Repository und erstellen die folgenden Azure Ressourcen:
| Resource | Purpose |
|---|---|
| Ressourcengruppe | Organisiert alle Ressourcen. Der Name lautet rg-<agent-name>. |
| AI Services-Konto | Das Microsoft Foundry-Konto. |
| Gießereiprojekt | Beherbergt den Agenten und die KI-Funktionen. |
| Modellimplementierungen | Die Modelle, die der Agent verwendet, z. B. gpt-4.1-mini. |
| Azure Container Registry (Registrierungsdienst für Container von Azure) | Speichert die Agent-Container-Images. |
| Application Insights | Agent-Leistungsüberwachung und Telemetrie. |
| Log Analytics-Arbeitsbereich | Zentralisierte Protokollsammlung. |
| Verwaltete Identität | Die vom System zugewiesene Identität des Projekts, die die Agent-Identitätsblaupause bei Microsoft Entra ID authentifiziert und Plattformrollenzuweisungen enthält. |
Die Vorlagen erstellen abhängig von den in azure.yaml deklarierten Diensten und Abhängigkeiten weitere Ressourcen:
- Agent-Funktionseinstellungen – deklarieren Sie die Azure Ressourcen, die Agentstatus, Vektordaten und Dateien enthalten. Legen Sie sie fest, wenn Agents ihren eigenen Speicher verwenden müssen.
- Grounding with Bing oder Grounding with Bing Custom Search: Für das Websuchtool.
- Azure KI-Suche – zur Suchfundierung.
- Azure Storage – für Dateivorgänge.
Projektstruktur
Für Bicep weist ein generiertes Projekt die folgende Struktur auf:
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)
Wie Parameter fließen
Für Bicep ordnet azd die main.parameters.json Datei Umgebungsvariablen Parametern zu:
{
"environmentName": { "value": "${AZURE_ENV_NAME}" },
"location": { "value": "${AZURE_LOCATION}" },
"aiFoundryResourceName": { "value": "${AZURE_AI_ACCOUNT_NAME}" },
"aiProjectDeploymentsJson": { "value": "${AI_PROJECT_DEPLOYMENTS=[]}" }
}
Während azd provision löst azd diese ${VAR}-Verweise aus der Umgebung (.azure/<env>/.env) auf und übergibt sie an die Bicep-Bereitstellung. Ausgaben aus der Bereitstellung, z. B. der Foundry-Projektendpunkt, der Modellbereitstellungsname und der Containerregistrierungsendpunkt, werden zur Verwendung durch azd deploy, azd ai agent run und die azd ai-Ressourcenbefehle in die Umgebung zurückgeschrieben.
Terraform-Infrastruktur
Für ein neues Projekt generiert azd ai agent init --infra=terraform Dateien wie die folgenden:
infra/
|-- main.tf
|-- provider.tf
|-- variables.tf
|-- outputs.tf
|-- main.tfvars.json
\-- .azd-foundry
Containerbasierte Dienste können auch container-registry.tf generieren. Vorhandene Projekte können ihre Infrastruktur beibehalten und eine separate Foundry-Ebene unter infra/foundry/ erhalten. Verwenden Sie das tatsächliche generierte Layout, anstatt Dateien zwischen Ebenen zu verschieben.
Die Terraform-Konfiguration stellt das Foundry-Konto, das Projekt, die Modellbereitstellungen und die zugehörigen Ressourcen bereit, die von den ausgewählten Diensten benötigt werden. Die Erstellung der Containerregistrierung hängt vom Bereitstellungsmodus und der Imagekonfiguration ab.
main.tfvars.json bindet Infrastruktureingaben an azd-Umgebungswerte.
outputs.tf stellt azd nach der Bereitstellung Werte wie den Foundry-Projektendpunkt zur Verfügung. Diese Bindungen sind Teil des azd-Workflows; gehen Sie nicht davon aus, dass eine generierte Parameterdatei mit einer eigenständigen terraform applyDatei unverändert funktioniert.
Um die Terraform-Infrastruktur anzupassen, bearbeiten Sie die generierten .tf-Dateien, behalten Sie die für Ihre Agent-Dienste benötigten Ausgaben bei, und führen Sie azd provision aus. Überprüfen Sie den Terraform-Plan, bevor Sie Infrastrukturänderungen anwenden.
Terraform State und CI/CD
Die generierten Dateien initialisieren kein Backend für den Remote-Status. Konfigurieren Sie bei Teambereitstellungen den in Azure Storage gespeicherten Status, separate State-Schlüssel für jede Umgebung und die erforderlichen Backend-Berechtigungen, bevor Sie CI/CD konfigurieren.
Siehe Einrichten von CI/CD mit Terraform für den Bereitstellungsfluss und Verwenden von Terraform mit azd für die Back-End-Konfiguration.
Einschränkungen beim Terraform-Auswurf
Der Terraform-Ejection-Pfad unterstützt die Service-network:-Konfiguration in der aktuellen Foundry-Agents-Erweiterung nicht. Überprüfen Sie vorhandene Ressourceneinschränkungen, bevor Sie ein Projekt auswerfen, das bereits über eine Infrastruktur verfügt. Ejection ist keine allgemeine Migration des Zustands von Bicep zu Terraform, und das Löschen von Produktionsressourcen ist keine Voraussetzung für den Umstieg auf Terraform.
Vorhandene Ressourcen
Die Bicep-Vorlagen unterstützen das Herstellen einer Verbindung mit vorhandenen Azure Ressourcen, anstatt neue zu erstellen. Dies ist nützlich, wenn Ihr Team bereits über eine gemeinsame Infrastruktur verfügt.
| Vorhandene Ressource | Festzulegende Umgebungsvariablen |
|---|---|
| AI Services-Konto | AZURE_AI_ACCOUNT_NAME |
| Container Registry |
AZURE_CONTAINER_REGISTRY_RESOURCE_ID und AZURE_CONTAINER_REGISTRY_ENDPOINT |
| Application Insights |
APPLICATIONINSIGHTS_CONNECTION_STRING und APPLICATIONINSIGHTS_RESOURCE_ID |
Legen Sie diese Variablen mit azd env set fest, bevor Sie azd provision ausführen.
Anpassen der Infrastruktur
Das infra/-Verzeichnis ist Standardbestandteil der azd-Infrastruktur. So fügen Sie Bicep Ressourcen hinzu oder ändern sie:
- Bearbeiten
infra/main.bicepoder Hinzufügen neuer Module unterinfra/core/. - Fügen Sie
main.parameters.jsonneue Parameter mit${VAR}-Bindungen hinzu. - Legen Sie die entsprechenden
azdUmgebungsvariablen mitazd env setfest. - Führen Sie
azd provisionaus, um die Änderungen anzuwenden.
Änderungen an den Bicep-Dateien bleiben über Bereitstellungen hinweg erhalten.
Regionseinschränkungen
Die Vorlage main.bicep beschränkt location auf Regionen, in denen gehostete Agenten unterstützt werden. Wenn Sie in einer Region bereitstellen müssen, die nicht in der Liste der zulässigen Regionen enthalten ist, aktualisieren Sie den @allowed-Decorator in main.bicep.