Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.