Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las sesiones dinámicas de Azure Container Apps proporcionan acceso rápido a entornos de espacio aislado seguros que son ideales para ejecutar código o aplicaciones que requieren un aislamiento seguro de otras cargas de trabajo.
Las sesiones funcionan en el contexto de un grupo de sesiones que mitiga el arranque en frío para garantizar la disponibilidad inmediata de una sesión.
Con las sesiones, obtendrá lo siguiente:
Aislamiento sólido: las sesiones están aisladas entre sí y del entorno del host. Cada sesión se ejecuta en su propio espacio aislado de Hyper-V, lo que proporciona seguridad y aislamiento de nivel empresarial. Opcionalmente, puedes habilitar el aislamiento de red para mejorar aún más la seguridad.
Acceso sencillo: se accede a las sesiones mediante una API REST. Un identificador único marca cada sesión. Si no existe una sesión con un identificador determinado, se asigna automáticamente una nueva sesión.
Totalmente administrado: Container Apps administra completamente el ciclo de vida de una sesión. Las sesiones se limpian automáticamente cuando ya no están en uso.
Inicio rápido: las nuevas sesiones se asignan en milisegundos. Los inicios rápidos se logran manteniendo automáticamente un grupo de sesiones listas pero sin asignar.
Escalable: las sesiones se pueden ejecutar a gran escala. Puedes ejecutar cientos o miles de sesiones simultáneamente.
Acceso a la API: las sesiones se exponen a la aplicación a través de un único punto de conexión HTTP.
Sesión
Una sesión es un entorno de espacio aislado que permite la ejecución de código no confiable o de tu aplicación.
Cada sesión está aislada de todas las demás sesiones y del entorno del anfitrión con un espacio aislado de Hyper-V. La tecnología Hyper-V es fundamental para el aislamiento de sesiones, garantizando que las distintas sesiones funcionen de forma independiente con los límites de seguridad necesarios implementados. Para mejorar la seguridad de red, puede habilitar el aislamiento de red de sesión en la sesión.
Hay dos tipos diferentes de sesiones.
Tipos de sesión
Azure Container Apps admite dos tipos de sesiones:
Tipo | Descripción | Modelo de facturación |
---|---|---|
Sesiones de intérprete de código | Intérprete de código totalmente administrado que permite ejecutar código en un espacio aislado preinstalado con bibliotecas populares. Ideal para ejecutar código que no es de confianza, como el código proporcionado por los usuarios de la aplicación o el código generado por un modelo de lenguaje grande (LLM). Puede usar la sesión lista para usar o con un marco de modelo de lenguaje. |
Por sesión (consumo) |
Sesiones de contenedor personalizadas | Opción de traer su propio contenedor donde se ejecutan sus propias imágenes de contenedor en espacios seguros y aislados. Este enfoque es una buena opción si desea ejecutar un intérprete de código personalizado para un lenguaje que no se admite de forma predeterminada o cargas de trabajo que requieren un aislamiento seguro. |
Plan dedicado de Container Apps |
Cada sesión, independientemente del tipo, se ejecuta en el contexto de un grupo de sesiones.
Grupos de sesiones
Para proporcionar tiempos de asignación de sesiones en milisegundos, Azure Container Apps mantiene un grupo de sesiones listas pero aún no asignadas. Cuando la aplicación realiza una solicitud de una sesión que no se ha usado antes, el grupo asigna automáticamente una nueva sesión. A medida que se asignan las sesiones, el grupo se repone automáticamente para mantener un número constante de sesiones listas.
Cada grupo de sesiones está disponible para la aplicación a través de una ubicación de punto de conexión de administración de grupo única.
Ciclo de vida de la sesión
El entorno de ejecución de Container Apps administra automáticamente el ciclo de vida de cada sesión de un grupo. La vida de una sesión comienza a medida que se inicia la sesión y continúa mientras la sesión está en uso. Después de que no haya ninguna solicitud a la sesión tras haber transcurrido el tiempo de enfriamiento, se destruye la sesión.
Los siguientes estados definen este ciclo de vida:
Pendiente: cuando se inicia una sesión, se encuentra en estado pendiente. La cantidad de tiempo que pasa una sesión en este estado depende de la imagen del contenedor y las configuraciones especificadas para el grupo de sesiones. No se agrega una sesión en este estado al grupo de sesiones listas.
Sin asignar: Una vez que se inicia una sesión, se agrega al grupo y está disponible para la asignación. En el caso de las sesiones de contenedor personalizadas, puede especificar cuántas sesiones listas se mantendrán en el grupo. Este número debe aumentarse si las sesiones se asignan más rápido de lo que se reponen.
Asignado: Cuando se envía una solicitud a una sesión inactiva, el grupo asigna una nueva sesión y la coloca en un estado asignado. Las solicitudes posteriores con el mismo identificador de sesión se enrutan a la misma sesión, lo que permite una reutilización eficaz sin arranque en frío. Cada sesión asignada está asociada a un identificador de sesión.
Destruido: si una sesión no recibe solicitudes durante una duración definida por la
cooldownPeriodInSeconds
configuración, la sesión y su espacio aislado de Hyper-V se eliminan de forma segura. Esta configuración de limpieza automática mejora la seguridad y la administración de recursos.
El runtime de Container Apps administra automáticamente el ciclo de vida de cada sesión de un grupo de sesiones.
Disponibilidad regional
Las sesiones dinámicas están disponibles en las siguientes regiones:
Región | Intérprete de código | Contenedor personalizado |
---|---|---|
Este de Australia | ✔ | ✔ |
Sur de Brasil | - | ✔ |
Este de Canadá | - | ✔ |
Este de Asia | ✔ | ✔ |
Este de EE. UU. | ✔ | ✔ |
Este de EE. UU. 2 | ✔ | ✔ |
Centro de Francia | - | ✔ |
Centro-oeste de Alemania | ✔ | ✔ |
Norte de Italia | ✔ | ✔ |
Japón Oriental | ✔ | - |
Centro de Corea del Sur | - | ✔ |
Centro-Norte de EE. UU | ✔ | ✔ |
Norte de Europa | ✔ | ✔ |
Este de Noruega | ✔ | ✔ |
Centro de Polonia | ✔ | ✔ |
Norte de Sudáfrica | - | ✔ |
Sur de la India | - | ✔ |
Centro de Suecia | ✔ | ✔ |
Norte de Suiza | ✔ | ✔ |
Norte de Emiratos Árabes Unidos | - | ✔ |
Sur de Reino Unido | ✔ | ✔ |
Centro-Oeste de EE. UU. | ✔ | ✔ |
Oeste de Europa | ✔ | ✔ |
Oeste de EE. UU. | ✔ | ✔ |
Oeste de EE. UU. 2 | ✔ | ✔ |
Oeste de EE. UU. 3 | ✔ | ✔ |
Facturación
Las sesiones de contenedor personalizadas se facturan en función de los recursos consumidos por el grupo de sesiones. Para más información, consulte Facturación de Azure Container Apps.
Seguridad
Use los métodos siguientes para ayudar a proteger la seguridad de las sesiones dinámicas.
Identificadores seguros: use identificadores de sesión seguros en todo momento. Genere identificadores de sesión mediante métodos criptográficos para garantizar valores únicos e imprevisibles. Evite usar identificadores secuenciales que un atacante podría adivinar.
Usar HTTPS: use siempre HTTPS para cifrar los datos en tránsito. Esto protege los identificadores de sesión y los datos confidenciales intercambiados entre el cliente y el servidor de la interceptación.
Limitar la duración de la sesión: implemente tiempos de espera para las sesiones. Por ejemplo, permita un máximo de 15 minutos de inactividad antes de que la sesión finalice automáticamente. Esto ayuda a mitigar los riesgos debido a un dispositivo perdido o desatendido.
Auditorías y supervisión periódicas: revise periódicamente los registros y los procedimientos de administración de sesiones. Implemente herramientas de supervisión para alertar actividades sospechosas, como intentos de inicio de sesión erróneos repetidos o longitudes de sesión anómalos.