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.
Azure Container Apps Sandboxes bieten schnelle, sichere, kurzlebige Rechenumgebungen mit integrierten Funktionen zum Anhalten und Fortsetzen. Sandboxes sind in Container Apps neben Apps, Aufträgen und dynamischen Sitzungen ein Ressourcentyp erster Klasse (Microsoft.App/SandboxGroups).
Important
Zum Verwalten und Erstellen von Sandboxes benötigen Sie die Azure Rolle Container Apps SandboxGroup Data Owner. Weisen Sie diese Rolle allen Benutzern zu, die Sandkasten erstellen und verwalten.
Erstellen und Verwalten von Sandkastenumgebungen
Sie können Sandkasten im Portal Sandboxes oder programmgesteuert mithilfe von Azure Container Apps CLI oder SDK erstellen und verwalten.
Wichtige Merkmale von Container-App-Sandboxen
Start in unter einer Sekunde: Sandboxes werden aus vorgewärmten Pools für eine nahezu sofortige Verfügbarkeit bereitgestellt.
Starke Isolation: Jede Sandbox wird in einer eigenen sicheren Grenze ausgeführt, sicher für die Ausführung nicht vertrauenswürdiger Code.
Skalieren bis Null: Du zahlst keine CPU- oder Speichergebühren, wenn Sandboxes gestoppt werden.
Horizontale Skalierung: Der Dienst skaliert bei Bedarf auf Tausende gleichzeitige Sandboxes.
OCI-Container-Image-Unterstützung: Verwenden Sie das beigefügte öffentliche Image oder bringen Sie eigene Container-Images als Sandbox-Root-Dateisysteme.
Suspend und Resume: Snapshot des gesamten Status, einschließlich Arbeitsspeicher und Datenträger, und spätere Wiederaufnahme mit Wiederherstellungszeiten von weniger als einer Sekunde.
Lebenszykluskontrolle: Sie können den gesamten Sandbox-Lebenszyklus verwalten, einschließlich Zustands-Snapshots, persistenter Speicherung und Netzwerkrichtlinien (sowohl Ausgangs- als auch Eintritt).
Wann Sandkästen verwendet werden sollten
Verwenden Sie Sandboxen, wenn Sie isolierte Rechenumgebungen mit expliziter Lebenszykluskontrolle, persistentem Zustand oder programmierbarem Zugriff über SDKs benötigen.
| Szenario | Verwenden Sie Sandkasten? | Warum? |
|---|---|---|
| AI-Codeausführung mit Zustandserhaltung | Ja | Suspend zwischen Aufgaben, Resume mit intaktem Kontext |
| Entwicklungsumgebungen | Ja | On-demand aussetzbare Umgebungen, die den Status über Sitzungen hinweg beibehalten |
| Agenten-Workflows | Ja | Geben Sie KI-Agenten persistente, isolierte Arbeitsbereiche über Aufgabengrenzen hinweg |
| Interaktive Benutzersitzungen | Ja | Jeder Benutzer erhält eine eigene isolierte Computeumgebung. |
| Sicherer Multitenant-Compute | Ja | Starke Isolierung zum Ausführen nicht vertrauenswürdiger Workloads von mehreren Mandanten |
| Burst-Workloads | Ja | Skaliere von null bis zu tausend Sandkästen auf Abruf |
| CI/CD-Pipelines | Ja | Temporäre Build- und Testumgebungen, die bei Inaktivität auf null herunterskalieren |
Wählen Sie die richtige Computingoption für Container Apps aus
Verwenden Sie die folgende Tabelle, um den Compute-Typ für Container Apps auszuwählen, der zu Ihrer Arbeitslast passt.
| Computetyp | Am besten geeignet für: | Lifecycle | State |
|---|---|---|---|
| Apps | Dienste mit langer Laufzeit, APIs, Web-Apps | Kontinuierlich | Zustandslos (externer Zustandsspeicher) |
| Arbeitsplätze | Ausführen von Aufgaben bis zum Abschluss, Batch-Verarbeitung | Starten → Ausführen → abgeschlossen | Zustandslos |
| Dynamische Sitzungen | Ausführung verwalteter Code, LLM-generierte Skripts | Vom Sitzungspool verwaltet | Kurzlebig |
| Sandkästen | Programmierbare isolierte Rechenleistung mit Lebenszyklussteuerung | Sie verwalten: Erstellen, Anhalten, Fortsetzen, Löschen | Statusbasiert (Snapshots, Volumes) |
Wichtige Begriffe
Voraussetzungen
Zum Erstellen oder Verwalten von Sandboxes benötigen Sie die Azure Rollenzuweisung Container Apps SandboxGroup Data Owner. Ohne diese Rolle können Sie keine Sandbox-Vorgänge ausführen. Weisen Sie diese Rolle im gewünschten Bereich (Azure Abonnement oder Azure Ressourcengruppe) im Azure Portal oder mithilfe der Azure CLI zu.
Ersetzen Sie vor dem Ausführen des folgenden Befehls die Platzhalter, die von <> Ihren eigenen Werten umgeben sind.
az role assignment create \
--assignee "<USER_EMAIL_OR_OBJECT_ID>" \
--role "Container Apps SandboxGroup Data Owner" \
--scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"
Sandkastengruppen
Eine Sandbox-Gruppe ist die oberste Verwaltungsebene für Sandboxes. Es handelt sich um eine Azure Resource Manager (ARM)-Ressource, die Sie in einer Ressourcengruppe und -region erstellen. Alle Sandboxen, Datenträger-Images, Snapshots, Volumes und Secrets sind auf eine Sandbox-Gruppe beschränkt.
Verwenden Sie Sandkastengruppen, um Sandkasten nach Anwendung, Team oder Umgebung zu organisieren.
Sandkästen
Eine Sandbox ist eine einzelne isolierte Computeinstanz innerhalb einer Sandkastengruppe. Jede Sandbox wird von einem Image oder einem Snapshot ausgeführt und hat ihre eigene CPU-, Speicher-, Arbeitsspeicher- und Netzwerkbegrenzung.
Sie interagieren mit Sandboxes, indem Sie Befehle ausführen, Dateien verwalten, Ports freigeben und den Lebenszyklusstatus steuern.
Datenträgerabbilder
Festplatten-Images sind OCI-Container-Images, die zur Verwendung als Sandbox-Root-Dateisysteme konvertiert wurden. Sie können öffentliche Images verwenden oder private Images aus Ihren eigenen Containerregistrierungen erstellen.
Sie können Datenträgerabbilder aus Folgendem erstellen:
- Öffentliche Bilder: Vorgefertigte Bilder, die für alle Sandkastengruppen verfügbar sind.
- Container-Registry-Images: Aus öffentlichen oder privaten Container-Registries mit optionaler Authentifizierung abrufen.
Snapshots
Momentaufnahmen erfassen den vollständigen Zustand einer laufenden Sandbox, einschließlich Arbeitsspeicher und Festplatte. Verwenden Sie Momentaufnahmen für Folgendes:
- Suspend und Resume: Pausieren einer Sandbox und spätere Wiederherstellung mit allen Prozessen und Daten.
- Umgebungen klonen: Erstellen einer neuen Sandbox ausgehend von einem bekannt einwandfreien Status.
- Freigeben von Basiswerten: Verteilen vorkonfigurierte Umgebungen in Ihrem Team.
Volumina
Microsoft verwaltet Volumes und bietet beständigen Speicher, den Sie in Sandkasten bereitstellen können. Es stehen zwei Volumetypen zur Verfügung:
| Volumetyp | Description |
|---|---|
| Azure Blob | Daten zwischen mehreren Sandboxes teilen (Uploads und Downloads, persistente Artefakte). Kann gleichzeitig in mehrere Sandboxes eingebunden werden. |
| Datenträger | Hochleistungs-Volumes für Datenbanken, Build-Caches und große Arbeits-Sets. Kann nur an eine Sandbox gleichzeitig angehängt werden. |
Lebenszyklusstatus
Sandboxen durchlaufen die folgenden Status:
| State | Description |
|---|---|
| Laufen | Aktive Ausführung, Nutzung von CPU und Speicher |
| Angehalten | Von Benutzer, API oder Lebenszyklusrichtlinie gestoppt |
Wenn die Sandbox gestoppt wird, wird dabei gemäß dem Suspend-Modus ein Snapshot erstellt und beibehalten (siehe den folgenden Abschnitt).
Sie können Lebenszyklusrichtlinien für jede Sandbox konfigurieren:
- Automatisches Aussetzen: Setzt eine inaktive Sandbox nach einer konfigurierbaren Zeitspanne aus. Eine Sandbox wird inaktiv, wenn sie keinen eingehenden (eingehenden) Datenverkehr, keine Codeausführung (über Execute-API), keine interaktiven Shell-Sitzungen und keine Dateioperationen hat.
- Suspend-Modus: Wählen Sie zwischen Speichermodus (vollständiger Snapshot – Festplatte + Speicher) oder Festplattenmodus (nur Festplatte erhalten).
- Auto-Löschen: Sandboxen automatisch nach einer bestimmten Anzahl von Tagen nach dem Stopp der Sandbox löschen.
Aufbau
Sandkasten verwenden eine Zwei-Ebenen-Architektur:
| Flugzeug | Endpunkt | Operations |
|---|---|---|
| ARM-Steuerungsebene | management.azure.com |
Sandbox-Gruppen erstellen, aktualisieren, löschen und auflisten. Verwalten von VNet-Verbindungen. |
| Datenebene | management.azuredevcompute.io |
Verwalten von Sandboxen, Datenträger-Images, Snapshots, Dateien, Volumes, Secrets, Ports und Egress-Richtlinien. |
Sie erstellen und verwalten Sandkastengruppen über die ARM-Steuerungsebene. Alle Operationen an einzelnen Sandboxen und deren Ressourcen laufen über die ACA-Sandbox-Datenebene, die auf eine bestimmte Sandbox-Gruppe abgegrenzt ist.
Ressourcenebenen
Jedem Sandkasten wird eine Ressourcenebene zugewiesen, die die CPU-, Arbeitsspeicher- und Datenträgerzuweisung überprüft.
| Tarif | CPU | Gedächtnis | Datenträger |
|---|---|---|---|
| XS | 0,25 Kerne | 0,5 GB | 20 GB |
| S | 0,5 Kerne | 1 GB | 20 GB |
| M (Standard) | 1 Kern | 2 GB | 20 GB |
| L | 2 Kerne | 4GB | 40 GB |
| XL | 4 Kerne | 8 GB | 80 GB |
Überlegungen
Berücksichtigen Sie diese Punkte beim Arbeiten mit Sandkasten:
- Entra ID erforderlich: Nur Microsoft Entra ID Konten können auf Sandkasten zugreifen. Persönliche Microsoft-Konten werden nicht unterstützt.
- Netzwerksteuerungen: Sie können Ausgangsrichtlinien konfigurieren, um ausgehenden Verkehr aus Sandboxen zu steuern, einschließlich domänenbasierter Erlaubt-oder-Ablehnungsregeln, CIDR-basierten Netzwerkregeln und VNet-Integration.
Sandkasten im Vergleich zu dynamischen Sitzungen
Sandkasten und dynamische Sitzungen bieten beide isolierte Computeumgebungen in Container-Apps, aber sie erfüllen unterschiedliche Anforderungen.
| Dynamische Sitzungen | Sandkästen | |
|---|---|---|
| Zugriffsmuster | HTTP-Anforderungsrouting über einen Sitzungspoolverwaltungsendpunkt | Direkte SDK- und CLI-Steuerung über einzelne Sandboxen |
| State | Vergänglich, wird nach der Abklingzeit zerstört | Statusbasiert mit Suspend, Resume und Snapshots |
| Entwicklerkontrolle | Pool verwaltet die Zuweisung und den Lebenszyklus | Sie verwalten den Sandkastenlebenszyklus, Dateien, Ports und Richtlinien. |
| Bildmodell | Codedolmetscher (integriert) oder benutzerdefinierter Container | Datenträger-Images (OCI), Snapshots, Inhaltspakete |
| Beständiger Speicher | Nicht verfügbar | Volumes (Azure Blob, Datenfestplatte) |
| Vernetzung | Einfache Isolation | Egressrichtlinien, VNet-Integration, Portverwaltung |
| SDKs | REST-API über Poolendpunkt | Python SDK (azure-containerapps-sandbox) und REST API |
Wählen Sie dynamische Sitzungen aus, wenn Sie eine verwaltete Ausführungserfahrung benötigen, die die Infrastruktur abstrahiert. Wählen Sie Sandboxes, wenn Sie programmierbare Steuerung über isolierte Rechenumgebungen mit persistenter Speicherung des Zustands benötigen.