Contraintes et considérations - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Contraintes et considérations

Passez en revue les contraintes suivantes pour vous assurer que vos tâches de bloc-notes se terminent correctement. Studio utilise Papermill pour exécuter des blocs-notes. Vous devrez peut-être mettre à jour les blocs-notes Jupyter pour les adapter aux exigences de Papermill. Il existe également des restrictions sur le contenu des LCC scripts et des détails importants à comprendre concernant VPC la configuration.

JupyterLab version

JupyterLab les versions 3.0 et supérieures sont prises en charge.

Installation de packages nécessitant le redémarrage du noyau

Papermill ne prend pas en charge l'appel de pip install pour installer des packages nécessitant un redémarrage du noyau. Dans ce cas, utilisez pip install dans un script d'initialisation. Pour l'installation d'un package qui ne nécessite pas de redémarrage du noyau, vous pouvez toujours inclure pip install dans le bloc-notes.

Noms de noyau et de langue enregistrés avec Jupyter

Papermill enregistre un traducteur pour des noyaux et des langues spécifiques. Si vous apportez votre propre instance (BYOI), utilisez un nom de noyau standard, comme indiqué dans l'extrait suivant :

papermill_translators.register("python", PythonTranslator) papermill_translators.register("R", RTranslator) papermill_translators.register("scala", ScalaTranslator) papermill_translators.register("julia", JuliaTranslator) papermill_translators.register("matlab", MatlabTranslator) papermill_translators.register(".net-csharp", CSharpTranslator) papermill_translators.register(".net-fsharp", FSharpTranslator) papermill_translators.register(".net-powershell", PowershellTranslator) papermill_translators.register("pysparkkernel", PythonTranslator) papermill_translators.register("sparkkernel", ScalaTranslator) papermill_translators.register("sparkrkernel", RTranslator) papermill_translators.register("bash", BashTranslator)

Paramètres et limites des variables d'environnement

Paramètres et limites des variables d'environnement. Lorsque vous créez votre tâche de bloc-notes, elle reçoit les paramètres et les variables d'environnement que vous spécifiez. Vous pouvez transmettre jusqu'à 100 paramètres. Chaque nom de paramètre peut comporter jusqu'à 256 caractères et la valeur associée peut comporter jusqu'à 2 500 caractères. Si vous transmettez des variables d'environnement, vous pouvez transmettre jusqu'à 28 variables. Le nom de la variable et la valeur associée peuvent contenir jusqu'à 512 caractères. Si vous avez besoin de plus de 28 variables d'environnement, utilisez des variables d'environnement supplémentaires dans un script d'initialisation qui ne limite pas le nombre de variables d'environnement que vous pouvez utiliser.

Afficher les tâches et les définitions de tâches

Afficher les tâches et les définitions de tâches. Si vous planifiez votre tâche de bloc-notes dans l'interface utilisateur de Studio dans le JupyterLab bloc-notes, vous pouvez consulter les tâches de votre bloc-notes et les définitions de tâches de votre bloc-notes dans l'interface utilisateur de Studio. Si vous avez planifié votre tâche de bloc-notes avec SageMaker PythonSDK, vous pouvez uniquement consulter vos tâches. L'étape de tâche de SDK bloc-notes SageMaker Python ne crée pas de définitions de tâches. Pour afficher vos tâches, vous devez également fournir des balises supplémentaires à l'instance d'étape de tâche de votre bloc-notes. Pour plus de détails, consultez Consultez les tâches de votre bloc-notes dans le tableau de bord de l'interface utilisateur de Studio.

Image

Vous devez gérer les contraintes d'image selon que vous exécutez des tâches de bloc-notes dans Studio ou des tâches de SDK bloc-notes SageMaker Python dans un pipeline.

Contraintes d'image pour SageMaker Notebook Jobs (Studio)

Support des images et du noyau. Le pilote qui lance votre tâche de bloc-notes suppose ce qui suit :

  • Un environnement d'exécution Python de base est installé dans les images Studio ou bring-your-own (BYO) et constitue l'environnement par défaut dans le shell.

  • L'environnement d'exécution Python de base inclut le client Jupyter avec les spécifications du noyau correctement configurées.

  • L'environnement d'exécution Python de base inclut la fonction pip permettant à la tâche du bloc-notes d'installer des dépendances système.

  • Pour les images comportant plusieurs environnements, votre script d'initialisation doit passer à l'environnement spécifique au noyau approprié avant d'installer les packages spécifiques au bloc-notes. Vous devez revenir à l'environnement d'exécution Python par défaut, s'il est différent de l'environnement d'exécution du noyau, après avoir configuré l'environnement d'exécution Python du noyau.

Le pilote qui lance votre tâche de bloc-notes est un script bash, et Bash v4 doit être disponible dans /bin/bash.

Privilèges root sur bring-your-own-images (BYOI). Vous devez disposer de privilèges root sur vos propres images Studio, soit en tant qu'utilisateur root, soit par un accès sudo. Si vous n'êtes pas un utilisateur root mais que vous accédez aux privilèges root via sudo, utilisez 1000/100 en tant qu'UID/GID.

Contraintes d'image pour les tâches liées aux SDK blocs-notes en SageMaker Python

L'étape de travail du bloc-notes prend en charge les images suivantes :

  • SageMaker Images de distribution répertoriées dans SageMaker Images Amazon disponibles pour utilisation avec Studio Classic.

  • Une image personnalisée basée sur les images SageMaker de distribution de la liste précédente. Utilisez une image de SageMaker distribution comme base.

  • Une image personnalisée (BYOI) préinstallée avec les dépendances des tâches du bloc-notes (par exemple, sagemaker-headless-execution-driver. Votre image doit répondre aux exigences suivantes :

    • L'image est préinstallée avec les dépendances des tâches du bloc-notes.

    • Un environnement d'exécution Python de base est installé et est utilisé par défaut dans l'environnement shell.

    • L'environnement d'exécution Python de base inclut le client Jupyter avec les spécifications du noyau correctement configurées.

    • Vous disposez des privilèges root, soit en tant qu'utilisateur root, soit par le biais d'sudoun accès. Si vous n'êtes pas un utilisateur root mais que vous accédez aux privilèges root via sudo, utilisez 1000/100 en tant qu'UID/GID.

VPCsous-réseaux utilisés lors de la création d'emplois

Si vous utilisez unVPC, Studio utilise vos sous-réseaux privés pour créer votre tâche. Spécifiez 1 à 5 sous-réseaux privés (et 1 à 15 groupes de sécurité).

Si vous utilisez un VPC avec des sous-réseaux privés, vous devez choisir l'une des options suivantes pour que la tâche de bloc-notes puisse se connecter aux services ou ressources dépendants :

  • Si la tâche nécessite l'accès à un AWS service qui prend en charge les VPC points de terminaison d'interface, créez un point de terminaison pour vous connecter au service. Pour obtenir la liste des services qui prennent en charge les points de terminaison d'interface, voir AWS Services intégrés à AWS PrivateLink. Pour plus d'informations sur la création d'un point de VPC terminaison d'interface, voir Accéder à un AWS service à l'aide d'un point de VPC terminaison d'interface. Au minimum, une passerelle de point de VPC terminaison Amazon S3 doit être fournie.

  • Si une tâche de bloc-notes doit accéder à un AWS service qui ne prend pas en charge les VPC points de terminaison d'interface ou à une ressource extérieure AWS, créez une NAT passerelle et configurez vos groupes de sécurité pour autoriser les connexions sortantes. Pour plus d'informations sur la configuration d'une NAT passerelle pour votre compteVPC, consultez la section VPCavec des sous-réseaux publics et privés (NAT) dans le guide de l'utilisateur d'Amazon Virtual Private Cloud.

Service Limits

Étant donné que le planificateur de tâches de bloc-notes est conçu à partir de SageMaker Pipelines, de SageMaker Training et EventBridge des services Amazon, les tâches de votre bloc-notes sont soumises à des quotas spécifiques au service. Si vous dépassez ces quotas, des messages d'erreur liés à ces services peuvent s'afficher. Par exemple, le nombre de pipelines que vous pouvez exécuter simultanément et le nombre de règles que vous pouvez configurer pour un seul bus d'événements sont limités. Pour plus d'informations sur les SageMaker quotas, consultez Amazon SageMaker Endpoints and Quotas. Pour plus d'informations sur les EventBridge quotas, consultez Amazon EventBridge Quotas.