Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les sessions dynamiques Azure Container Apps offrent un accès rapide à des environnements sandbox sécurisés, idéaux pour exécuter du code ou des applications nécessitant une forte isolation des autres charges de travail.
Les sessions fonctionnent dans le contexte d’un pool de sessions qui atténue le démarrage à froid pour garantir la disponibilité immédiate d’une session.
Avec les sessions, vous obtenez :
Fort isolement : les sessions sont isolées les unes des autres et de l’environnement hôte. Chaque session s’exécute dans son propre bac à sable Hyper-V, fournissant une sécurité et une isolation de niveau entreprise. Si vous le souhaitez, vous pouvez activer l’isolation réseau pour améliorer la sécurité.
Accès simple : les sessions sont accessibles via une API REST. Un identificateur unique marque chaque session. Si une session avec un identificateur donné n’existe pas, une nouvelle session est automatiquement allouée.
Entièrement managé : Container Apps gère entièrement le cycle de vie d’une session. Les sessions sont automatiquement nettoyées lorsqu’elles ne sont plus utilisées.
Démarrage rapide : les nouvelles sessions sont allouées en millisecondes. Les démarrages rapides sont réalisés en conservant automatiquement un pool de sessions prêtes mais non allouées.
Évolutif : les sessions peuvent s'exécuter à grande échelle. Vous pouvez exécuter des centaines ou des milliers de sessions simultanément.
Accès à l’API : les sessions sont exposées à votre application via un point de terminaison HTTP unique.
session
Une session est un environnement bac à sable qui exécute du code non approuvé ou votre application.
Chaque session est isolée de toutes les autres sessions et de l’environnement hôte avec un bac à sable Hyper-V . La technologie Hyper-V est au cœur de l’isolation de session, garantissant que différentes sessions fonctionnent indépendamment tout en établissant les limites de sécurité nécessaires. Pour améliorer la sécurité réseau, vous pouvez activer l’isolation réseau de session sur votre session.
Il existe deux types de sessions différents.
Types de session
Azure Container Apps prend en charge deux types de sessions :
Catégorie | Descriptif | Modèle de facturation |
---|---|---|
Sessions d’interpréteur de code | Interpréteur de code entièrement managé qui vous permet d’exécuter du code dans un bac à sable préinstallé avec des bibliothèques populaires. Idéal pour exécuter du code non approuvé, tel que du code fourni par les utilisateurs de votre application ou du code généré par un modèle de langage volumineux (LLM). Vous pouvez utiliser la session prête à l’emploi ou avec une infrastructure de modèle de langage. |
Par session (consommation) |
Sessions de conteneur personnalisées | Option de conteneur personnel où vous exécutez vos propres images de conteneur dans des environnements sécurisés et isolés. Cette approche est une bonne option si vous souhaitez exécuter un interpréteur de code personnalisé pour une langue qui n'est pas prise en charge nativement, ou des charges de travail qui nécessitent une isolation stricte. |
Plan dédié aux applications de conteneur |
Chaque session, quel que soit le type, s’exécute dans le contexte d’un pool de sessions.
Pools de sessions
Pour fournir des temps d'allocation de session inférieurs à la seconde, Azure Container Apps gère un pool de sessions prêtes mais non allouées. Lorsque votre application effectue une demande pour une session qui n’a pas été utilisée précédemment, le pool affecte automatiquement une nouvelle session pour vous. À mesure que les sessions sont allouées, le pool est automatiquement réapprovisionné pour maintenir un nombre constant de sessions prêtes.
Chaque pool de sessions est disponible pour votre application via un emplacement de point de terminaison de gestion de pool unique.
Cycle de vie de session
Le runtime Container Apps gère automatiquement le cycle de vie de chaque session d’un pool. La durée de vie d’une session commence à mesure que la session démarre et se poursuit pendant l’utilisation de la session. Une fois qu'il n'y a pas de demande vers la session après que la période de latence s'est écoulée, la session est supprimée.
Les états suivants définissent ce cycle de vie :
En attente : lorsqu’une session démarre, elle est dans l’état en attente. La durée pendant laquelle une session passe dans cet état dépend de l’image conteneur et des paramètres spécifiés pour le pool de sessions. Une session dans cet état n’est pas ajoutée au pool de sessions prêtes.
Non alloué : une fois qu’une session a été démarrée, elle est ajoutée au pool et devient disponible pour l’allocation. Pour les sessions de conteneur personnalisées, vous pouvez spécifier le nombre de sessions prêtes à être conservées dans le pool. Ce nombre doit être augmenté si les sessions sont allouées plus rapidement qu’elles ne sont réapprovisionnées.
Alloué : lorsque vous envoyez une requête à une session non en cours d'exécution, le pool fournit une nouvelle session et la place dans un état alloué. Les requêtes suivantes avec le même identificateur de session sont routées vers la même session, ce qui permet une réutilisation efficace sans démarrage à froid. Chaque session allouée est associée à un identificateur de session.
Détruit : si une session ne reçoit pas de demandes pour une durée définie par le paramètre, la
cooldownPeriodInSeconds
session et son Hyper-V bac à sable sont supprimés en toute sécurité. Cette configuration de nettoyage automatique améliore la gestion des ressources et la sécurité.
Le runtime Container Apps gère automatiquement le cycle de vie de chaque session dans un pool de sessions.
Disponibilité dans les régions
Les sessions dynamiques sont disponibles dans les régions suivantes :
Région | Interpréteur de code | Conteneur personnalisé |
---|---|---|
Australie Est | ✔ | ✔ |
Brésil Sud | - | ✔ |
Canada Est | - | ✔ |
Asie Est | ✔ | ✔ |
USA Est | ✔ | ✔ |
Est des États-Unis 2 | ✔ | ✔ |
France Centrale | - | ✔ |
Allemagne Centre-Ouest | ✔ | ✔ |
Italie Nord | ✔ | ✔ |
Japon Est | ✔ | - |
Corée Centrale | - | ✔ |
Centre-Nord des États-Unis | ✔ | ✔ |
Europe Nord | ✔ | ✔ |
Norvège Est | ✔ | ✔ |
Pologne Centre | ✔ | ✔ |
Afrique du Sud Nord | - | ✔ |
Inde Sud | - | ✔ |
Suède Centre | ✔ | ✔ |
Suisse Nord | ✔ | ✔ |
Émirats arabes unis Nord | - | ✔ |
Sud du Royaume-Uni | ✔ | ✔ |
Centre-USA Ouest | ✔ | ✔ |
Europe Ouest | ✔ | ✔ |
USA Ouest | ✔ | ✔ |
USA Ouest 2 | ✔ | ✔ |
Ouest des États-Unis 3 | ✔ | ✔ |
Facturation
Nous facturons les sessions de conteneur personnalisé en fonction des ressources consommées par le pool de sessions. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Facturation d’Azure Container Apps.
Sécurité
Utilisez les méthodes suivantes pour renforcer la sécurité de vos sessions dynamiques.
Identificateurs sécurisés : utilisez des identificateurs de session sécurisés à tout moment. Générez des identificateurs de session à l’aide de méthodes de chiffrement pour garantir des valeurs uniques et imprévisibles. Évitez d’utiliser des ID séquentiels qui pourraient être deviner par un attaquant.
Utilisez HTTPS : utilisez toujours HTTPS pour chiffrer les données en transit. Cela protège les identificateurs de session et toutes les données sensibles échangées entre le client et le serveur contre l’interception.
Limitez la durée de vie de la session : implémentez des délais d’expiration pour les sessions. Par exemple, autorisez un maximum de 15 minutes d’inactivité avant l’arrêt automatique de la session. Cela permet d’atténuer les risques en raison d’un appareil perdu ou sans assistance.
Audits et surveillance réguliers : passez régulièrement en revue les pratiques et journaux de gestion des sessions. Implémentez des outils de surveillance pour alerter les activités suspectes, telles que les tentatives de connexion ayant échoué répétées ou les longueurs de session anormales.