Introducción a los espacios aislados de Azure Container Apps (versión preliminar)

Los espacios aislados de Azure Container Apps proporcionan entornos informáticos rápidos, seguros y efímeros con capacidades integradas para suspender y reanudar. Los entornos aislados son un tipo de recurso de primera clase (Microsoft.App/SandboxGroups) en Container Apps, junto con aplicaciones, trabajos y sesiones dinámicas.

Importante

Para administrar y crear entornos aislados, necesita el rol de Azure Propietario de datos de Container Apps SandboxGroup. Asigne este rol a todos los usuarios que creen y administren espacios aislados.

Es posible que los espacios aislados creados durante la versión preliminar no sean compatibles con versiones futuras y deban volver a crearse.

La API del SDK de Python y los comandos de la CLI de Azure Container Apps pueden cambiar durante la fase de versión preliminar.

Crear y administrar entornos de espacio aislado

Puede crear y administrar espacios aislados en el portal Sandboxes o mediante programación mediante Azure Container Apps CLI o SDK.

Características clave de los espacios aislados de Container Apps

  • Inicio en menos de un segundo: los entornos aislados se aprovisionan a partir de grupos preinicializados para una disponibilidad casi instantánea.

  • Aislamiento sólido: Cada espacio aislado se ejecuta dentro de su propio entorno seguro, adecuado para la ejecución de código no confiable.

  • Escala a cero: No pagas comisiones de CPU ni de memoria cuando los sandboxes se detienen.

  • Escalabilidad horizontal: El servicio se amplía a miles de entornos de prueba simultáneos bajo demanda.

  • Compatibilidad con imágenes de contenedor OCI: utilice la imagen pública incluida o traiga sus propias imágenes de contenedor como sistemas de archivos raíz de los entornos de prueba.

  • Suspensión y reanudación: Cree una instantánea del estado completo, incluidos la memoria y el disco, y reanúdelo más adelante con tiempos de restauración inferiores a un segundo.

  • Control del ciclo de vida: Puedes gestionar todo el ciclo de vida del sandbox, incluyendo instantáneas de estado, almacenamiento persistente y políticas de red (tanto de salida como de entrada).

Cuándo utilizar espacios aislados

Utiliza sandboxes cuando necesites entornos de computación aislados con control explícito del ciclo de vida, estado persistente o acceso programable a través de SDKs.

Scenario ¿Utilizar espacios aislados? Por qué
Ejecución de código de IA con preservación del estado Suspender entre tareas, reanudar con el contexto completo intacto
Entornos de desarrollo Entornos bajo demanda y suspendibles que conservan el estado entre sesiones
Flujos de trabajo del agente Proporcionar a los agentes de inteligencia artificial áreas de trabajo persistentes y aisladas a través de los límites de la tarea
Sesiones de usuario interactivas Cada usuario obtiene su propio entorno de proceso aislado
Computación multiinquilino segura Aislamiento sólido para ejecutar cargas de trabajo no fiables a partir de múltiples inquilinos
Escalar cargas de trabajo Escalabilidad de cero a miles de entornos de prueba bajo demanda
Canalizaciones de CI/CD Entornos efímeros de compilación y prueba que se escalan a cero cuando no están en uso

Elegir la opción de proceso adecuada de Container Apps

Utilice la siguiente tabla para seleccionar el tipo de proceso de Container Apps que mejor se adapte a su carga de trabajo.

Tipo de cálculo Más adecuado para Lifecycle Estado
Aplicaciones Servicios de larga duración, API, aplicaciones web Continuo Sin estado (almacenes de estado externos)
Trabajos Tareas de ejecución hasta completarse, procesamiento por lotes Iniciar → ejecutar → completado Sin estado
Sesiones dinámicas Ejecución de código administrado, scripts generados por LLM Administrado por grupo de sesiones Efímero
Sandboxes Cómputo aislado programable con control del ciclo de vida Puede administrar: crear, suspender, reanudar, eliminar Con estado (instantáneas, volúmenes)

Conceptos clave

Prerequisites

Para crear o administrar espacios aislados, necesita la asignación del rol de Azure Propietario de datos de Container Apps SandboxGroup. Sin este rol, no puede realizar operaciones en el espacio aislado. Asigne este rol en el ámbito deseado (Azure suscripción o grupo de recursos de Azure) en el portal de Azure o mediante el CLI de Azure.

Antes de ejecutar el siguiente comando, reemplace los marcadores de posición entre <> por sus propios 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 espacio aislado

Un grupo de espacio aislado es el límite de administración de nivel superior para espacios aislados. Es un recurso de Azure Resource Manager (ARM) que se crea en un grupo de recursos y una región. Todos los espacios aislados, las imágenes de disco, las instantáneas, los volúmenes y los secretos pertenecen a un grupo de espacios aislados.

Utilice grupos de entornos aislados para organizar los entornos aislados por aplicación, equipo o entorno.

Espacios aislados

Un entorno aislado es una instancia de computación aislada e independiente dentro de un grupo de espacios aislados. Cada espacio aislado se ejecuta a partir de una imagen de disco o instantánea y tiene su propia CPU, memoria, disco y límite de red.

Se interactúa con los espacios aislados ejecutando comandos, administrando archivos, exponiendo puertos y controlando el estado del ciclo de vida.

Imágenes de disco

Las imágenes de disco son imágenes de contenedor OCI convertidas para usarlas como sistemas de archivos raíz para entornos aislados. Puede usar imágenes públicas o crear imágenes privadas a partir de sus propios registros de contenedor.

Puede compilar imágenes de disco desde:

  • Imágenes públicas: imágenes precompiladas disponibles para todos los grupos de sandbox.
  • Imágenes de registro de contenedores: extraiga imágenes de registros públicos o privados con autenticación opcional.

Snapshots

Las instantáneas capturan el estado completo de un sandbox en ejecución, incluyendo la memoria y el disco. Use instantáneas para:

  • Suspender y reanudar: pause un espacio aislado y reanúdelo más adelante con todos los procesos y los datos intactos.
  • Clonar entornos: cree nuevos espacios aislados a partir de un estado fiable conocido.
  • Compartir líneas base: distribuya entornos preconfigurados en todo el equipo.

Volumes

Microsoft administra volúmenes y proporciona almacenamiento persistente que se puede montar en espacios aislados. Hay dos tipos de volumen disponibles:

Tipo de volumen Description
Blob de Azure Comparte datos entre varios sandboxes (subidas y descargas, artefactos persistentes). Se puede montar en varios espacios aislados a la vez.
Disco de datos Volumen de alto rendimiento para bases de datos, cachés de compilación y grandes conjuntos de trabajo. Solo se puede montar en un espacio aislado a la vez.

Estados de ciclo de vida

Los espacios aislados pasan por los siguientes estados:

Estado Description
Correr Ejecución activa, usando CPU y memoria
Detenido Detenido por el usuario, la API o la política de ciclo de vida

Cuando el sandbox se detiene, la operación toma y conserva una instantánea basada en el Modo de Suspensión (véase la siguiente sección).

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

  • Auto-suspensión: suspende un sandbox inactivo tras un tiempo de espera configurable. Un sandbox queda inactivo cuando no tiene tráfico de entrada (entrante), ni ejecución de código (vía API de ejecución), ni sesiones interactivas de shell ni operaciones de archivo.
  • Modo de suspensión: Elige entre modo de memoria (instantánea completa - disco + memoria) o modo disco (solo preservar disco).
  • Eliminación automática: Elimina automáticamente los sandboxes después de un número especificado de días después de que el sandbox se haya detenido.

Architecture

Los espacios aislados utilizan una arquitectura de dos planos:

Avión Endpoint Operations
Plano de control de ARM management.azure.com Crear, actualizar, eliminar y listar grupos de entorno de pruebas. Administrar conexiones de red virtual.
Plano de datos de ADC management.azuredevcompute.io Gestiona entornos aislados, imágenes de disco, instantáneas, archivos, volúmenes, credenciales, puertos y políticas de salida.

Puede crear y administrar grupos de espacios aislado a través del plano de control de ARM. Todas las operaciones sobre entornos aislados individuales y sus recursos se realizan a través del plano de datos de ADC, dentro del ámbito de un grupo específico de entornos aislados.

Niveles de recursos

A cada espacio aislado se le asigna un nivel de recurso que comprueba su asignación de CPU, memoria y disco.

Nivel Unidad Central de Procesamiento (CPU) Memoria Disco
XS 0,25 núcleos 0.5 GB 20 GB
S 0,5 núcleos 1 GB 20 GB
M (valor predeterminado) 1 núcleo 2 GB 20 GB
L 2 núcleos 4 GB 40 GB
XL 4 núcleos 8 GB 80 GB

Consideraciones

Tenga en cuenta estos puntos al trabajar con entornos de pruebas aislados:

  • Se requiere Entra ID: Solo las cuentas de Microsoft Entra ID pueden acceder a entornos aislados. No se admiten cuentas personales de Microsoft.
  • Controles de red: Puedes configurar políticas de salida para controlar el tráfico saliente desde sandboxes, incluyendo reglas de permiso o denegación basadas en dominio, reglas de red basadas en CIDR e integración con VNet.

Espacios aislados frente a sesiones dinámicas

Los espacios aislados y las sesiones dinámicas proporcionan entornos de proceso aislados en Container Apps, pero satisfacen necesidades diferentes.

Sesiones dinámicas Espacios aislados
Patrón de acceso Enrutamiento de solicitudes HTTP mediante un extremo de gestión del grupo de sesiones Control directo mediante el SDK y la CLI sobre entornos aislados individuales
Estado Efímero, destruido después del enfriamiento Con estado con suspensión, reanudación e instantáneas
Control de desarrollador Pool gestiona la asignación y el ciclo de vida Gestiona el ciclo de vida, los archivos, los puertos y las políticas del sandbox.
Modelo de imagen Intérprete de código (integrado) o contenedor personalizado Imágenes de disco (OCI), instantáneas, paquetes de contenido
Almacenamiento persistente No disponible Volúmenes (Azure Blob, Disco de datos)
Creación de redes Aislamiento básico Directivas de salida, integración de red virtual, administración de puertos
SDK API REST a través del punto de conexión de grupo SDK de Python (azure-containerapps-sandbox) y API REST

Elija sesiones dinámicas cuando necesite una experiencia de ejecución administrada que abstrae la infraestructura. Elige Sandboxes cuando necesites control programable sobre capacidad de proceso aislada con persistencia de estado.