JupyterLab Versionnage - 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.

JupyterLab Versionnage

Important

Les IAM politiques personnalisées qui autorisent Amazon SageMaker Studio ou Amazon SageMaker Studio Classic à 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 IAM politique 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 SageMaker.

AWS Politiques gérées pour Amazon SageMakerqui 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.

Important

Depuis le 30 novembre 2023, l'expérience Amazon SageMaker Studio précédente s'appelle désormais Amazon SageMaker Studio Classic. La section suivante est spécifique à l'utilisation de l'application Studio Classic. Pour plus d'informations sur l'utilisation de l'expérience Studio mise à jour, consultezAmazon SageMaker Studio.

L'interface Amazon SageMaker Studio Classic est basée sur JupyterLab un environnement de développement interactif basé sur le Web pour les blocs-notes, le code et les données. Studio Classic ne prend en charge que l'utilisation de JupyterLab 3.

Si vous avez créé votre domaine et votre profil utilisateur AWS Management Console avant le 31/08/2022 ou AWS Command Line Interface avant le 22/02/23, la valeur par défaut de votre instance Studio Classic était 1. JupyterLab Après le 01/07/2024, vous ne pourrez plus créer d'applications Studio Classic qui exécutent JupyterLab 1.

JupyterLab 3

JupyterLab 3 inclut les fonctionnalités suivantes qui ne sont pas disponibles dans les versions précédentes. Pour plus d'informations sur ces fonctionnalités, voir la JupyterLab version 3.0 est sortie ! .

  • Débogueur visuel lors de l'utilisation des noyaux Base Python 2.0 et Data Science 2.0.

  • Filtre de l'explorateur de fichiers

  • Table des matières (TOC)

  • Prise en charge multilingue

  • Mode simple

  • Mode d'interface unique

Changements importants apportés à JupyterLab 3

Tenez compte des points suivants lorsque vous utilisez JupyterLab 3 :

  • Lorsque vous définissez la JupyterLab version à l'aide du AWS CLI, sélectionnez l'image correspondante pour votre région et votre JupyterLab version dans la liste d'images deÀ partir du AWS CLI.

  • En JupyterLab 3, vous devez activer l'environnement studio conda avant d'installer les extensions. Pour de plus amples informations, veuillez consulter Installation JupyterLab et extensions Jupyter Server.

  • Le débogueur est pris en charge uniquement avec les images suivantes :

    • Base Python 2.0

    • Data Science 2.0

    • Base Python 3.0

    • Data Science 3.0

Restreindre JupyterLab la version par défaut à l'aide d'une clé IAM de condition de politique

Vous pouvez utiliser des clés de condition de IAM politique pour restreindre la version JupyterLab que vos utilisateurs peuvent lancer.

La politique suivante indique comment limiter la JupyterLab version au niveau du domaine.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Block users from creating JupyterLab 3 apps at the domain level", "Effect": "Deny", "Action": [ "sagemaker:CreateDomain", "sagemaker:UpdateDomain" ], "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "sagemaker:ImageArns": "*image/jupyter-server-3" } } } ] }

La politique suivante indique comment limiter la JupyterLab version au niveau du profil utilisateur.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Block users from creating JupyterLab 3 apps at the user profile level", "Effect": "Deny", "Action": [ "sagemaker:CreateUserProfile", "sagemaker:UpdateUserProfile" ], "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "sagemaker:ImageArns": "*image/jupyter-server-3" } } } ] }

La politique suivante indique comment limiter la JupyterLab version au niveau de l'application. La CreateApp demande doit inclure l'image ARN pour que cette politique s'applique.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Block users from creating JupyterLab 3 apps at the application level", "Effect": "Deny", "Action": "sagemaker:CreateApp", "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "sagemaker:ImageArns": "*image/jupyter-server-3" } } } ] }

Configuration d'une JupyterLab version par défaut

Les sections suivantes montrent comment définir une JupyterLab version par défaut pour Studio Classic à l'aide de la console ou du AWS CLI. 

À partir de la console

Vous pouvez sélectionner la JupyterLab version par défaut à utiliser au niveau du domaine ou du profil utilisateur lors de la création des ressources. Pour définir la JupyterLab version par défaut à l'aide de la console, voirVue d'ensemble SageMaker du domaine Amazon

À partir du AWS CLI

Vous pouvez sélectionner la JupyterLab version par défaut à utiliser au niveau du domaine ou du profil utilisateur à l'aide du AWS CLI. 

Pour définir la JupyterLab version par défaut à l'aide du AWS CLI, vous devez inclure ARN la JupyterLab version par défaut souhaitée dans le cadre d'une AWS CLI commande. Cela ARN varie en fonction de la version et de la région du SageMaker domaine. 

Le tableau suivant répertorie ARNs les JupyterLab versions disponibles pour chaque région :

Région JL3
us-east-1 arn:aws:sagemaker:us-east-1:081325390199:image/jupyter-server-3
us-east-2 arn:aws:sagemaker:us-east-2:429704687514:image/jupyter-server-3
us-west-1 arn:aws:sagemaker:us-west-1:742091327244:image/jupyter-server-3
us-west-2 arn:aws:sagemaker:us-west-2:236514542706:image/jupyter-server-3
af-south-1 arn:aws:sagemaker:af-south-1:559312083959:image/jupyter-server-3
ap-east-1 arn:aws:sagemaker:ap-east-1:493642496378:image/jupyter-server-3
ap-south-1 arn:aws:sagemaker:ap-south-1:394103062818:image/jupyter-server-3
ap-northeast-2 arn:aws:sagemaker:ap-northeast-2:806072073708:image/jupyter-server-3
ap-southeast-1 arn:aws:sagemaker:ap-southeast-1:492261229750:image/jupyter-server-3
ap-southeast-2 arn:aws:sagemaker:ap-southeast-2:452832661640:image/jupyter-server-3
ap-northeast-1 arn:aws:sagemaker:ap-northeast-1:102112518831:image/jupyter-server-3
ca-central-1 arn:aws:sagemaker:ca-central-1:310906938811:image/jupyter-server-3
eu-central-1 arn:aws:sagemaker:eu-central-1:936697816551:image/jupyter-server-3
eu-west-1 arn:aws:sagemaker:eu-west-1:470317259841:image/jupyter-server-3
eu-west-2 arn:aws:sagemaker:eu-west-2:712779665605:image/jupyter-server-3
eu-west-3 arn:aws:sagemaker:eu-west-3:615547856133:image/jupyter-server-3
eu-north-1 arn:aws:sagemaker:eu-north-1:243637512696:image/jupyter-server-3
eu-south-1 arn:aws:sagemaker:eu-south-1:592751261982:image/jupyter-server-3
eu-south-2 arn:aws:sagemaker:eu-south-2:127363102723:image/jupyter-server-3
sa-east-1 arn:aws:sagemaker:sa-east-1:782484402741:image/jupyter-server-3
cn-north-1 arn:aws-cn:sagemaker:cn-north-1:390048526115:image/jupyter-server-3
cn-northwest-1 arn:aws-cn:sagemaker:cn-northwest-1:390780980154:image/jupyter-server-3

Création ou mise à jour d'un domaine

Vous pouvez définir une JupyterServer version par défaut au niveau du domaine en invoquant CreateDomainou UpdateDomainen transmettant le UserSettings.JupyterServerAppSettings.DefaultResourceSpec.SageMakerImageArn champ.

Ce qui suit montre comment créer un domaine avec JupyterLab 3 comme valeur par défaut, en utilisant AWS CLI :

aws --region <REGION> \ sagemaker create-domain \ --domain-name <NEW_DOMAIN_NAME> \ --auth-mode <AUTHENTICATION_MODE> \ --subnet-ids <SUBNET-IDS> \ --vpc-id <VPC-ID> \ --default-user-settings '{   "JupyterServerAppSettings": {     "DefaultResourceSpec": {       "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",       "InstanceType": "system"     }   } }'

Voici comment mettre à jour un domaine pour qu'il utilise JupyterLab 3 par défaut, en utilisant AWS CLI :

aws --region <REGION> \ sagemaker update-domain \ --domain-id <YOUR_DOMAIN_ID> \ --default-user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3", "InstanceType": "system" } } }'

Création ou mise à jour d'un profil utilisateur

Vous pouvez définir une JupyterServer version par défaut au niveau du profil utilisateur en invoquant CreateUserProfileou UpdateUserProfileen transmettant le UserSettings.JupyterServerAppSettings.DefaultResourceSpec.SageMakerImageArn champ.

Ce qui suit montre comment créer un profil utilisateur avec JupyterLab 3 comme valeur par défaut sur un domaine existant, à l'aide de AWS CLI :

aws --region <REGION> \ sagemaker create-user-profile \ --domain-id <YOUR_DOMAIN_ID> \ --user-profile-name <NEW_USERPROFILE_NAME> \ --query UserProfileArn --output text \ --user-settings '{   "JupyterServerAppSettings": {     "DefaultResourceSpec": {       "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3",       "InstanceType": "system"     }   } }'

Ce qui suit montre comment mettre à jour un profil utilisateur pour utiliser JupyterLab 3 par défaut, en utilisant AWS CLI :

aws --region <REGION> \ sagemaker update-user-profile \ --domain-id <YOUR_DOMAIN_ID> \ --user-profile-name <EXISTING_USERPROFILE_NAME> \ --user-settings '{ "JupyterServerAppSettings": { "DefaultResourceSpec": { "SageMakerImageArn": "arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:image/jupyter-server-3", "InstanceType": "system" } } }'

Afficher et mettre à jour la JupyterLab version d'une application depuis la console

Ce qui suit montre comment afficher et mettre à jour la JupyterLab version d'une application.

  1. Accédez à la page SageMaker des domaines.

  2. Sélectionnez un domaine pour afficher ses profils utilisateur.

  3. Sélectionnez un utilisateur pour afficher ses applications.

  4. Pour afficher la JupyterLab version d'une application, sélectionnez le nom de l'application.

  5. Pour mettre à jour la JupyterLab version, sélectionnez Action.

  6. Dans le menu déroulant, sélectionnez Changer de JupyterLab version.

  7. Sur la page des paramètres de Studio Classic, sélectionnez la JupyterLab version dans le menu déroulant.

  8. Une fois que la JupyterLab version du profil utilisateur a été correctement mise à jour, redémarrez l' JupyterServer application pour que les modifications de version soient effectives. Pour plus d'informations sur le redémarrage d'une JupyterServer application, consultezArrêter et mettre à jour SageMaker Studio Classic.

Installation JupyterLab et extensions Jupyter Server

En JupyterLab 3, vous devez activer l'environnement studio conda avant d'installer les extensions. La méthode à suivre est différente si vous installez les extensions depuis Studio Classic ou si vous utilisez un script de configuration du cycle de vie.

Installation de l'extension depuis Studio Classic

Pour installer des extensions depuis Studio Classic, vous devez activer l'studioenvironnement avant d'installer les extensions.

# Before installing extensions conda activate studio # Install your extensions pip install <JUPYTER_EXTENSION> # After installing extensions conda deactivate

Installation d'extensions à l'aide d'un script de configuration du cycle de vie

Si vous installez JupyterLab des extensions Jupyter Server dans votre script de configuration du cycle de vie, vous devez modifier votre script pour qu'il fonctionne avec JupyterLab 3. Les sections suivantes présentent le code nécessaire pour les scripts existant et nouveau de configuration du cycle de vie.

Script existant de configuration du cycle de vie

Si vous réutilisez un script de configuration du cycle de vie existant qui doit fonctionner avec les deux versions de JupyterLab, utilisez le code suivant dans votre script :

# Before installing extension export AWS_SAGEMAKER_JUPYTERSERVER_IMAGE="${AWS_SAGEMAKER_JUPYTERSERVER_IMAGE:-'jupyter-server'}" if [ "$AWS_SAGEMAKER_JUPYTERSERVER_IMAGE" = "jupyter-server-3" ] ; then eval "$(conda shell.bash hook)" conda activate studio fi; # Install your extensions pip install <JUPYTER_EXTENSION> # After installing extension if [ "$AWS_SAGEMAKER_JUPYTERSERVER_IMAGE" = "jupyter-server-3" ]; then conda deactivate fi;

Nouveau script de configuration du cycle de vie

Si vous écrivez un nouveau script de configuration du cycle de vie qui n'utilise que JupyterLab 3, vous pouvez utiliser le code suivant dans votre script :

# Before installing extension eval "$(conda shell.bash hook)" conda activate studio # Install your extensions pip install <JUPYTER_EXTENSION> conda deactivate