Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os sandboxes do Aplicativos de Contêiner do Azure fornecem ambientes de computação efêmeros, rápidos e seguros, com recursos integrados de suspensão e retomada. Sandboxes são um tipo de recurso de primeira classe (Microsoft.App/SandboxGroups) no Container Apps, ao lado de aplicativos, tarefas e sessões dinâmicas.
Importante
Para gerenciar e criar áreas restritas, você precisa da função Azure Container Apps SandboxGroup Data Owner. Atribua essa função a todos os usuários que criam e gerenciam áreas restritas.
Criar e gerenciar ambientes de sandbox
Você pode criar e gerenciar áreas restritas no portal Sandboxes ou programaticamente usando Aplicativos de Contêiner do Azure CLI ou SDK.
Principais características dos sandboxes do Container Apps
Inicialização em menos de um segundo: sandboxes são provisionadas a partir de pools pré-aquecidos para disponibilidade quase instantânea.
Isolamento robusto: Cada sandbox opera em seu próprio ambiente isolado e seguro, adequado à execução de código não confiável.
Escala para zero: Você não paga taxas de CPU ou memória quando os sandboxes são parados.
Escala horizontal: O serviço aumenta para milhares de sandboxes simultâneas sob demanda.
Suporte a imagens de contêiner OCI: Use a imagem pública incluída ou traga suas próprias imagens de contêiner como sistemas de arquivos raiz da sandbox.
Suspender e retomar: Capture o estado completo, incluindo memória e disco, e retome depois com tempos de restauração inferiores a um segundo.
Controle do ciclo de vida: Você pode gerenciar todo o ciclo de vida do sandbox, incluindo snapshots de estado, armazenamento persistente e políticas de rede (tanto de saída quanto de entrada).
Quando usar sandboxes
Use sandboxes quando precisar de ambientes de computação isolados com controle explícito do ciclo de vida, estado persistente ou acesso programável por SDKs.
| Scenario | Usar sandboxes? | Por que |
|---|---|---|
| Execução de código de IA com preservação de estado | Sim | Pause entre tarefas, retome com todo o contexto preservado |
| Ambientes de desenvolvimento | Sim | Ambientes sob demanda e suspendíveis que preservam o estado entre sessões |
| Fluxos de trabalho do agente | Sim | Fornecer aos agentes de IA espaços de trabalho persistentes e isolados entre limites de tarefa |
| Sessões interativas do usuário | Sim | Cada usuário obtém seu próprio ambiente de computação isolada |
| Computação multitenant segura | Sim | Forte isolamento para executar cargas de trabalho não confiáveis de vários locatários |
| Cargas de trabalho de intermitência | Sim | Dimensionar de zero a milhares de sandboxes sob demanda |
| Pipelines de CI/CD | Sim | Ambientes efêmeros de compilação e teste que escalam para zero quando inativos |
Escolha a opção de computação certa para o Container Apps
Use a tabela a seguir para selecionar o tipo de computação do Container Apps que melhor se adapta à sua carga de trabalho.
| Tipo de computação | Melhor para | Lifecycle | State |
|---|---|---|---|
| Aplicativos | Serviços de execução longa, APIs, aplicativos Web | Contínuo | Sem estado (armazenamentos externos de estado) |
| Trabalhos | Tarefas de execução até a conclusão, processamento em lote | Iniciar → execução → concluída | Sem estado |
| Sessões dinâmicas | Execução de código gerenciado, scripts gerados por LLM | Gerenciado por pool de sessões | Efêmero |
| Sandboxes | Computação isolada programável com controle de ciclo de vida | Você gerencia: criar, suspender, retomar, excluir | Com estado (instantâneos, volumes) |
Conceitos principais
Pré-requisitos
Para criar ou gerenciar sandboxes, você precisa da atribuição de função do Azure Container Apps SandboxGroup Data Owner. Sem essa função, você não pode executar operações de sandbox. Atribua essa função no escopo desejado (Azure Assinatura ou Azure Grupo de Recursos) no portal do Azure ou usando o CLI do Azure.
Antes de executar o comando a seguir, substitua os marcadores de posição delimitados por <> pelos seus próprios valores.
az role assignment create \
--assignee "<USER_EMAIL_OR_OBJECT_ID>" \
--role "Container Apps SandboxGroup Data Owner" \
--scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"
Grupos de sandbox
Um grupo de sandbox é a fronteira de gerenciamento de nível superior para sandboxes. É um recurso do ARM (Azure Resource Manager) que você cria em um grupo de recursos e região. Todas as áreas restritas, imagens de disco, instantâneos, volumes e segredos têm como escopo um grupo de sandbox.
Use grupos de área restrita para organizar áreas restritas por aplicativo, equipe ou ambiente.
Áreas restritas
Um sandbox é uma instância de computação isolada dentro de um grupo de sandboxes. Cada sandbox é executada com base em uma imagem de disco ou instantâneo e tem sua própria CPU, memória, disco e isolamento de rede.
Você interage com áreas restritas executando comandos, gerenciando arquivos, expondo portas e controlando o estado do ciclo de vida.
Imagens de disco
Imagens de disco são imagens de contêiner OCI convertidas para uso como sistemas de arquivos raiz de sandbox. Você pode usar imagens públicas ou criar imagens privadas de seus próprios registros de contêiner.
Você pode criar imagens de disco a partir de:
- Imagens públicas: Imagens pré-construídas disponíveis para todos os grupos de sandbox.
- Imagens de registro de contêineres: extração de registros públicos ou privados com autenticação opcional.
Snapshots
Os snapshots capturam o estado completo de uma sandbox em execução, incluindo o da memória e do disco. Use instantâneos para:
- Suspender e retomar: Pausar uma sandbox e restaurá-la posteriormente com todos os processos e dados intactos.
- Clonar ambientes: crie novas sandboxes a partir de um estado confiável.
- Compartilhar linhas de base: distribua ambientes pré-configurados em sua equipe.
Volumes
A Microsoft gerencia volumes e fornece armazenamento persistente que você pode montar em sandboxes. Dois tipos de volume estão disponíveis:
| Tipo de volume | Description |
|---|---|
| Azure Blob | Compartilhar dados entre várias sandboxes (uploads, downloads e artefatos persistentes). Pode ser montado em várias sandboxes simultaneamente. |
| Disco de dados | Volume de alto desempenho para bancos de dados, caches de compilação e grandes conjuntos de trabalho. Pode ser montado em apenas uma sandbox por vez. |
Estados de ciclo de vida
Sandboxes passam pelos seguintes estados:
| State | Description |
|---|---|
| Executando | Executando ativamente, usando CPU e memória |
| Parado | Impedido por usuário, API ou política do ciclo de vida |
Quando a sandbox é interrompida, a operação captura e preserva um instantâneo com base no Modo de Suspensão (consulte a seção a seguir).
Você pode configurar políticas de ciclo de vida para cada sandbox:
- Suspensão automática: Suspende um sandbox ocioso após um período configurável. Um sandbox fica ocioso quando não tem tráfego de entrada (entrada), não há execução de código (via API de execução), não há sessões interativas de shell e não há operações de arquivo.
- Modo Suspensão: Escolha entre modo de memória (snapshot completo - disco + memória) ou modo disco (apenas preservar disco).
- Exclusão automática: Exclui automaticamente as sandboxes após um número especificado de dias após a interrupção da sandbox.
Architecture
As sandboxes usam uma arquitetura de dois planos:
| Avião | Endpoint | Operations |
|---|---|---|
| Plano de controle ARM | management.azure.com |
Criar, atualizar, excluir e listar grupos de área restrita. Gerenciar conexões VNet. |
| Plano de dados do ADC | management.azuredevcompute.io |
Gerenciar sandboxes, imagens de disco, instantâneos, arquivos, volumes, segredos, portas e políticas de saída. |
Você cria e gerencia grupos de sandbox por meio do plano de controle do ARM. Todas as operações em sandboxes individuais e em seus recursos passam pelo plano de dados do ADC, limitadas a um grupo específico de sandboxes.
Níveis de recursos
Cada sandbox recebe um nível de recursos que verifica a alocação de CPU, memória e disco.
| Camada | CPU | Memória | Disk |
|---|---|---|---|
| PP | 0,25 núcleos | 0,5 GB | 20 GB |
| S | 0,5 núcleos | 1 GB | 20 GB |
| M (padrão) | 1 núcleo | 2 GB | 20 GB |
| L | 2 núcleos | 4 GB | 40 GB |
| GG | 4 núcleos | 8 GB | 80 GB |
Considerações
Considere estes pontos ao trabalhar com sandboxes:
- Entra ID obrigatório: somente contas Microsoft Entra ID podem acessar áreas restritas. As contas Microsoft pessoais não são suportadas.
- Controles de rede: Você pode configurar políticas de saída para controlar o tráfego de saída de sandboxes, incluindo regras de permitir ou negar baseadas em domínio, regras de rede baseadas em CIDR e integração com VNet.
Sandboxes vs. sessões dinâmicas
As áreas restritas e as sessões dinâmicas fornecem ambientes de computação isolados em Aplicativos de Contêiner, mas atendem a necessidades diferentes.
| Sessões dinâmicas | Áreas restritas | |
|---|---|---|
| Padrão de acesso | Roteamento de requisição HTTP por meio de um endpoint de gerenciamento de pool de sessões | Controle direto sobre sandboxes individuais via SDK e CLI |
| State | Efêmero, destruído após o resfriamento | Com estado com suspensão, retomada e instantâneos |
| Controle do desenvolvedor | O pool gerencia a alocação e o ciclo de vida | Você gerencia o ciclo de vida da área restrita, arquivos, portas e políticas |
| Modelo de imagem | Interpretador de código (interno) ou contêiner personalizado | Imagens de disco (OCI), instantâneos, pacotes de conteúdo |
| Armazenamento persistente | Não disponível | Volumes (blob Azure, disco de dados) |
| Relacionamento em Rede | Isolamento básico | Políticas de saída, integração de VNet, gerenciamento de porta |
| SDKs | API REST por meio do ponto de extremidade do pool | SDK Python (azure-containerapps-sandbox) e API REST |
Escolha sessões dinâmicas quando precisar de uma experiência de execução gerenciada que abstraa a infraestrutura. Escolha Sandboxes quando precisar de controle programável sobre capacidade computacional isolada com persistência de estado.