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 scripts LCC et des détails importants à comprendre concernant la configuration du VPC.

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 le SDK SageMaker Python, vous pouvez uniquement consulter vos tâches. L'étape de tâche de bloc-notes du SDK 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 les tâches de bloc-notes dans Studio ou l'étape de tâche de bloc-notes du SDK 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 activés 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 SageMaker tâches de bloc-notes du SDK 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.

  • 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.

Sous-réseaux VPC utilisés lors de la création de tâches

Si vous utilisez un VPC, 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 vous assurer que la tâche du bloc-notes peut se connecter aux services ou ressources dépendants :

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

  • Si une tâche de bloc-notes a besoin d'accéder à un service AWS qui ne prend pas en charge les points de terminaison d'un VPC d'interface ou à une ressource en dehors d'AWS, créez une passerelle NAT et configurez vos groupes de sécurité pour qu'ils autorisent les connexions sortantes. Pour obtenir des informations sur la configuration d'une passerelle NAT pour votre VPC, veuillez consulter VPC avec des sous-réseaux publics et privés (NAT) dans le Guide de l'utilisateur 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.