Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
App contenitore di Azure Sandbox offrono ambienti di calcolo rapidi, sicuri e temporanei con funzionalità predefinite di sospensione e ripresa. Le sandbox sono un tipo di risorsa di prima classe (Microsoft.App/SandboxGroups) in App contenitore, insieme ad app, processi e sessioni dinamiche.
Importante
Per gestire e creare sandbox, è necessario il ruolo Azure Container Apps SandboxGroup Data Owner. Assegnare questo ruolo a tutti gli utenti che creano e gestiscono sandbox.
Creare e gestire ambienti sandbox
È possibile creare e gestire sandbox nel portale Sandboxes o a livello di codice usando App contenitore di Azure cli o SDK.
Caratteristiche principali delle sandbox delle app contenitore
Avvio in meno di un secondo: le sandbox vengono predisposte da pool preriscaldati per garantire una disponibilità pressoché immediata.
Isolamento sicuro: ogni sandbox viene eseguita nel proprio limite sicuro, sicuro per l'esecuzione di codice non attendibile.
Scala fino a zero: non paghi costi di CPU o memoria quando i sandbox vengono fermati.
Scale-out: Il servizio si espande fino a migliaia di sandbox simultanee su richiesta.
Supporto per le immagini del contenitore OCI: usare l'immagine pubblica inclusa oppure immagini del contenitore personalizzate come file system radice per la sandbox.
Sospensione e ripresa: salva un'istantanea dello stato completo, inclusi memoria e disco, e riprendi in seguito con tempi di ripristino inferiori al secondo.
Controllo del ciclo di vita: puoi gestire l'intero ciclo di vita della sandbox, inclusi gli snapshot dello stato, l'archiviazione persistente e le politiche di rete (sia in uscita che in ingresso).
Quando usare sandbox
Usa sandbox quando hai bisogno di ambienti di calcolo isolati con controllo esplicito del ciclo di vita, stato persistente o accesso programmabile tramite SDK.
| Scenario | Usare le sandbox? | Perché |
|---|---|---|
| Esecuzione del codice di intelligenza artificiale con conservazione dello stato | Sì | Sospendi tra un'attività e l'altra, riprendi mantenendo intatto l'intero contesto |
| Ambienti di sviluppo | Sì | Ambienti sospendibili su richiesta che mantengono lo stato tra le sessioni |
| Flussi di lavoro dell'agente | Sì | Assegnare agli agenti di intelligenza artificiale aree di lavoro persistenti e isolate oltre i limiti delle attività |
| Sessioni utente interattive | Sì | Ogni utente ottiene il proprio ambiente di calcolo isolato |
| Proteggere il calcolo multi-tenant | Sì | Forte isolamento per l'esecuzione di carichi di lavoro non attendibili provenienti da più tenant |
| Carichi di lavoro a picco | Sì | Scala da zero a migliaia di sandbox su richiesta |
| Pipeline CI/CD | Sì | Ambienti di build e test effimeri che si ridimensionano fino a zero quando sono inattivi |
Scegli l'opzione di calcolo giusta per Container Apps
Usa la tabella seguente per selezionare il tipo di calcolo di Container Apps più adatto al tuo carico di lavoro.
| Tipo di calcolo | Migliore per | Lifecycle | State |
|---|---|---|---|
| Applicazioni | Servizi a esecuzione prolungata, API, app Web | Continuo | Senza stato (archivi di stato esterni) |
| Lavori | Attività di esecuzione al completamento, elaborazione batch | Avvio → in esecuzione → completato | Senza stato |
| Sessioni dinamiche | Esecuzione di codice gestito, script generati da LLM | Gestito dal pool di sessioni | Effimero |
| Sandboxes | Calcolo isolato programmabile con controllo del ciclo di vita | Gestisci: creare, sospendere, riprendere, eliminare | Con stato (snapshot, volumi) |
Concetti chiave
Prerequisiti
Per creare o gestire le sandbox, è necessaria l'assegnazione di ruolo di Azure Container Apps SandboxGroup Data Owner. Senza questo ruolo, non è possibile eseguire operazioni sandbox. Assegnare questo ruolo nell'ambito desiderato (Sottoscrizione di Azure o Gruppo di risorse di Azure) nel portale di Azure o tramite l'interfaccia della riga di comando di Azure (interfaccia della riga di comando di Azure).
Prima di eseguire il comando seguente, sostituisci i segnaposto racchiusi da <> con i tuoi valori.
az role assignment create \
--assignee "<USER_EMAIL_OR_OBJECT_ID>" \
--role "Container Apps SandboxGroup Data Owner" \
--scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"
Gruppi sandbox
Un gruppo sandbox è il limite di gestione di primo livello per le sandbox. Si tratta di una risorsa Azure Resource Manager (ARM) creata in un gruppo di risorse e in un'area. Tutti i sandbox, le immagini disco, gli snapshot, i volumi e i segreti rientrano nell'ambito di un gruppo di sandbox.
Usare i gruppi sandbox per organizzare sandbox in base all'applicazione, al team o all'ambiente.
Sandbox
Una sandbox è una singola istanza di calcolo isolata all'interno di un gruppo sandbox. Ogni sandbox viene eseguita da un'immagine o uno snapshot del disco e ha un proprio limite di CPU, memoria, disco e rete.
È possibile interagire con le sandbox eseguendo comandi, gestendo i file, esponendo le porte e controllando lo stato del ciclo di vita.
Immagini del disco
Le immagini disco sono immagini di container OCI convertite per essere utilizzate come filesystem radice di sandbox. È possibile usare immagini pubbliche o creare immagini private dai propri registri contenitori.
È possibile compilare immagini disco da:
- Immagini pubbliche: immagini predefinite disponibili per tutti i gruppi sandbox.
- Immagini del registro dei contenitori: Scarica da registri pubblici o privati con autenticazione facoltativa.
Snapshots
Gli snapshot acquisiscono lo stato completo di una sandbox in esecuzione, inclusi memoria e disco. Usare gli snapshot per:
- Sospendere e riprendere: sospendere una sandbox e ripristinarla in un secondo momento con tutti i processi e i dati intatti.
- Clonare gli ambienti: creare nuovi sandbox da uno stato valido noto.
- Condividi baseline: Distribuisci ambienti preconfigurati al tuo team.
Volumes
Microsoft gestisce i volumi e fornisce spazio di archiviazione permanente che è possibile montare in sandbox. Sono disponibili due tipi di volume:
| Tipo di volume | Description |
|---|---|
| Azure BLOB | Condividi dati su più sandbox (caricamenti e download, artefatti persistenti). Montabile su più sandbox contemporaneamente. |
| Disco dati | Volume ad alte prestazioni per database, cache di compilazione e working set di grandi dimensioni. Montabile in una sola sandbox alla volta. |
Stati del ciclo di vita
Le aree di test passano attraverso i seguenti stati:
| State | Description |
|---|---|
| In esecuzione | Esecuzione attiva, usando CPU e memoria |
| Fermato | Bloccato da utente, API o politica del ciclo di vita |
Quando la sandbox viene arrestata, l'operazione crea e conserva uno snapshot in base alla modalità di sospensione (vedi la sezione seguente).
Puoi configurare le policy del ciclo di vita per ogni sandbox:
- Sospensione automatica: sospende una sandbox inattiva dopo un timeout configurabile. Un sandbox diventa inattivo quando non ha traffico in ingresso (in ingresso), nessuna esecuzione di codice (tramite execute API), nessuna sessione interattiva di shell e nessuna gestione dei file.
- Modalità Sospensione: Scegli tra modalità memoria (snapshot completo - disco + memoria) o modalità disco (preserva solo disco).
- Cancellazione automatica: eliminare automaticamente le sandbox dopo un numero specificato di giorni dall'arresto della sandbox.
Architecture
Le sandbox usano un'architettura a due piani:
| Aereo | Punto finale | Operations |
|---|---|---|
| Piano di controllo ARM | management.azure.com |
Creare, aggiornare, eliminare ed elencare i gruppi sandbox. Gestire le connessioni di rete virtuale. |
| Piano dati ADC | management.azuredevcompute.io |
Gestire sandbox, immagini del disco, snapshot, file, volumi, secreti, porte e criteri di traffico in uscita. |
I gruppi sandbox vengono creati e gestiti tramite il piano di controllo arm. Tutte le operazioni sui singoli sandbox e sulle relative risorse passano tramite il data plane di ADC, nell’ambito di uno specifico gruppo di sandbox.
Livelli di risorse
A ogni sandbox viene assegnato un livello di risorsa che controlla la CPU, la memoria e l'allocazione del disco.
| Tier | CPU (unità centrale di elaborazione) | Memory | Disco |
|---|---|---|---|
| XS | 0,25 core | 0,5 GB | 20 GB |
| S | 0,5 core | 1 GB | 20 GB |
| M (impostazione predefinita) | 1 nucleo | 2GB | 20 GB |
| L | 2 nuclei | 4GB | 40 GB |
| XL | 4 nuclei | 8GB | 80 GB |
Considerazioni
Considera questi punti quando lavori con le sandbox:
- Entra ID obbligatorio: solo gli account Microsoft Entra ID possono accedere alle sandbox. Gli account Microsoft personali non sono supportati.
- Controlli di rete: Puoi configurare politiche di uscita per controllare il traffico in uscita dai sandbox, incluse regole di permesso o negazione basate su dominio, regole di rete basate su CIDR e integrazione VNet.
Sandbox e sessioni dinamiche
Le sandbox e le sessioni dinamiche forniscono entrambi ambienti di calcolo isolati in App contenitore, ma servono esigenze diverse.
| Sessioni dinamiche | Sandbox | |
|---|---|---|
| Modello di accesso | Routing delle richieste HTTP tramite un endpoint di gestione del pool di sessioni | Direct SDK e l'interfaccia della riga di comando controllano i singoli sandbox |
| Stato | Effimero, distrutto dopo il raffreddamento | Con stato con sospensione, ripresa e snapshot |
| Controlli per sviluppatori | Il pool gestisce l'allocazione e il ciclo di vita | È possibile gestire il ciclo di vita della sandbox, i file, le porte e i criteri |
| Modello di immagine | Interprete del codice (predefinito) o contenitore personalizzato | Immagini disco (OCI), snapshot, pacchetti di contenuto |
| Archiviazione permanente | Non disponibile | Volumi (BLOB Azure, disco dati) |
| Networking | Isolamento di base | Criteri di uscita, integrazione con la rete virtuale, gestione delle porte |
| SDK | API REST tramite l'endpoint del pool | Python SDK (azure-containerapps-sandbox) e API REST |
Scegliere sessioni dinamiche quando è necessaria un'esperienza di esecuzione gestita che astrae l'infrastruttura. Scegliere Sandbox quando è necessario il controllo programmabile sulle risorse di calcolo isolate con persistenza dello stato.