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.
Important
Les politiques IAM personnalisées qui permettent à Amazon SageMaker Studio ou Amazon SageMaker Studio Classic de créer des SageMaker ressources Amazon doivent également accorder des autorisations pour ajouter des balises à ces ressources. L'autorisation d'ajouter des balises aux ressources est requise car Studio et Studio Classic balisent automatiquement toutes les ressources qu'ils créent. Si une politique IAM autorise Studio et Studio Classic à créer des ressources mais n'autorise pas le balisage, des erreurs « AccessDenied » peuvent se produire lors de la tentative de création de ressources. Pour de plus amples informations, veuillez consulter Fournir des autorisations pour le balisage des ressources d' SageMaker IA.
AWS politiques gérées pour Amazon SageMaker AIqui donnent des autorisations pour créer des SageMaker ressources incluent déjà des autorisations pour ajouter des balises lors de la création de ces ressources.
Une configuration du cycle de vie (LCC) fournit des scripts shell qui s'exécutent uniquement lorsque vous créez l'instance du bloc-notes ou lorsque vous en démarrez une. Lorsque vous créez une instance de bloc-notes, vous pouvez créer une nouvelle LCC ou associer une LCC que vous possédez déjà. Les scripts de configuration du cycle de vie sont utiles dans les cas d'utilisation suivants :
-
Installation de packages ou d'exemples de blocs-notes sur une instance de bloc-notes
-
Configuration de la mise en réseau et de la sécurité pour une instance d'ordinateur portable
-
Utilisation d'un script shell pour personnaliser une instance de bloc-notes
Vous pouvez également utiliser un script de configuration du cycle de vie pour accéder aux AWS services depuis votre bloc-notes. Par exemple, vous pouvez créer un script qui vous permet d'utiliser votre bloc-notes pour contrôler d'autres AWS ressources, telles qu'une instance Amazon EMR.
Nous gérons un référentiel public de scripts de configuration du cycle de vie des blocs-notes qui répondent aux cas d'utilisation courants de personnalisation des instances de blocs-notes à l'adresse https://github.com/aws-samples/amazon-sagemaker-notebook-instance- lifecycle-config-samples
Note
Chaque script a une limite de 16 384 caractères.
La valeur de la variable d'environnement $PATH
qui est disponible pour les deux scripts est /usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
. Le répertoire de travail, qui correspond à la valeur de la variable d'environnement $PWD
, est /
.
Afficher CloudWatch les journaux pour les configurations du cycle de vie des instances de bloc-notes /aws/sagemaker/NotebookInstances
dans le groupe de journaux du flux de journaux[notebook-instance-name]/[LifecycleConfigHook]
.
Les scripts ne peuvent pas s'exécuter pendant plus de 5 minutes. Si un script s'exécute pendant plus de 5 minutes, il échoue et l'instance de bloc-notes n'est pas créée ni démarrée. Pour vous aider à diminuer la durée de l'exécution de scripts, essayez ce qui suit :
-
Réduisez les étapes nécessaires. Par exemple, limitez les environnements conda pour installer de grands packages.
-
Exécutez les tâches en parallèle.
-
Utilisez la commande
nohup
dans votre script.
Vous pouvez consulter la liste des configurations de cycle de vie des instances de bloc-notes que vous avez créées précédemment en choisissant Configuration du cycle de vie dans la console SageMaker AI. Vous pouvez joindre une instance de bloc-notes LCC lorsque vous créez une nouvelle instance de bloc-notes. Pour plus d'informations sur la création d'une instance de bloc-notes, consultez Création d'une instance de SageMaker bloc-notes Amazon.
Bonnes pratiques en matière de configuration du cycle de vie
Les bonnes pratiques suivantes sont exigées pour utiliser les configurations de cycle de vie :
Important
Il n'est pas recommandé de stocker des informations sensibles dans votre script de configuration du cycle de vie.
-
Les configurations de cycle de vie sont exécutées en tant qu'utilisateur
root
Si votre script effectue des modifications dans le répertoire/home/ec2-user/SageMaker
, (par exemple, l'installation d'un package avecpip
), utilisez la commandesudo -u ec2-user
pour effectuer l'exécution en tant qu'utilisateurec2-user
. Il s'agit du même utilisateur que celui sous lequel Amazon SageMaker AI s'exécute. -
SageMaker Les instances de blocs-notes AI utilisent
conda
des environnements pour implémenter différents noyaux pour les blocs-notes Jupyter. Si vous souhaitez installer des packages qui sont disponibles pour un ou plusieurs noyaux de bloc-notes, ajoutez les commandes pour installer les packages avec les commandes d'environnementconda
qui activent l'environnement conda contenant le noyau pour l'installation des packages.Par exemple, si vous souhaitez installer un package seulement pour l'environnement
python3
, utilisez le code suivant :#!/bin/bash sudo -u ec2-user -i <<EOF # This will affect only the Jupyter kernel called "conda_python3". source activate python3 # Replace
myPackage
with the name of the package you want to install. pip installmyPackage
# You can also perform "conda install" here as well. source deactivate EOFSi vous souhaitez installer un package dans tous les environnements conda de l'instance de bloc-notes, utilisez le code suivant :
#!/bin/bash sudo -u ec2-user -i <<EOF # Note that "base" is special environment name, include it there as well. for env in base /home/ec2-user/anaconda3/envs/*; do source /home/ec2-user/anaconda3/bin/activate $(basename "$env") # Installing packages in the Jupyter system environment can affect stability of your SageMaker # Notebook Instance. You can remove this check if you'd like to install Jupyter extensions, etc. if [ $env = 'JupyterSystemEnv' ]; then continue fi # Replace
myPackage
with the name of the package you want to install. pip install --upgrade --quietmyPackage
# You can also perform "conda install" here as well. source /home/ec2-user/anaconda3/bin/deactivate done EOF -
Vous devez stocker tous les environnements conda dans le dossier des environnements par défaut (/home/user/anaconda3/envs).
Important
Lorsque vous créez ou modifiez un script, nous vous recommandons d'utiliser un éditeur de texte qui fournit des sauts de ligne de style UNIX, tel que l'éditeur de texte disponible dans la console lors de la création d'un bloc-notes. La copie de texte à partir d'un système d'exploitation autre que Linux peut inclure des sauts de ligne incompatibles et entraîner une erreur inattendue.