Descrição geral das sandboxes do Azure Container Apps

O Azure Container Apps Sandboxes oferece ambientes de computação rápidos, seguros e efémeros com capacidades integradas de suspensão e retomada. Sandboxes são um tipo de recurso de primeira classe (Microsoft.App/SandboxGroups) no Container Apps, juntamente com aplicações, tarefas e sessões dinâmicas.

Importante

Para gerir e criar sandboxes, precisa da função do Azure Container Apps SandboxGroup Data Owner. Atribua este papel a todos os utilizadores que criam e gerem sandboxes.

Criar e gerir ambientes sandbox

Pode criar e gerir sandboxes no portal sandboxs ou programaticamente usando Azure Container Apps CLI ou SDK.

Principais características das sandboxes do Container Apps

  • Arranque abaixo do segundo: As sandboxes são provisionadas a partir de piscinas pré-aquecidas para disponibilidade quase instantânea.

  • Isolamento forte: Cada sandbox corre dentro do seu próprio limite seguro, seguro para execução de código não confiável.

  • Escala até zero: Não pagas taxas de CPU ou memória quando os sandboxes são parados.

  • Escalonamento: O serviço expande-se para milhares de sandboxes simultâneos sob demanda.

  • Suporte para imagens de contentor OCI: Utilize a imagem pública incluída ou as suas próprias imagens de contentor como sistemas de ficheiros raiz de sandbox.

  • Suspender e retomar: Instantâneo de todo o estado, incluindo a memória e o disco, retomando mais tarde com tempos de restauro inferiores a um segundo.

  • Controlo do ciclo de vida: Pode gerir todo o ciclo de vida do sandbox, incluindo snapshots de estado, armazenamento persistente e políticas de rede (tanto de saída como de entrada).

Quando usar sandboxes

Use sandboxes quando precisar de ambientes de computação isolados com controlo explícito do ciclo de vida, estado persistente ou acesso programável através de SDKs.

Scenario Utilizar ambientes isolados? Porquê
Execução de código de IA com preservação de estado Sim Suspender entre tarefas, retomar com o contexto completo intacto
Ambientes de desenvolvimento Sim Ambientes a pedido, passíveis de suspensão, que preservam o estado entre sessões
Fluxos de trabalho de agentes Sim Dar aos agentes de IA espaços de trabalho persistentes e isolados através dos limites das tarefas
Sessões interativas de utilizador Sim Cada utilizador tem o seu próprio ambiente de computação isolado
Computação multitenant segura Sim Isolamento forte para executar cargas de trabalho não confiáveis de múltiplos locatários
Cargas de trabalho em rajada Sim Escale de zero até milhares de ambientes de teste, consoante as necessidades.
Pipelines de CI/CD Sim Ambientes de construção e teste efémeros que escalam até zero quando estão inativos

Escolha a opção de computação certa para Aplicações Container

Use a tabela seguinte para selecionar o tipo de computação Container Apps que se adapte à sua carga de trabalho.

Tipo de computação Melhor para Lifecycle Estado
Aplicativos Serviços, APIs e aplicações web de longa duração Contínuo Sem estado (armazenamentos de estado externos)
Empregos Tarefas de execução até à conclusão, processamento em lote Iniciar → executar → concluir Sem estado
Sessões dinâmicas Execução gerida de código, scripts gerados por LLM Gerido por grupo de sessões Efêmero
Sandboxes Computação isolada programável com controlo do ciclo de vida Tu geres: criar, suspender, retomar, eliminar Stateful (instantâneos, volumes)

Conceitos-chave

Prerequisites

Para criar ou gerir sandboxes, precisa da atribuição de funções Azure Container Apps SandboxGroup Data Owner. Sem esta função, não podes realizar operações na sandbox. Atribui esta função no âmbito desejado (Azure Subscription ou Azure Resource Group) no portal Azure ou usando a CLI do Azure.

Antes de executar o comando seguinte, substitua os marcadores de lugar rodeados 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 sandboxes é o limite de gestão de nível superior para sandboxes. É um recurso do Azure Resource Manager (ARM) que se cria num grupo e região de recursos. Todos os sandboxes, imagens de disco, instantâneos, volumes e segredos são atribuídos a um grupo sandbox.

Use grupos sandbox para organizar sandboxes por aplicação, equipa ou ambiente.

Caixas de areia

Um sandbox é uma instância individual de computação isolada dentro de um grupo sandbox. Cada sandbox funciona a partir de uma imagem de disco ou snapshot e tem o seu próprio limite de CPU, memória, disco e rede.

Interages com sandboxes executando comandos, gerindo ficheiros, expondo portas e controlando o estado do ciclo de vida.

Imagens de disco

As imagens de disco são imagens de contentores OCI convertidas para serem usadas como sistemas de ficheiros raiz sandbox. Pode usar imagens públicas ou criar imagens privadas a partir dos seus próprios registos de contentores.

Pode construir imagens de disco a partir de:

  • Imagens públicas: Imagens pré-construídas disponíveis para todos os grupos sandbox.
  • Imagens de registo de contentores: Obter de registos públicos ou privados com autenticação opcional.

Snapshots

Os snapshots capturam o estado completo de um sandbox em execução, incluindo memória e disco. Utilize instantâneos para:

  • Suspender e retomar: Pausar um sandbox e restaurá-lo mais tarde com todos os processos e dados intactos.
  • Clonar ambientes: Criar novos sandboxes a partir de um estado conhecido como bom.
  • Partilhe configurações de base: Distribua ambientes pré-configurados por toda a sua equipa.

Volumes

A Microsoft faz a gestão de volumes e fornece armazenamento persistente que pode ser montado em ambientes isolados. Estão disponíveis dois tipos de volumes:

Tipo de volume Description
Azure Blob Partilhe dados entre múltiplos sandboxes (uploads e downloads, artefactos persistentes). Pode ser montado em vários sandboxes ao mesmo tempo.
Disco de Dados Volume de alto desempenho para bases de dados, cache de compilação e grandes conjuntos de trabalho. Pode ser montado apenas num sandbox de cada vez.

Estados do ciclo de vida

Os sandboxes passam pelos seguintes estados:

Estado Description
Correr Em execução ativa, a usar CPU e memória
Parado Parado por utilizador, API ou política do ciclo de vida

Quando a sandbox é parada, a operação cria e preserva uma instantânea com base no Modo de Suspensão (ver a secção seguinte).

Pode configurar políticas de ciclo de vida para cada sandbox:

  • Suspensão automática: Suspender uma sandbox inativa após um período de tempo limite configurável. Uma área restrita torna-se inativa quando não tem tráfego de entrada, nem execução de código (através da API Execute), nem sessões interativas de shell, nem operações sobre ficheiros.
  • Modo Suspensão: Escolha entre modo de memória (snapshot completo - disco + memória) ou modo disco (apenas preservar disco).
  • Eliminação automática: Eliminar automaticamente ambientes de sandbox decorridos um número especificado de dias desde que o ambiente de sandbox foi parado.

Arquitetura

Os sandboxes utilizam uma arquitetura de dois planos:

Avião Ponto final Operations
Plano de controlo ARM management.azure.com Criar, atualizar, eliminar e listar grupos sandbox. Gerir as ligações VNet.
Plano de dados management.azuredevcompute.io Gerir sandboxes, imagens de disco, snapshots, ficheiros, volumes, segredos, portas e políticas de saída.

Cria e gere grupos sandbox através do plano de controlo ARM. Todas as operações em sandboxes individuais e os seus recursos passam pelo plano de dados ACA Sandbox, com âmbito para um grupo específico de sandbox.

Níveis de recursos

Cada sandbox recebe um nível de recurso que verifica a sua CPU, memória e alocação de disco.

Tier CPU Memory Disk
XS 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
XL 4 núcleos 8 GB 80 GB

Considerações

Considere estes pontos ao trabalhar com sandboxes:

  • Entra ID obrigatório: Só Microsoft Entra ID contas podem aceder a sandboxes. Contas pessoais da Microsoft não são suportadas.
  • Controlos de rede: 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 versus sessões dinâmicas

Sandboxes e sessões dinâmicas fornecem ambos ambientes de computação isolados em Aplicações Container, mas servem necessidades diferentes.

Sessões dinâmicas Caixas de areia
Padrão de acesso Encaminhamento de pedidos HTTP através de um endpoint de gestão de pool de sessões Controlo direto de SDK e CLI sobre sandboxes individuais
State Temporário, destruído após o período de recarga Com estado, com suspensão, retoma e instantâneos
Controlo do programador O pool gere a alocação e o ciclo de vida Geres o ciclo de vida do sandbox, ficheiros, portas e políticas
Modelo de imagem Interpretador de código (incorporado) ou contentor personalizado Imagens de disco (OCI), instantâneos, pacotes de conteúdo
Armazenamento persistente Não disponível Volumes (Azure Blob, Disco de Dados)
Ligação em rede Isolamento básico Políticas de saída, integração com VNet, gestão de portas
SDKs API REST através do endpoint do pool Python SDK (azure-containerapps-sandbox) e API REST

Escolha sessões dinâmicas quando precisar de uma experiência de execução gerida que abstraia a infraestrutura. Escolha Sandboxes quando precisar de controlo programável sobre computação isolada com persistência de estado.