Visão geral do Aplicativos de Contêiner do Azure Sandboxes

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.