Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Container Apps Sandboxes bieden snelle, veilige, kortstondige rekenomgevingen met ingebouwde mogelijkheden voor onderbreken en hervatten. Sandboxes zijn een eersteklas resourcetype (Microsoft.App/SandboxGroups) in Container Apps, naast apps, taken en dynamische sessies.
Important
Als u sandboxes wilt beheren en maken, hebt u de rol Azure nodig Container-apps SandboxGroup-gegevenseigenaar. Wijs deze rol toe aan alle gebruikers die sandboxes maken en beheren.
Sandboxes die tijdens de preview zijn gemaakt, zijn mogelijk niet compatibel met toekomstige releases en moeten mogelijk opnieuw worden gemaakt.
Het API-gebied voor Python SDK en Azure Container Apps CLI-opdrachten kan tijdens de preview-versie worden gewijzigd.
Sandbox-omgevingen maken en beheren
U kunt sandboxes maken en beheren in de portal Sandboxes of programmatisch met behulp van Azure Container Apps CLI of SDK.
Belangrijkste kenmerken van Container Apps Sandboxes
Opstarttijd van minder dan een seconde: Sandboxes worden geleverd vanuit voorverwarmde pools voor nagenoeg onmiddellijke beschikbaarheid.
Sterke isolatie: elke sandbox wordt uitgevoerd in een eigen beveiligde grens, veilig voor het uitvoeren van niet-vertrouwde code.
Schaal naar nul: Je betaalt geen CPU- of geheugenkosten wanneer sandboxes worden gestopt.
Scale-out: De dienst schaalt wanneer nodig op naar duizenden gelijktijdige sandboxen.
OCI-containerimage-ondersteuning: Gebruik de meegeleverde publieke image of breng je eigen containerimages mee als sandbox-rootbestandssystemen.
Onderbreken en hervatten: Maak een momentopname van de volledige status, inclusief geheugen en schijf, en hervat later met hersteltijden van minder dan een seconde.
Levenscyclusbeheer: Je kunt de volledige sandbox-levenscyclus beheren, inclusief momentopnamen van de status, persistente opslag en netwerkbeleidsregels (zowel voor uitgaand als inkomend verkeer).
Wanneer sandboxes gebruiken
Gebruik sandboxes wanneer je geïsoleerde compute-omgevingen nodig hebt met expliciete levenscycluscontrole, persistente status of programmeerbare toegang via SDK's.
| Scenario | Sandboxes gebruiken? | Waarom |
|---|---|---|
| Uitvoering van AI-code met statusbehoud | Ja | Onderbreken tussen taken, hervatten met volledige context intact |
| Ontwikkelomgevingen | Ja | Op aanvraag beschikbare, onderbreekbare omgevingen die de status tussen sessies behouden |
| Agentwerkstromen | Ja | Geef AI-agents permanente, geïsoleerde werkruimten over taakgrenzen heen |
| Interactieve gebruikerssessies | Ja | Elke gebruiker krijgt een eigen geïsoleerde rekenomgeving |
| Multitenant-rekenkracht beveiligen | Ja | Sterke isolatie voor het uitvoeren van niet-vertrouwde workloads van meerdere tenants |
| Burst-workloads | Ja | Schaal op aanvraag van nul naar duizenden sandboxes |
| CI/CD-pijplijnen | Ja | Tijdelijke build- en testomgevingen die naar nul terugschalen wanneer ze inactief zijn |
De juiste Container Apps-rekenoptie kiezen
Gebruik de volgende tabel om het rekentype Container Apps te selecteren dat past bij uw workload.
| Rekentype | Ideaal voor | Lifecycle | State |
|---|---|---|---|
| Apps | Langlopende services, API's, web-apps | Doorlopend | Staatloos (externe staatsarchieven) |
| Banen | Taken uitvoeren tot voltooiing, batchverwerking | Starten → uitvoeren → voltooien | Staatloos: |
| Dynamische sessies | Uitvoering van beheerde code, door LLM gegenereerde scripts | Beheerd door sessiegroep | Kortstondig |
| Sandboxen | Programmeerbare geïsoleerde rekenkracht met levenscyclusbeheer | U beheert: maken, onderbreken, hervatten, verwijderen | Statusbehoud (momentopnamen, volumes) |
belangrijke concepten
Prerequisites
Als u sandboxes wilt maken of beheren, hebt u de Azure roltoewijzing nodig Container-apps SandboxGroup Data Owner. Zonder deze rol kunt u geen sandboxbewerkingen uitvoeren. Wijs deze rol toe aan het gewenste bereik (Azure abonnement of Azure resourcegroep) in de Azure-portal of met behulp van de Azure CLI.
Voordat u de volgende opdracht uitvoert, vervangt u de plaatsaanduidingen die door <> worden omgeven door uw eigen waarden.
az role assignment create \
--assignee "<USER_EMAIL_OR_OBJECT_ID>" \
--role "Container Apps SandboxGroup Data Owner" \
--scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"
Sandbox-groepen
Een sandboxgroep is de beheergrens op het hoogste niveau voor sandboxes. Het is een Azure Resource Manager (ARM)-resource die u in een resourcegroep en regio aanmaakt. Alle sandboxes, schijfimages, momentopnamen, volumes en geheimen behoren tot een sandboxgroep.
Gebruik sandbox-groepen om sandboxes te organiseren op toepassing, team of omgeving.
Sandboxen
Een sandbox is een afzonderlijk geïsoleerd rekenproces binnen een sandboxgroep. Elke sandbox wordt uitgevoerd vanaf een schijfinstallatiekopie of momentopname en heeft een eigen CPU-, geheugen-, schijf- en netwerkgrens.
U communiceert met sandboxes door opdrachten uit te voeren, bestanden te beheren, poorten weer te geven en de levenscyclusstatus te beheren.
Schijfkopieën
Schijfkopieën zijn OCI-containerimages die zijn geconverteerd om te worden gebruikt als sandbox-rootbestandssystemen. U kunt openbare images gebruiken of privé-images maken vanuit uw eigen containerregisters.
U kunt schijfkopieën maken van:
- Publieke images: vooraf gebouwde images die beschikbaar zijn voor alle sandbox-groepen.
- Containerregisterimages: ophalen uit openbare of privéregisters met optionele authenticatie.
Snapshots
Momentopnamen leggen de volledige status van een actieve sandbox vast, inclusief geheugen en schijf. Gebruik momentopnamen om:
- Onderbreken en hervatten: Pauzeer een sandbox en herstel deze later met alle processen en gegevens intact.
- Kloonomgevingen: nieuwe sandboxes maken op basis van een bekende goede status.
- Basislijnen delen: vooraf geconfigureerde omgevingen verdelen over uw team.
Volumina
Microsoft beheert volumes en biedt permanente opslag die u in sandboxes kunt koppelen. Er zijn twee volumetypen beschikbaar:
| Volumetype | Description |
|---|---|
| Azure blob | Deel data over meerdere sandboxes (uploads en downloads, persistente artefacten). Koppelbaar aan meerdere sandboxes tegelijk. |
| Gegevensschijf | Hoog prestatievolume voor databases, buildcaches en grote werksets. Kan worden gekoppeld aan slechts één sandbox tegelijk. |
Levenscyclusstatussen
Sandboxes doorlopen de volgende statussen:
| State | Description |
|---|---|
| Hardlopen | Actief uitvoerend, gebruikmakend van CPU en geheugen |
| Gestopt | Gestopt door gebruiker, API of levenscyclusbeleid |
Wanneer de sandbox wordt gestopt, neemt en bewaart de operatie een snapshot op basis van de Suspend Mode (zie de volgende sectie).
Je kunt levenscyclusbeleid configureren voor elke sandbox:
- Auto-suspend: Pauzeer een idle sandbox na een configureerbare timeout. Een sandbox wordt inactief wanneer er geen inkomend (inkom) verkeer is, geen code-uitvoering (via execute API), geen interactieve shellsessies en geen bestandsbewerkingen.
- Suspend Mode: Kies tussen geheugenmodus (volledige snapshot - schijf + geheugen) of schijfmodus (alleen schijf behouden).
- Automatisch verwijderen: Verwijder automatisch sandboxes na een bepaald aantal dagen nadat de sandbox is gestopt.
Architectuur
Sandboxes maken gebruik van een architectuur in twee lagen:
| Vliegtuig | Eindpunt | Operations |
|---|---|---|
| ARM-besturingslaag | management.azure.com |
Sandbox-groepen maken, bijwerken, verwijderen en vermelden. VNet-verbindingen beheren. |
| ADC-gegevensvlak | management.azuredevcompute.io |
Beheer sandboxes, schijfinstallatiekopieën, momentopnamen, bestanden, volumes, geheimen, poorten en uitgaand beleid. |
U maakt en beheert sandbox-groepen via het ARM-besturingsvlak. Alle bewerkingen in afzonderlijke sandboxes en hun resources doorlopen het ADC-gegevensvlak, dat is gericht op een specifieke sandboxgroep.
Resourceniveaus
Aan elke sandbox wordt een resourcelaag toegewezen waarmee de CPU, het geheugen en de schijftoewijzing worden gecontroleerd.
| Laag | CPU | Memory | schijf |
|---|---|---|---|
| XS | 0,25 kernen | 0,5 GB | 20 GB |
| S | 0,5 kernen | 1 GB | 20 GB |
| M (standaard) | 1 kern | 2 GB | 20 GB |
| L | 2 kernen | 4 GB | 40 GB |
| XL | 4 kernen | 8 GB | 80 GB |
Overwegingen
Houd rekening met deze punten bij het werken met sandboxes:
- Entra ID vereist: alleen Microsoft Entra ID accounts hebben toegang tot sandboxes. Persoonlijke Microsoft-accounts worden niet ondersteund.
- Netwerkbesturing: Je kunt uitgangsbeleid configureren om uitgaand verkeer vanuit sandboxes te beheersen, waaronder domeingebaseerde toelaat- of weigerregels, CIDR-gebaseerde netwerkregels en VNet-integratie.
Sandboxes versus dynamische sessies
Sandboxes en dynamische sessies bieden beide geïsoleerde rekenomgevingen in Container Apps, maar ze bieden verschillende behoeften.
| Dynamische sessies | Sandboxen | |
|---|---|---|
| Toegangspatroon | HTTP-aanvraagroutering via een eindpunt voor sessiegroepbeheer | Rechtstreekse SDK- en CLI-aansturing van afzonderlijke sandboxes |
| State | Kortstondige, vernietigd na afkoeling | Stateful met onderbreken, hervatten en momentopnamen |
| Besturingselement voor ontwikkelaars | Pool beheert de toewijzing en levenscyclus | U beheert de levenscyclus van de sandbox, bestanden, poorten en beleidsregels |
| Afbeeldingsmodel | Code-interpreter (ingebouwd) of aangepaste container | schijfkopieën (OCI), momentopnamen, contentpakketten |
| Permanente opslag | Niet beschikbaar | Volumes (Azure blob, gegevensschijf) |
| Netwerken | Basisisolatie | Beleid voor uitgaand verkeer, VNet-integratie, poortbeheer |
| SDK's | REST API via het eindpunt van de pool | Python SDK (azure-containerapps-sandbox) en REST API |
Kies dynamische sessies wanneer u een beheerde uitvoeringservaring nodig hebt waarmee de infrastructuur wordt geabstraheerd. Kies Sandboxes wanneer u programmeerbare controle over geïsoleerde berekeningen met statuspersistentie nodig hebt.