Commencez avec le déploiement direct du code Amazon Bedrock AgentCore Runtime
Le déploiement direct du code vous permet d'intégrer votre agent à Amazon Bedrock AgentCore Runtime simplement en regroupant le code de l'agent et ses dépendances dans une archive de fichier .zip. Votre agent doit toujours respecter les exigences AgentCore d'exécution.
Pour créer votre package de déploiement sous forme d'archive de fichiers .zip, vous pouvez utiliser la AgentCore CLIzip de ligne de commande dans un environnement Linux ou macOS. Pour utiliser les mêmes commandes sous Windows, vous pouvez installer le sous-système Windows pour Linux
Notez que AgentCore Runtime utilise les autorisations des fichiers POSIX. Vous devrez donc peut-être définir des autorisations pour le dossier du package de déploiement
Rubriques
Concepts de déploiement direct du code
Découvrez les concepts clés liés à l'utilisation du déploiement direct de code avec Amazon Bedrock AgentCore Runtime.
Rubriques
Amazon Bedrock AgentCore Runtime avec déploiement direct de code utilise un modèle de responsabilité partagée similaire à AWS Lambda. AgentCore Runtime gère l'environnement d'exécution du langage et applique automatiquement les correctifs de sécurité, tandis que vous vous concentrez sur le code et les dépendances de votre agent.
Si vous utilisez des images de conteneur pour déployer vos agents, AgentCore Runtime est chargé de corriger uniquement le noyau de calcul. Dans ce cas, il vous incombe de reconstruire l'image de conteneur de votre agent à partir de la dernière image sécurisée et de redéployer l'image de conteneur.
Ceci est résumé dans le tableau suivant :
| Mode de déploiement | AgentCore Responsabilité du Runtime | Votre responsabilité |
|---|---|---|
|
Mode de déploiement direct |
Publiez une nouvelle version du Language Runtime contenant les derniers correctifs pour le Language Runtime. Appliquez des correctifs linguistiques au déploiement direct de AgentCore Runtime existant. |
Mettez à jour le code de votre agent, y compris les dépendances, pour corriger les éventuelles failles de sécurité. |
|
Image de conteneur |
Corrigez automatiquement le noyau du système d'exploitation de calcul sous-jacent avec la dernière version. |
Mettez à jour le code de votre agent, y compris les dépendances, pour corriger les éventuelles failles de sécurité. Reconstruisez et redéployez régulièrement votre image de conteneur à l’aide de la dernière image de base. |
Pour plus d'informations sur le partage des responsabilités avec AWS, consultez le modèle de responsabilité partagée
AgentCore Runtime maintient chaque environnement d'exécution de déploiement direct de code à jour avec des mises à jour de sécurité, des corrections de bogues, de nouvelles fonctionnalités, des améliorations des performances et la prise en charge des versions mineures. Ces mises à jour d'exécution sont publiées sous forme de versions d'exécution. AgentCore Runtime applique les mises à jour d'exécution du déploiement direct du code aux agents en faisant migrer les agents d'une version d'exécution antérieure vers une nouvelle version d'exécution.
Pour les temps d'exécution à déploiement direct, AgentCore Runtime applique automatiquement les mises à jour d'exécution. Grâce aux mises à jour automatiques de l' AgentCore environnement d'exécution, Runtime prend en charge la charge opérationnelle liée à l'application des correctifs aux versions d'exécution. Pour la plupart des clients, il s'agit d'un choix sûr, car seuls les correctifs de langage d'exécution seront automatiquement appliqués et les clients sont responsables de l'intégration et de la gestion de leurs dépendances au code. Actuellement, AgentCore Runtime ne prend pas en charge la modification de ce comportement d'application automatique des correctifs.
AgentCore Runtime s'efforce de fournir des mises à jour d'exécution rétrocompatibles avec les fonctions existantes. Cependant, comme pour les correctifs logiciels, il existe de rares cas dans lesquels une mise à jour de l’environnement d’exécution peut avoir un impact négatif sur une fonction existante. Par exemple, les correctifs de sécurité peuvent exposer un problème sous-jacent à une fonction existante qui dépend du comportement précédent, non sécurisé. Si, dans de très rares cas, ce risque n'est pas acceptable, utilisez des images de conteneur pour déployer votre agent.
Certaines dimensions de comparaison permettent de voir en quoi une option diffère de l'autre, il est donc utile de choisir la bonne option
-
Processus de déploiement : le déploiement direct du code déploie les agents à l'aide de fichiers ZIP plutôt que de conteneurs, ce qui permet d'accélérer les itérations de développement.
-
Temps de déploiement : bien qu'il n'y ait pas beaucoup de différence lors du premier déploiement d'un agent, les mises à jour ultérieures de l'agent sont nettement plus rapides grâce au déploiement direct du code.
-
Personnalisation : le code direct prend en charge les dépendances personnalisées par le biais de ZIP-based l'empaquetage tout en préservant la simplicité du déploiement, tandis que la fonction basée sur un conteneur dépend d'un fichier Docker.
-
Taille du package : le déploiement direct du code limite la taille du package à 250 Mo, tandis que les packages basés sur des conteneurs peuvent atteindre 2 Go.
-
Taux de création de sessions : le déploiement direct du code permet de créer 25 nouvelles sessions, sessions/second contre 1,6 sessions/second avec les déploiements basés sur des conteneurs.
Nos directives générales sont
-
Si la taille du package de déploiement dépasse 250 Mo, que vous disposez de CI/CD pipelines de conteneurs existants et que vous avez besoin de dépendances et de packages hautement spécialisés, les déploiements basés sur des conteneurs constituent une bonne option.
-
Si la taille du package de déploiement est petite, si le code et le package ne sont pas complexes à créer et utilisent des frameworks et des langages communs, et si vous avez besoin d'un prototypage et d'une itération rapides, le déploiement direct du code est l'option.
Il existe également une option hybride dans laquelle les développeurs utilisent le déploiement direct du code pour expérimenter et prototyper rapidement des agents, puis passent à des déploiements basés sur des conteneurs (pour les raisons ci-dessus) pour développer, tester et déployer en production.