

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.

# SageMaker JupyterLab
<a name="studio-updated-jl"></a>

Créez un JupyterLab espace dans Amazon SageMaker Studio pour lancer l' JupyterLabapplication. Un JupyterLab espace est un espace privé ou partagé au sein de Studio qui gère les ressources de stockage et de calcul nécessaires pour exécuter l' JupyterLab application. L' JupyterLab application est un environnement de développement interactif (IDE) basé sur le Web pour les ordinateurs portables, le code et les données. Utilisez l'interface flexible et étendue de l' JupyterLab application pour configurer et organiser les flux de travail d'apprentissage automatique (ML).

Par défaut, l' JupyterLab application est fournie avec l'image SageMaker de distribution. L’image de distribution contient des packages populaires, tels que les suivants :
+ PyTorch
+ TensorFlow
+ Keras
+ NumPy
+ Pandas
+ Scikit-learn

Vous pouvez utiliser les espaces partagés pour collaborer sur vos blocs-notes Jupyter avec d’autres utilisateurs en temps réel. Pour plus d’informations sur les espaces partagés, consultez [Collaboration avec des espaces partagés](domain-space.md).

Dans l' JupyterLab application, vous pouvez utiliser Amazon Q Developer, un compagnon de code basé sur l'IA générative pour générer, déboguer et expliquer votre code. Pour en savoir plus sur l’utilisation d’Amazon Q Developer, consultez le [JupyterLab guide de l'utilisateur](studio-updated-jl-user-guide.md). Pour en savoir plus sur la configuration d’Amazon Q Developer, consultez le [JupyterLab guide de l'administrateur](studio-updated-jl-admin-guide.md).

Créez des flux de travail d’analytique et de ML unifiés dans le même bloc-notes Jupyter. Exécutez Spark des tâches interactives sur Amazon EMR et sur une infrastructure AWS Glue sans serveur, directement depuis votre ordinateur portable. Surveillez et déboguez les tâches plus rapidement grâce à l’interface utilisateur Spark intégrée. En quelques étapes, vous pouvez automatiser la préparation de vos données en planifiant le bloc-notes en tant que tâche.

L' JupyterLab application vous permet de travailler en collaboration avec vos pairs. Utilisez l'intégration Git intégrée à l' JupyterLab IDE pour partager et versionner le code. Apportez votre propre système de stockage de fichiers si vous possédez un volume Amazon EFS.

L' JupyterLab application s'exécute sur une seule instance Amazon Elastic Compute Cloud (Amazon EC2) et utilise un seul volume Amazon Elastic Block Store (Amazon EBS) pour le stockage. Vous pouvez basculer vers des instances plus rapides ou augmenter la taille du volume Amazon EBS en fonction de vos besoins.

L'application JupyterLab 4 s'exécute dans un JupyterLab espace de Studio. Studio Classic utilise l'application JupyterLab 3. JupyterLab 4 offre les avantages suivants :
+ Un IDE plus rapide qu'Amazon SageMaker Studio Classic, en particulier pour les ordinateurs portables de grande taille
+ Une recherche améliorée des documents.
+ Un éditeur de texte plus performant et plus accessible.

Pour plus d'informations à ce sujet JupyterLab, consultez [JupyterLabla documentation](https://jupyterlab.readthedocs.io/en/stable/#).

**Topics**
+ [JupyterLab guide de l'utilisateur](studio-updated-jl-user-guide.md)
+ [JupyterLab guide de l'administrateur](studio-updated-jl-admin-guide.md)

# JupyterLab guide de l'utilisateur
<a name="studio-updated-jl-user-guide"></a>

Ce guide explique JupyterLab aux utilisateurs comment exécuter des flux de travail d'analyse et d'apprentissage automatique dans SageMaker Studio. Vous pouvez bénéficier d’un stockage rapide et mettre à l’échelle votre capacité de calcul, en fonction de vos besoins.

JupyterLab prend en charge les espaces privés et partagés. Les espaces privés sont limités à un utilisateur unique dans un domaine. Les espaces partagés permettent aux autres utilisateurs de votre domaine de collaborer avec vous en temps réel. Pour en savoir plus sur les espaces Studio, consultez [Espaces Amazon SageMaker Studio](studio-updated-spaces.md).

Pour commencer à l'utiliser JupyterLab, créez un espace et lancez votre JupyterLab application. L'espace sur lequel s'exécute votre JupyterLab application est un JupyterLab espace. L' JupyterLab espace utilise une seule instance Amazon EC2 pour vos calculs et un seul volume Amazon EBS pour votre stockage. Tout ce qui se trouve dans votre espace, comme votre code, votre profil git et les variables d’environnement, est stocké sur le même volume Amazon EBS. Le volume possède 3 000 IOPS et un débit de 125 mégaoctets par seconde (). MBps Vous pouvez utiliser le stockage rapide pour ouvrir et exécuter plusieurs blocs-notes Jupyter sur la même instance. Vous pouvez également changer de noyau très rapidement dans un bloc-notes.

Votre administrateur a configuré les paramètres de stockage Amazon EBS par défaut pour votre espace. La taille de stockage par défaut est de 5 Go, mais vous pouvez augmenter la quantité d’espace disponible. Vous pouvez vous adresser à votre administrateur pour qu’il vous fournisse des directives.

Vous pouvez changer le type d'instance Amazon EC2 que vous utilisez pour exécuter JupyterLab, en augmentant ou en diminuant votre capacité de calcul en fonction de vos besoins. Les instances à **lancement rapide** démarrent beaucoup plus rapidement que les autres instances.

Votre administrateur peut vous fournir une configuration de cycle de vie qui personnalise votre environnement. Vous pouvez spécifier la configuration de cycle de vie lorsque vous créez l’espace.

Si votre administrateur vous donne accès à un Amazon EFS, vous pouvez configurer votre JupyterLab espace pour y accéder.

Par défaut, l' JupyterLab application utilise l'image SageMaker de distribution. Cela inclut la prise en charge de nombreux packages de machine learning, d’analytique et de deep learning. Toutefois, si vous avez besoin d’une image personnalisée, votre administrateur peut vous aider à accéder aux images personnalisées.

Le volume Amazon EBS persiste indépendamment de la durée de vie d’une instance. Vous ne perdrez pas vos données en changeant les instances. Utilisez les bibliothèques de gestion de packages conda et pip pour créer des environnements personnalisés reproductibles qui persistent même lorsque vous changez de types d’instance.

Après ouverture JupyterLab, vous pouvez configurer votre environnement à l'aide du terminal. Pour ouvrir le terminal, accédez au **Lanceur** et choisissez **Terminal**.

Vous trouverez ci-dessous des exemples de différentes manières de configurer un environnement JupyterLab.

**Note**  
Dans Studio, vous pouvez utiliser des configurations de cycle de vie pour personnaliser votre environnement, mais nous vous recommandons d’utiliser un gestionnaire de packages à la place. L’utilisation de configurations de cycle de vie est une méthode plus sujette aux erreurs. Il est plus facile d’ajouter ou de supprimer des dépendances que de déboguer un script de configuration de cycle de vie. Cela peut également augmenter le temps JupyterLab de démarrage.  
Pour en savoir plus sur les configurations de cycle de vie, consultez [Des configurations de cycle de vie avec JupyterLab](jl-lcc.md).

**Topics**
+ [Création d’un espace](studio-updated-jl-user-guide-create-space.md)
+ [Configuration d’un espace](studio-updated-jl-user-guide-configure-space.md)
+ [Personnalisation de votre environnement à l’aide d’un gestionnaire de packages](studio-updated-jl-user-guide-customize-package-manager.md)
+ [Nettoyage d’un environnement conda](studio-updated-jl-clean-up-conda.md)
+ [Partage d’environnements conda entre des types d’instances](studio-updated-jl-create-conda-share-environment.md)
+ [Utilisation d’Amazon Q pour accélérer vos flux de travail de machine learning](studio-updated-jl-user-guide-use-amazon-q.md)

# Création d’un espace
<a name="studio-updated-jl-user-guide-create-space"></a>

Pour commencer à l'utiliser JupyterLab, créez un espace ou choisissez l'espace que votre administrateur a créé pour vous et ouvrez-le JupyterLab.

Utilisez la procédure suivante pour créer un espace et l'ouvrir JupyterLab.

**Pour créer un espace et ouvrir JupyterLab**

1. Ouvrez Studio. Pour en savoir plus sur l’ouverture de Studio, consultez [Lancez Amazon SageMaker Studio](studio-updated-launch.md).

1. Sélectionnez **JupyterLab**.

1. Choisissez **Créer un JupyterLab espace**.

1. Pour **Nom**, spécifiez le nom de l’espace.

1. (Facultatif) Sélectionnez **Partager avec mon domaine** pour créer un espace partagé.

1. Choisissez **Créer un espace**.

1. (Facultatif) Pour **Instance**, spécifiez l’instance Amazon EC2 qui gère l’espace.

1. (Facultatif) Pour **Image**, spécifiez une image fournie par votre administrateur pour personnaliser votre environnement.
**Important**  
Les politiques IAM personnalisées qui permettent aux utilisateurs de Studio de créer des espaces doivent également accorder l’autorisation de répertorier des images (`sagemaker: ListImage`) afin de visualiser des images personnalisées. Pour ajouter l’autorisation, consultez [Ajout ou suppression d’autorisations d’identité](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le Guide de l’utilisateur *Gestion des identités et des accès AWS*.   
[AWS politiques gérées pour Amazon SageMaker AI](security-iam-awsmanpol.md)qui donnent des autorisations pour créer des ressources d' SageMaker IA incluent déjà des autorisations pour répertorier des images lors de la création de ces ressources.

1. (Facultatif) Pour **Paramètres d’espace**, spécifiez les éléments suivants :
   + **Stockage (Go)** : jusqu’à 100 Go ou le montant indiqué par votre administrateur.
   + **Configuration du cycle de vie** : configuration de cycle de vie spécifiée par votre administrateur.
   + **Attacher un système de fichiers EFS personnalisé** : système de fichiers Amazon EFS auquel votre administrateur donne accès.

1. Choisissez **Exécuter Space**.

1. Choisissez **Ouvrir JupyterLab**.

# Configuration d’un espace
<a name="studio-updated-jl-user-guide-configure-space"></a>

Après avoir créé un JupyterLab espace, vous pouvez le configurer pour effectuer les opérations suivantes :
+ Modifier le type d’instance.
+ Modifier le volume de stockage.
+ (Configuration administrative requise) Utiliser une image personnalisée.
+ (Configuration administrative requise) Utiliser une configuration de cycle de vie.
+ (Configuration administrative requise) Attacher un système de fichiers Amazon EFS personnalisé.

**Important**  
Vous devez arrêter l' JupyterLab espace à chaque fois que vous le configurez. Procédez comme suit pour configurer l’espace.

**Pour configurer un espace**

1. Dans Studio, accédez à la page de JupyterLab l'application.

1. Choisissez le nom de l’espace.

1. (Facultatif) Pour **Image**, spécifiez une image fournie par votre administrateur pour personnaliser votre environnement.
**Important**  
Les politiques IAM personnalisées qui permettent aux utilisateurs de Studio de créer des espaces doivent également accorder l’autorisation de répertorier des images (`sagemaker: ListImage`) afin de visualiser des images personnalisées. Pour ajouter l’autorisation, consultez [Ajout ou suppression d’autorisations d’identité](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le Guide de l’utilisateur *Gestion des identités et des accès AWS*.   
[AWS politiques gérées pour Amazon SageMaker AI](security-iam-awsmanpol.md)qui donnent des autorisations pour créer des ressources d' SageMaker IA incluent déjà des autorisations pour répertorier des images lors de la création de ces ressources.

1. (Facultatif) Pour **Paramètres d’espace**, spécifiez les éléments suivants :
   + **Stockage (Go)** : jusqu’à 100 Go ou la quantité d’espace configurée par votre administrateur.
   + **Configuration du cycle de vie** : configuration de cycle de vie spécifiée par votre administrateur.
   + **Attacher un système de fichiers EFS personnalisé** : système de fichiers Amazon EFS auquel votre administrateur donne accès.

1. Choisissez **Exécuter Space**.

Lorsque vous ouvrez l' JupyterLab application, la configuration de votre espace est mise à jour.

# Personnalisation de votre environnement à l’aide d’un gestionnaire de packages
<a name="studio-updated-jl-user-guide-customize-package-manager"></a>

Utilisez pip ou conda pour personnaliser votre environnement. Nous recommandons d’utiliser des gestionnaires de packages plutôt que des scripts de configuration de cycle de vie. 

## Création et activation de votre environnement personnalisé
<a name="studio-updated-jl-create-basic-conda"></a>

Cette section fournit des exemples de différentes manières de configurer un environnement JupyterLab.

Un environnement conda de base possède le nombre minimum de packages requis pour vos flux de travail en SageMaker IA. Utilisez le modèle suivant pour créer un environnement conda de base :

```
# initialize conda for shell interaction
conda init

# create a new fresh environment
conda create --name test-env

# check if your new environment is created successfully
conda info --envs

# activate the new environment
conda activate test-env

# install packages in your new conda environment
conda install pip boto3 pandas ipykernel

# list all packages install in your new environment 
conda list

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# to exit your new environment
conda deactivate
```

L’image suivante montre l’emplacement de l’environnement que vous avez créé.

![\[L’environnement test-env s’affiche dans l’angle supérieur droit de l’écran.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/juptyer-notebook-environment-location.png)


Pour modifier votre environnement, choisissez-le et sélectionnez une option dans le menu déroulant.

![\[La coche et le texte correspondant montrent un exemple d’environnement que vous avez créé précédemment.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/jupyter-notebook-select-env.png)


Choisissez **Sélectionner** pour sélectionner un noyau pour l’environnement.

## Création d’un environnement conda avec une version spécifique de Python
<a name="studio-updated-jl-create-conda-version"></a>

Le nettoyage des environnements conda que vous n’utilisez pas peut contribuer à libérer de l’espace disque et à améliorer les performances. Utilisez le modèle suivant pour nettoyer un environnement conda :

```
# create a conda environment with a specific python version
conda create --name py38-test-env python=3.8.10

# activate and test your new python version
conda activate py38-test-env & python3 --version

# Install ipykernel to facilicate env registration
conda install ipykernel

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your py38 test environment
conda deactivate
```

## Création d’un environnement conda avec un ensemble spécifique de packages
<a name="studio-updated-jl-create-conda-specific-packages"></a>

Utilisez le modèle suivant pour créer un environnement conda avec une version spécifique de Python et un ensemble de packages :

```
# prefill your conda environment with a set of packages,
conda create --name py38-test-env python=3.8.10 pandas matplotlib=3.7 scipy ipykernel

# activate your conda environment and ensure these packages exist
conda activate py38-test-env

# check if these packages exist
conda list | grep -E 'pandas|matplotlib|scipy'

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

## Clonage d’un environnement conda à partir d’un environnement existant
<a name="studio-updated-jl-create-conda-clone"></a>

Clonez votre environnement conda pour préserver son état de fonctionnement. Vous expérimentez dans l’environnement cloné sans avoir à vous soucier d’introduire des modifications majeures dans votre environnement de test.

Utilisez la commande suivante pour cloner un environnement.

```
# create a fresh env from a base environment 
conda create --name py310-base-ext --clone base # replace 'base' with another env

# activate your conda environment and ensure these packages exist
conda activate py310-base-ext

# install ipykernel to register your env
conda install ipykernel

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | cut -d : -f 2 | tr -d ' ')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

## Clonage d’un environnement conda à partir d’un fichier YAML de référence
<a name="studio-updated-jl-create-conda-yaml"></a>

Créez un environnement conda à partir d’un fichier YAML de référence. Voici un exemple de fichier YAML que vous pouvez utiliser.

```
# anatomy of a reference environment.yml
name: py311-new-env
channels:
  - conda-forge
dependencies:
  - python=3.11
  - numpy
  - pandas
  - scipy
  - matplotlib
  - pip
  - ipykernel
  - pip:
      - git+https://github.com/huggingface/transformers
```

Sous `pip`, nous vous recommandons de ne spécifier que les dépendances qui ne sont pas disponibles avec conda.

Utilisez les commandes suivantes pour créer un environnement conda à partir d’un fichier YAML.

```
# create your conda environment 
conda env create -f environment.yml

# activate your env
conda activate py311-new-env
```

# Nettoyage d’un environnement conda
<a name="studio-updated-jl-clean-up-conda"></a>

Le nettoyage des environnements conda que vous n’utilisez pas peut contribuer à libérer de l’espace disque et à améliorer les performances. Utilisez le modèle suivant pour nettoyer un environnement conda :

```
# list your environments to select an environment to clean
conda info --envs # or conda info -e

# once you've selected your environment to purge
conda remove --name test-env --all

# run conda environment list to ensure the target environment is purged
conda info --envs # or conda info -e
```

# Partage d’environnements conda entre des types d’instances
<a name="studio-updated-jl-create-conda-share-environment"></a>

Vous pouvez partager des environnements conda en les enregistrant dans un répertoire Amazon EFS en dehors de votre volume Amazon EBS. Un autre utilisateur peut accéder à l’environnement dans le répertoire où vous l’avez enregistré.

**Important**  
Le partage de vos environnements présente des limites. Par exemple, nous ne recommandons pas l’utilisation d’un environnement destiné à être exécuté sur une instance de GPU Amazon EC2 à l’utilisation d’un environnement exécuté sur une instance de CPU.

Utilisez les commandes suivantes comme modèle pour spécifier le répertoire cible dans lequel vous créez un environnement personnalisé. Vous créez un environnement conda dans un dossier particulier. Vous le créez dans le répertoire Amazon EFS. Vous pouvez créer une nouvelle instance, exécuter le chemin d’activation conda et procéder dans Amazon EFS.

```
# if you know your environment path for your conda environment
conda create --prefix /home/sagemaker-user/my-project/py39-test python=3.9

# activate the env with full path from prefix
conda activate home/sagemaker-user/my-project/py39-test

# parse env name information from your new environment
export CURRENT_ENV_NAME=$(conda info | grep "active environment" | awk -F' : ' '{print $2}' | awk -F'/' '{print $NF}')

# register your new environment as Jupyter Kernel for execution 
python3 -m ipykernel install --user --name $CURRENT_ENV_NAME --display-name "user-env-prefix:($CURRENT_ENV_NAME)"

# deactivate your conda environment
conda deactivate
```

# Utilisation d’Amazon Q pour accélérer vos flux de travail de machine learning
<a name="studio-updated-jl-user-guide-use-amazon-q"></a>

Amazon Q Developer est votre compagnon basé sur l’IA pour le développement du machine learning. Avec Amazon Q Developer, vous pouvez :
+ Recevez des step-by-step conseils sur l'utilisation des fonctionnalités de l' SageMaker IA indépendamment ou en combinaison avec d'autres AWS services.
+ Obtenez un exemple de code pour démarrer vos tâches de machine learning telles que la préparation des données, la formation, l'inférence et MLOps.
+ Recevoir une assistance de dépannage afin de déboguer et de résoudre les erreurs rencontrées lors de l’exécution du code.

Amazon Q Developer s'intègre parfaitement à votre JupyterLab environnement. Pour utiliser Amazon Q Developer, choisissez le **Q** dans le menu de navigation de gauche de votre JupyterLab environnement ou de votre environnement Code Editor.

Si vous ne voyez pas l’icône **Q**, votre administrateur doit la configurer pour vous. Pour plus d’informations sur la configuration d’Amazon Q Developer, consultez [Configuration d’Amazon Q Developer pour vos utilisateurs](studio-updated-amazon-q-admin-guide-set-up.md).

Amazon Q fournit automatiquement des suggestions pour vous aider à écrire votre code. Vous pouvez également demander des suggestions via l’interface de chat.

# JupyterLab guide de l'administrateur
<a name="studio-updated-jl-admin-guide"></a>

**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](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiques gérées pour Amazon SageMaker AI](security-iam-awsmanpol.md)qui 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.

Ce guide destiné aux administrateurs décrit les JupyterLab ressources d' SageMaker intelligence artificielle, telles que celles d'Amazon Elastic Block Store (Amazon EBS) et d'Amazon Elastic Compute Cloud (Amazon EC2). Les rubriques montrent également comment fournir un accès aux utilisateurs et modifier la taille du stockage. 

Un JupyterLab espace d' SageMaker IA est composé des ressources suivantes :
+ Un volume Amazon EBS distinct qui stocke toutes les données, telles que le code et les variables d’environnement. 
+ L’instance Amazon EC2 utilisée pour exécuter l’espace.
+ L'image utilisée pour exécuter JupyterLab.

**Note**  
Les applications n’ont pas accès au volume EBS des autres applications. Par exemple, l'éditeur de code, basé sur Code-OSS, Visual Studio Code - Open Source n'a pas accès au volume EBS pour. JupyterLab Pour plus d’informations sur les volumes EBS, consultez [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html).

Vous pouvez utiliser l' SageMaker API Amazon pour effectuer les opérations suivantes :
+ Modifier la taille de stockage par défaut du volume EBS pour vos utilisateurs.
+ Modifier la taille maximale du stockage EBS
+ Spécifier les paramètres utilisateur de l’application. Par exemple, vous pouvez spécifier si l’utilisateur utilise une image personnalisée ou un référentiel de code.
+ Spécifier le type d’application de support.

La taille par défaut du volume Amazon EBS est de 5 Go. Vous pouvez augmenter la taille de ce volume jusqu’à un maximum de 16 384 Go. Si vous ne faites rien, vos utilisateurs peuvent augmenter la taille de leur volume à 100 Go. La taille du volume ne peut être modifiée qu’une seule fois par période de six heures.

Les noyaux associés à l' JupyterLab application s'exécutent sur la même instance Amazon EC2 qui s'exécute. JupyterLab Lorsque vous créez un espace, la dernière version de l'image de SageMaker distribution est utilisée par défaut. Pour plus d'informations sur les images de SageMaker distribution, consultez[SageMaker Politique de prise en charge des images de studio](sagemaker-distribution.md).

**Important**  
Pour plus d'informations sur la mise à jour de l'espace afin d'utiliser la dernière version de l'image de distribution SageMaker AI, consultez[Mettre à jour l'image SageMaker de distribution](studio-updated-jl-update-distribution-image.md).

Le répertoire de travail de vos utilisateurs dans le volume de stockage est `/home/sagemaker-user`. Si vous spécifiez votre propre AWS KMS clé pour chiffrer le volume, tout le contenu du répertoire de travail est chiffré à l'aide de votre clé gérée par le client. Si vous ne spécifiez aucune AWS KMS clé, les données qu'elles contiennent `/home/sagemaker-user` sont chiffrées à l'aide d'une clé AWS gérée. Que vous spécifiiez ou non une AWS KMS clé, toutes les données situées en dehors du répertoire de travail sont chiffrées à l'aide d'une clé AWS gérée.

Les sections suivantes vous guident dans les procédures de configuration que vous devez effectuer en tant qu’administrateur.

**Topics**
+ [Octroi à vos utilisateurs de l’accès aux espaces](studio-updated-jl-admin-guide-permissions.md)
+ [Modifier la taille de stockage par défaut pour vos JupyterLab utilisateurs](studio-updated-jl-admin-guide-storage-size.md)
+ [Des configurations de cycle de vie avec JupyterLab](jl-lcc.md)
+ [Git se repose dans JupyterLab](studio-updated-jl-admin-guide-git-attach.md)
+ [Images personnalisées](studio-updated-jl-admin-guide-custom-images.md)
+ [Mettre à jour l'image SageMaker de distribution](studio-updated-jl-update-distribution-image.md)
+ [Suppression des ressources inutilisées](studio-updated-jl-admin-guide-clean-up.md)
+ [Quotas](studio-updated-jl-admin-guide-quotas.md)

# Octroi à vos utilisateurs de l’accès aux espaces
<a name="studio-updated-jl-admin-guide-permissions"></a>

Pour accorder aux utilisateurs l’accès à des espaces privés ou partagés, vous devez attacher une politique d’autorisations à leurs rôles IAM. Vous pouvez également utiliser la politique d’autorisations pour restreindre les espaces privés et les applications qui y sont associées à un profil utilisateur spécifique.

La politique d’autorisations suivante accorde l’accès aux espaces privés et partagés. Cela permet aux utilisateurs de créer leur propre espace et de répertorier d’autres espaces au sein de leur domaine. Un utilisateur soumis à cette politique ne peut pas accéder à l’espace privé d’un autre utilisateur. Pour en savoir plus sur les espaces Studio, consultez [Espaces Amazon SageMaker Studio](studio-updated-spaces.md).

La politique fournit aux utilisateurs des autorisations relatives aux éléments suivants :
+ Espaces privés ou espaces partagés.
+ Profil utilisateur pour accéder à ces espaces.

Pour fournir des autorisations, vous pouvez limiter les autorisations de la politique suivante et l’ajouter aux rôles IAM de vos utilisateurs. Vous pouvez également utiliser cette politique pour restreindre vos espaces, et les applications qui y sont associées, à un profil utilisateur spécifique.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {

      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:app/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:user-profile/sagemaker:DomainId/sagemaker:UserProfileName"
    },
    {
      "Sid": "SMStudioAppPermissionsListAndDescribe",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListApps",
        "sagemaker:ListDomains",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListSpaces",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeSpace"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SMStudioAppPermissionsTagOnCreate",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:*/*",
      "Condition": {
        "Null": {
          "sagemaker:TaggingAction": "false"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSharedSpacesWithoutOwners",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:space/sagemaker:DomainId/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSpacesToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:space/sagemaker:DomainId/*",
      "Condition": {
        "ArnLike": {
        "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-2:111122223333:user-profile/sagemaker:DomainId/sagemaker:UserProfileName"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private",
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-2:111122223333:app/sagemaker:DomainId/*",
      "Condition": {
        "ArnLike": {
          "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-2:111122223333:user-profile/sagemaker:DomainId/sagemaker:UserProfileName"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    }
  ]
}
```

------

# Modifier la taille de stockage par défaut pour vos JupyterLab utilisateurs
<a name="studio-updated-jl-admin-guide-storage-size"></a>

Vous pouvez modifier les paramètres de stockage par défaut de vos utilisateurs. Vous pouvez également modifier les paramètres de stockage par défaut en fonction des exigences de votre organisation et des besoins de vos utilisateurs.

Pour modifier la taille de stockage, cette section fournit des commandes permettant d’effectuer les opérations suivantes :

1. Mettez à jour les paramètres de stockage Amazon EBS dans le domaine Amazon SageMaker AI (domaine).

1. Créez un profil utilisateur et spécifiez les paramètres de stockage qu’il contient.

Utilisez les commandes suivantes AWS Command Line Interface (AWS CLI) pour modifier la taille de stockage par défaut.

Utilisez la AWS CLI commande suivante pour mettre à jour le domaine :

```
aws --region Région AWS sagemaker update-domain \
--domain-id domain-id \
--default-user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

Utilisez la AWS CLI commande suivante pour créer le profil utilisateur et définir les paramètres de stockage par défaut :

```
aws --region Région AWS sagemaker create-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

Utilisez les AWS CLI commandes suivantes pour mettre à jour les paramètres de stockage par défaut dans le profil utilisateur :

```
aws --region Région AWS sagemaker update-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":25,
            "MaximumEbsVolumeSizeInGb":200
        }
    }
}'
```

# Des configurations de cycle de vie avec JupyterLab
<a name="jl-lcc"></a>

Les configurations du cycle de vie sont des scripts shell déclenchés par des événements JupyterLab du cycle de vie, tels que le démarrage d'un nouveau JupyterLab bloc-notes. Vous pouvez utiliser les configurations du cycle de vie pour automatiser la personnalisation de votre JupyterLab environnement. Cette personnalisation comprend l’installation de packages personnalisés, la configuration d’extensions de bloc-notes, le préchargement de jeux de données et la configuration de référentiels de code source.

L'utilisation de configurations de cycle de vie vous offre la flexibilité et le contrôle JupyterLab nécessaires pour répondre à vos besoins spécifiques. Par exemple, vous pouvez créer un ensemble minimal d’images de conteneur de base avec les packages et les bibliothèques les plus couramment utilisés. Vous pouvez ensuite utiliser les configurations de cycle de vie pour installer des packages supplémentaires pour des cas d’utilisation spécifiques au sein de vos équipes de science des données et de machine learning.

**Note**  
Chaque script a une limite de **16 384 caractères**.

**Topics**
+ [Création d’une configuration de cycle de vie](jl-lcc-create.md)
+ [Débogage des configurations de cycle de vie](jl-lcc-debug.md)
+ [Détachement des configurations de cycle de vie](jl-lcc-delete.md)

# Création d’une configuration de cycle de vie
<a name="jl-lcc-create"></a>

Cette rubrique contient des instructions pour créer et associer une configuration de cycle de vie à JupyterLab. Vous utilisez le AWS Command Line Interface (AWS CLI) ou le AWS Management Console pour automatiser la personnalisation de votre JupyterLab environnement.

Les configurations du cycle de vie sont des scripts shell déclenchés par des événements JupyterLab du cycle de vie, tels que le démarrage d'un nouveau JupyterLab bloc-notes. Pour en savoir plus sur les configurations du cycle de vie, consultez [Des configurations de cycle de vie avec JupyterLab](jl-lcc.md).

## Création d’une configuration de cycle de vie (AWS CLI)
<a name="jl-lcc-create-cli"></a>

Découvrez comment créer une configuration du cycle de vie à l'aide du AWS Command Line Interface (AWS CLI) pour automatiser la personnalisation de votre environnement Studio.

### Conditions préalables
<a name="jl-lcc-create-cli-prerequisites"></a>

Avant de commencer, effectuez les opérations obligatoires suivantes : 
+ Mettez à jour le AWS CLI en suivant les étapes de [la section Installation de la AWS CLI version actuelle](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled).
+ À partir de votre ordinateur local, exécutez `aws configure` et fournissez vos informations d’identification AWS . Pour plus d'informations sur les AWS informations d'identification, voir [Comprendre et obtenir vos AWS informations d'identification](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
+ Intégré au domaine Amazon SageMaker AI. Pour obtenir des informations conceptuelles, consultez [Présentation du domaine Amazon SageMaker AI](gs-studio-onboard.md). Pour vous reporter à un guide de démarrage rapide, consultez [Utiliser la configuration rapide pour Amazon SageMaker AI](onboard-quick-start.md).

### Étape 1 : Créer une configuration de cycle de vie
<a name="jl-lcc-create-cli-step1"></a>

La procédure suivante montre comment créer un script de configuration du cycle de vie qui imprime `Hello World`.

**Note**  
Chaque script peut comporter jusqu’à **16 384 caractères**.

1. À partir de votre ordinateur local, créez un fichier nommé `my-script.sh` avec le contenu suivant :

   ```
   #!/bin/bash
   set -eux
   echo 'Hello World!'
   ```

1. Utilisez ce qui suit pour convertir votre fichier `my-script.sh` au format base64. Cette exigence évite les erreurs dues à l’encodage des espacements et des sauts de ligne.

   ```
   LCC_CONTENT=`openssl base64 -A -in my-script.sh`
   ```

1. Créez une configuration de cycle de vie à utiliser avec Studio. La commande suivante crée une configuration de cycle de vie qui s’exécute au lancement d’une application `JupyterLab` associée :

   ```
   aws sagemaker create-studio-lifecycle-config \
   --region region \
   --studio-lifecycle-config-name my-jl-lcc \
   --studio-lifecycle-config-content $LCC_CONTENT \
   --studio-lifecycle-config-app-type JupyterLab
   ```

   Notez l’ARN de la configuration de cycle de vie nouvellement créée qui est renvoyée. Cet ARN est requis pour attacher la configuration du cycle de vie à votre application.

### Étape 2 : associez la configuration du cycle de vie à votre domaine Amazon SageMaker AI (domaine) et à votre profil utilisateur
<a name="jl-lcc-create-cli-step2"></a>

Pour attacher la configuration de cycle de vie, vous devez mettre à jour le paramètre `UserSettings` pour votre domaine ou votre profil utilisateur. Les scripts de configuration du cycle de vie associés au niveau du domaine sont hérités par tous les utilisateurs. Toutefois, les scripts associés au niveau du profil utilisateur sont limités à un utilisateur spécifique. 

Vous pouvez créer un profil utilisateur, un domaine ou un espace nouveau avec une configuration de cycle de vie attachée à l’aide des commandes suivantes :
+ [create-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-user-profile.html)
+ [create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-domain.html)
+ [create-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-space.html)

La commande suivante crée un profil utilisateur avec une configuration de cycle de vie. Ajoutez l’ARN de la configuration de cycle de vie provenant de l’étape précédente au paramètre `JupyterLabAppSettings` de l’utilisateur. Vous pouvez ajouter plusieurs configurations de cycle de vie à la fois en transmettant une liste de telles configurations. Lorsqu'un utilisateur lance une JupyterLab application avec le AWS CLI, il peut spécifier une configuration de cycle de vie au lieu d'utiliser la configuration par défaut. La configuration de cycle de vie transmise par l’utilisateur doit figurer dans la liste des configurations de cycle de vie de `JupyterLabAppSettings`.

```
# Create a new UserProfile
aws sagemaker create-user-profile --domain-id domain-id \
--user-profile-name user-profile-name \
--region region \
--user-settings '{
"JupyterLabAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

## Création d’une configuration de cycle de vie (console)
<a name="jl-lcc-create-console"></a>

Découvrez comment créer une configuration du cycle de vie AWS Management Console à l'aide du pour automatiser la personnalisation de votre environnement Studio.

### Étape 1 : Créer une configuration de cycle de vie
<a name="jl-lcc-create-console-step1"></a>

Utilisez la procédure suivante pour créer un script de configuration de cycle de vie qui affiche `Hello World`.

**Pour créer une configuration de cycle de vie**

1. Ouvrez la console Amazon SageMaker AI à l'adresse [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Dans le panneau de navigation de gauche, choisissez **Configurations d’administrateur**.

1. Sous **Configurations d’administrateur**, choisissez **Configurations de cycle de vie**. 

1. Cliquez sur l'onglet **JupyterLab**.

1. Choisissez **Créer une configuration**.

1. Pour **Nom**, spécifiez le nom de la configuration de cycle de vie.

1. Dans la zone de texte située sous **Scripts**, spécifiez la configuration de cycle de vie suivante :

   ```
   #!/bin/bash
   set -eux
   echo 'Hello World!'
   ```

1. Choisissez **Créer une configuration**.

### Étape 2 : associez la configuration du cycle de vie à votre domaine Amazon SageMaker AI (domaine) et à votre profil utilisateur
<a name="jl-lcc-create-console-step2"></a>

Les scripts de configuration de cycle de vie associés au niveau du domaine sont hérités par tous les utilisateurs. Toutefois, les scripts associés au niveau du profil utilisateur sont limités à un utilisateur spécifique.

Vous pouvez associer plusieurs configurations de cycle de vie à un domaine ou à un profil utilisateur pour JupyterLab.

Utilisez la procédure suivante pour attacher une configuration de cycle de vie à un domaine.

**Pour attacher une configuration de cycle de vie à un domaine**

1. Ouvrez la console Amazon SageMaker AI à l'adresse [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Dans le panneau de navigation de gauche, choisissez **Configurations d’administrateur**.

1. Sous **Configurations d’administrateur**, choisissez **Domaines**. 

1. Dans la liste des domaines, sélectionnez le domaine auquel attacher la configuration de cycle de vie.

1. Sur la page **Détails du domaine**, cliquez sur l'onglet **Environnement**.

1. Sous **Configurations de cycle de vie pour les applications Studio personnelles**, choisissez **Attacher**.

1. Sous **Source**, choisissez **Existing configuration** (Configuration existante).

1. Sous **Configurations du cycle de vie Studio**, sélectionnez la configuration du cycle de vie créée à l’étape précédente.

1. Sélectionnez **Attach to domain** (Attacher au domaine).

Utilisez la procédure suivante pour attacher une configuration de cycle de vie à un profil utilisateur.

**Pour attacher une configuration de cycle de vie à un profil utilisateur**

1. Ouvrez la console Amazon SageMaker AI à l'adresse [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Dans le panneau de navigation de gauche, choisissez **Configurations d’administrateur**.

1. Sous **Configurations d’administrateur**, choisissez **Domaines**. 

1. Dans la liste des domaines, sélectionnez le domaine qui contient le profil utilisateur auquel attacher la configuration de cycle de vie.

1. Sous **Profils utilisateur**, sélectionnez le profil utilisateur.

1. Sur la page **User Details** (Détails de l’utilisateur), choisissez **Edit** (Modifier).

1. Dans le volet de navigation de gauche, choisissez **Studio**.

1. Sous **Lifecycle configurations attached to user** (Configurations du cycle de vie associées à l'utilisateur), choisissez **Attach** (Attacher).

1. Sous **Source**, choisissez **Existing configuration** (Configuration existante).

1. Sous **Studio lifecycle configurations** (Configurations du cycle de vie Studio), sélectionnez la configuration du cycle de vie créée à l'étape précédente.

1. Choisissez **Attach to user profile** (Attacher au profil utilisateur).

# Débogage des configurations de cycle de vie
<a name="jl-lcc-debug"></a>

Les rubriques suivantes montrent comment obtenir des informations sur vos configurations de cycle de vie et comment les déboguer.

**Topics**
+ [Vérifiez le processus de configuration du cycle de vie à partir CloudWatch des journaux](#jl-lcc-debug-logs)
+ [Expiration de la configuration de cycle de vie](#jl-lcc-debug-timeout)

## Vérifiez le processus de configuration du cycle de vie à partir CloudWatch des journaux
<a name="jl-lcc-debug-logs"></a>

Les configurations de cycle de vie ne journalisent que `STDOUT` et `STDERR`.

`STDOUT` est la sortie par défaut pour les scripts bash. Vous pouvez écrire dans `STDERR` ajoutant `>&2` à la fin d'une commande bash. Par exemple, `echo 'hello'>&2`. 

Les journaux de vos configurations de cycle de vie vous sont publiés Compte AWS via Amazon CloudWatch. Ces journaux se trouvent dans le flux de `/aws/sagemaker/studio` journaux de la CloudWatch console.

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Choisissez **Journaux** dans le volet de navigation de gauche. Dans le menu déroulant, sélectionnez **Groupes de journaux**.

1. Sur la page **Groupes de journaux**, recherchez `aws/sagemaker/studio`. 

1. Sélectionnez le groupe de journaux.

1. Sur la page **Informations de groupe de journaux**, cliquez sur l’onglet **Flux de journaux**.

1. Pour rechercher les journaux d’un espace spécifique, recherchez les flux de journaux en utilisant le format suivant :

   ```
   domain-id/space-name/app-type/default/LifecycleConfigOnStart
   ```

   Par exemple, pour rechercher les journaux de configuration de cycle de vie pour l’ID de domaine `d-m85lcu8vbqmz`, le nom d’espace `i-sonic-js` et le type d’application `JupyterLab`, utilisez la chaîne de recherche suivante :

   ```
   d-m85lcu8vbqmz/i-sonic-js/JupyterLab/default/LifecycleConfigOnStart
   ```

## Expiration de la configuration de cycle de vie
<a name="jl-lcc-debug-timeout"></a>

Le délai d’expiration de la configuration du cycle de vie est limité à 5 minutes. Si un script de configuration de cycle de vie prend plus de 5 minutes à s’exécuter, vous obtenez une erreur.

Pour résoudre cette erreur, veillez à ce que votre script de configuration de cycle de vie se termine en moins de 5 minutes. 

Pour vous aider à diminuer la durée de l’exécution de scripts, essayez ce qui suit :
+ Réduisez les étapes inutiles. Par exemple, limitez quels environnements conda peuvent installer de grands packages.
+ Exécutez les tâches en parallèle.
+ Utilisez la commande nohup dans votre script pour vous assurer que les signaux de coupure sont ignorés afin que le script s’exécute sans s’arrêter.

# Détachement des configurations de cycle de vie
<a name="jl-lcc-delete"></a>

Pour mettre à jour votre script, vous devez créer un nouveau script de configuration du cycle de vie et l'associer au domaine (domaine), au profil utilisateur ou à l'espace partagé Amazon SageMaker AI correspondant. Un script de configuration de cycle de vie ne peut pas être modifié après sa création. Pour plus d’informations sur la création et l’attachement de la configuration de cycle de vie, consultez [Création d’une configuration de cycle de vie](jl-lcc-create.md).

La section suivante montre comment détacher une configuration de cycle de vie à l’aide de l’ AWS Command Line Interface (AWS CLI).

## Détachez-le à l'aide du AWS CLI
<a name="jl-lcc-delete-cli"></a>

Pour détacher une configuration de cycle de vie à l’aide de l’AWS CLI, supprimez la configuration de cycle de vie souhaitée de la liste des configurations de cycle de vie attachées à la ressource. Vous transmettez ensuite la liste dans le cadre de la commande correspondante :
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)
+ [update-space](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-space.html)

Par exemple, la commande suivante supprime toutes les configurations de cycle de vie de l' JupyterLab application attachée au domaine.

```
aws sagemaker update-domain --domain-id domain-id \
--region region \
--default-user-settings '{
"JupyterLabAppSettings": {
  "LifecycleConfigArns":
    []
  }
}'
```

# Git se repose dans JupyterLab
<a name="studio-updated-jl-admin-guide-git-attach"></a>

JupyterLab propose une extension Git permettant de saisir l'URL d'un dépôt Git (repo), de le cloner dans un environnement, d'effectuer des modifications et d'afficher l'historique des validations. Vous pouvez également joindre le dépôt Git suggéré URLs à un domaine Amazon SageMaker AI (domaine) ou à un profil utilisateur.

Les sections suivantes montrent comment attacher ou détacher un dépôt URLs Git.

**Topics**
+ [Attachement d’un référentiel Git (AWS CLI)](studio-updated-git-attach-cli.md)
+ [Détacher le dépôt Git URLs](studio-updated-git-detach.md)

# Attachement d’un référentiel Git (AWS CLI)
<a name="studio-updated-git-attach-cli"></a>

Cette section explique comment joindre l'URL d'un dépôt Git (repo) à l'aide du AWS CLI. Après avoir attaché l’URL du référentiel Git, vous pouvez le cloner en suivant les étapes décrites dans [Cloner un dépôt Git dans Amazon Studio SageMaker](#studio-updated-tasks-git).

## Conditions préalables
<a name="studio-updated-git-attach-cli-prerequisites"></a>

Avant de commencer, effectuez les opérations obligatoires suivantes : 
+ Mettez à jour le AWS CLI en suivant les étapes de [la section Installation de la AWS Command Line Interface version actuelle](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled).
+ À partir de votre ordinateur local, exécutez `aws configure` et fournissez vos informations d’identification AWS . Pour plus d'informations sur les AWS informations d'identification, voir [Comprendre et obtenir vos AWS informations d'identification](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html). 
+ Intégré au domaine Amazon SageMaker AI. Pour de plus amples informations, veuillez consulter [Présentation du domaine Amazon SageMaker AI](gs-studio-onboard.md).

## Joindre le dépôt Git à un domaine (domaine) ou à un profil utilisateur Amazon SageMaker AI
<a name="studio-updated-git-attach-cli-attach"></a>

Les dépôts URLs Git associés au niveau du domaine sont hérités par tous les utilisateurs. Toutefois, les dépôts URLs Git associés au niveau du profil utilisateur sont limités à un utilisateur spécifique. Vous pouvez associer plusieurs dépôts Git URLs à un domaine Amazon SageMaker AI ou à un profil utilisateur en transmettant une liste de référentiels URLs.

Les sections suivantes montrent comment attacher une URL de référentiel Git à votre domaine ou profil utilisateur.

### Associer à un domaine Amazon SageMaker AI
<a name="studio-updated-git-attach-cli-attach-domain"></a>

La commande suivante attache l’URL d’un référentiel Git à un domaine existant : 

```
aws sagemaker update-domain --region region --domain-id domain-id \
    --default-user-settings JupyterLabAppSettings={CodeRepositories=[{RepositoryUrl="repository"}]}
```

### Attacher à un profil utilisateur
<a name="studio-updated-git-attach-cli-attach-userprofile"></a>

La commande suivante attache l’URL d’un référentiel Git à un profil utilisateur existant :

```
aws sagemaker update-user-profile --domain-id domain-id --user-profile-name user-name\
    --user-settings JupyterLabAppSettings={CodeRepositories=[{RepositoryUrl="repository"}]}
```

## Cloner un dépôt Git dans Amazon Studio SageMaker
<a name="studio-updated-tasks-git"></a>

Amazon SageMaker Studio se connecte uniquement à un dépôt Git local. Pour accéder aux fichiers du référentiel, clonez le référentiel Git depuis Studio. Pour cela, Studio offre une extension Git permettant de saisir l’URL d’un référentiel Git, de le cloner dans votre environnement, de lui envoyer (push) des modifications et de consulter l’historique des validations. 

Si le référentiel est privé et que son accès nécessite des informations d’identification, vous recevez une invite à saisir vos informations d’identification utilisateur. Vos informations d’identification incluent votre nom d’utilisateur et votre jeton d’accès personnel. Pour plus d’informations sur les jetons d’accès personnels, consultez [Gestion de vos jetons d’accès personnels](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens).

Les administrateurs peuvent également joindre le référentiel Git suggéré URLs au niveau du domaine Amazon SageMaker AI ou du profil utilisateur. Les utilisateurs peuvent ensuite sélectionner l’URL du référentiel dans la liste des suggestions et la cloner dans Studio. Pour plus d’informations sur l’attachement de référentiels suggérés, consultez [Joindre des dépôts Git suggérés à Amazon SageMaker Studio Classic](studio-git-attach.md).

# Détacher le dépôt Git URLs
<a name="studio-updated-git-detach"></a>

Cette section explique comment détacher le référentiel Git URLs d'un domaine Amazon SageMaker AI (domaine) ou d'un profil utilisateur. Vous pouvez détacher le dépôt à l'aide URLs de la AWS Command Line Interface (AWS CLI) ou de la console Amazon SageMaker AI.

## Détachez un dépôt Git à l'aide du AWS CLI
<a name="studio-updated-git-detach-cli"></a>

Pour détacher tous les dépôts Git URLs d'un domaine ou d'un profil utilisateur, vous devez transmettre une liste vide de référentiels de code. Cette liste est transmise en tant que paramètre `JupyterLabAppSettings` dans une commande `update-domain` ou `update-user-profile`. Pour ne détacher qu’une seule URL de référentiel Git, transmettez la liste des référentiels de code sans l’URL de référentiel Git souhaitée. 

### Se détacher d'un domaine Amazon SageMaker AI
<a name="studio-updated-git-detach-cli-domain"></a>

La commande suivante détache tous les dépôts Git URLs d'un domaine :

```
aws sagemaker update-domain --region region --domain-name domain-name \
    --domain-settings JupyterLabAppSettings={CodeRepositories=[]}
```

### Détachement d’un profil utilisateur
<a name="studio-updated-git-detach-cli-userprofile"></a>

La commande suivante détache tous les dépôts Git URLs d'un profil utilisateur :

```
aws sagemaker update-user-profile --domain-name domain-name --user-profile-name user-name\
    --user-settings JupyterLabAppSettings={CodeRepositories=[]}
```

# Images personnalisées
<a name="studio-updated-jl-admin-guide-custom-images"></a>

Si vous avez besoin de fonctionnalités différentes de celles fournies par SageMaker la distribution, vous pouvez apporter votre propre image avec vos extensions et packages personnalisés. Vous pouvez également l'utiliser pour personnaliser l' JupyterLab interface utilisateur en fonction de vos propres besoins en matière de marque ou de conformité.

La page suivante fournit des informations JupyterLab spécifiques et des modèles pour créer vos propres images d' SageMaker IA personnalisées. Ceci est destiné à compléter les informations et les instructions d'Amazon SageMaker Studio sur la création de votre propre image SageMaker AI et l'intégration de votre propre image dans Studio. Pour en savoir plus sur les images Amazon SageMaker AI personnalisées et sur la manière d'intégrer votre propre image dans Studio, consultez[Apporter votre propre image (BYOI)](studio-updated-byoi.md). 

**Topics**
+ [Surveillance de l’état et URL des applications](#studio-updated-jl-admin-guide-custom-images-app-healthcheck)
+ [Exemples de fichiers Docker](#studio-updated-jl-custom-images-dockerfile-templates)

## Surveillance de l’état et URL des applications
<a name="studio-updated-jl-admin-guide-custom-images-app-healthcheck"></a>
+ `Base URL` : l’URL de base de l’application BYOI doit être `jupyterlab/default`. Vous ne pouvez avoir qu’une seule application et elle doit toujours être nommée `default`.
+ `HealthCheck API`— L' SageMaker IA utilise le point de contrôle de santé du port `8888` pour vérifier l'état de santé de l' JupyterLabapplication. `jupyterlab/default/api/status`est le point final du bilan de santé.
+ `Home/Default URL`— Les `/opt/ml` répertoires `/opt/.sagemakerinternal` et utilisés par AWS. Le fichier de métadonnées dans `/opt/ml` contient des métadonnées sur des ressources telles que `DomainId`.
+ Authentification : pour activer l’authentification de vos utilisateurs, désactivez l’authentification par mot de passe ou par jeton de bloc-notes Jupyter, et autorisez toutes les origines.

## Exemples de fichiers Docker
<a name="studio-updated-jl-custom-images-dockerfile-templates"></a>

Les exemples suivants sont des fichiers `Dockerfile` qui répondent aux informations ci-dessus et aux [Spécifications d’images personnalisées](studio-updated-byoi-specs.md).

**Note**  
Si vous apportez votre propre image à SageMaker Unified Studio, vous devez suivre les [spécifications Dockerfile](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) du guide de l'*utilisateur d'Amazon SageMaker Unified Studio*.  
`Dockerfile`vous trouverez des exemples d' SageMaker Unified Studio dans l'[exemple Dockerfile du guide](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) de l'*utilisateur d'Amazon SageMaker Unified Studio*.

------
#### [ Example AL2023 Dockerfile ]

L’exemple suivant est un fichier Dockerfile AL2023 qui répond aux informations ci-dessus et aux [Spécifications d’images personnalisées](studio-updated-byoi-specs.md).

```
FROM public.ecr.aws/amazonlinux/amazonlinux:2023

ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

# Install Python3, pip, and other dependencies
RUN yum install -y \
    python3 \
    python3-pip \
    python3-devel \
    gcc \
    shadow-utils && \
    useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \
    yum clean all

RUN python3 -m pip install --no-cache-dir \
    'jupyterlab>=4.0.0,<5.0.0' \
    urllib3 \
    jupyter-activity-monitor-extension \
    --ignore-installed

# Verify versions
RUN python3 --version && \
    jupyter lab --version

USER ${NB_UID}
CMD jupyter lab --ip 0.0.0.0 --port 8888 \
    --ServerApp.base_url="/jupyterlab/default" \
    --ServerApp.token='' \
    --ServerApp.allow_origin='*'
```

------
#### [ Example  SageMaker Distribution sur Amazon Dockerfile ]

L’exemple suivant est un fichier Dockerfile Amazon SageMaker Distribution qui répond aux informations ci-dessus et aux [Spécifications d’images personnalisées](studio-updated-byoi-specs.md).

```
FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

ENV MAMBA_USER=$NB_USER

USER root

RUN apt-get update
RUN micromamba install sagemaker-inference --freeze-installed --yes --channel conda-forge --name base

USER $MAMBA_USER

ENTRYPOINT ["entrypoint-jupyter-server"]
```

------

# Mettre à jour l'image SageMaker de distribution
<a name="studio-updated-jl-update-distribution-image"></a>

**Important**  
Cette rubrique suppose que vous avez créé un espace et que vous avez accordé à l’utilisateur l’accès à celui-ci. Pour de plus amples informations, veuillez consulter [Octroi à vos utilisateurs de l’accès aux espaces](studio-updated-jl-admin-guide-permissions.md).

Mettez à jour les JupyterLab espaces que vous avez déjà créés pour utiliser la dernière version de l'image de SageMaker distribution afin d'accéder aux dernières fonctionnalités. Vous pouvez utiliser l'interface utilisateur de Studio ou le AWS Command Line Interface (AWS CLI) pour mettre à jour l'image.

Les sections suivantes fournissent des informations sur la mise à jour d’une image.

## Mise à jour de l’image (UI)
<a name="studio-updated-jl-update-distribution-image-ui"></a>

La mise à jour de l'image implique le redémarrage de l' JupyterLab espace de votre utilisateur. Suivez la procédure ci-dessous pour mettre à jour l' JupyterLab espace utilisateur avec la dernière image.

**Pour mettre à jour l’image (UI)**

1. Ouvrez Studio. Pour en savoir plus sur l’ouverture de Studio, consultez [Lancez Amazon SageMaker Studio](studio-updated-launch.md).

1. Sélectionnez **JupyterLab**.

1. Sélectionnez l' JupyterLab espace de votre utilisateur.

1. Choisissez **Arrêter l’espace**.

1. Pour **Image**, sélectionnez une version mise à jour de l'image de distribution SageMaker AI. Pour l’image la plus récente, choisissez **La plus récente**.

1. Choisissez **Exécuter Space**.

## Mise à jour de l’image (AWS CLI)
<a name="studio-updated-jl-update-distribution-image-cli"></a>

Cette section suppose que vous avez installé le AWS Command Line Interface (AWS CLI). Pour plus d'informations sur l'installation du AWS CLI, voir [Installer ou mettre à jour vers la dernière version du AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

Pour mettre à jour l’image, vous devez effectuer les opérations suivantes pour l’espace de votre utilisateur :

1. Supprimer l' JupyterLab application

1. Mettez à jour l’espace.

1. Pour créer l’application 

**Important**  
Vous devez avoir préparé les informations suivantes avant de commencer la mise à jour de l’image :  
ID de domaine : ID du domaine Amazon SageMaker AI de votre utilisateur.
Type de demande — JupyterLab.
Nom de l’application : valeur par défaut.
Nom de l’espace : nom spécifié pour l’espace.
Type d’instance : type d’instance Amazon EC2 que vous utilisez pour exécuter l’application. Par exemple, `ml.t3.medium`.
SageMaker ARN de l'image : nom de ressource Amazon (ARN) de l'image de distribution SageMaker AI. Vous pouvez fournir la dernière version de l'image de distribution SageMaker AI en spécifiant l'un ou l'autre identifiant de ressource `sagemaker-distribution-cpu` ou `sagemaker-distribution-gpu` en tant qu'identifiant de ressource.

Pour supprimer l' JupyterLab application, exécutez la commande suivante :

```
aws sagemaker delete-app \
--domain-id your-user's-domain-id 
--app-type JupyterLab \
--app-name default \
--space-name name-of-your-user's-space
```

Pour mettre à jour l’espace de votre utilisateur, exécutez la commande suivante :

```
aws sagemaker update-space \
--space-name name-of-your-user's-space \
--domain-id your-user's-domain-id
```

Si vous avez correctement mis à jour l’espace, vous verrez l’ARN de l’espace dans la réponse :

```
{
"SpaceArn": "arn:aws:sagemaker:Région AWS:111122223333:space/your-user's-domain-id/name-of-your-user's-space"
}
```

Pour créer l’application, exécutez la commande suivante :

```
aws sagemaker create-app \
--domain-id your-user's-domain-id  \
--app-type JupyterLab \
--app-name default \
--space-name name-of-your-user's-space \
--resource-spec "InstanceType=instance-type,SageMakerImageArn=arn:aws:sagemaker:Région AWS:555555555555:image/sagemaker-distribution-resource-identifier"
```

# Suppression des ressources inutilisées
<a name="studio-updated-jl-admin-guide-clean-up"></a>

Pour éviter d'encourir des coûts supplémentaires JupyterLab, nous vous recommandons de supprimer les ressources inutilisées dans l'ordre suivant :

1. JupyterLab applications

1. Espaces

1. Profils utilisateurs

1. domains

Utilisez les commandes suivantes AWS Command Line Interface (AWS CLI) pour supprimer les ressources d'un domaine :

------
#### [ Delete a JupyterLab application ]

```
aws --region Région AWS sagemaker delete-app --domain-id example-domain-id --app-name default --app-type JupyterLab --space-name example-space-name
```

------
#### [ Delete a space ]

**Important**  
Si vous supprimez un espace, vous supprimez le volume Amazon EBS qui lui est associé. Nous vous recommandons de sauvegarder toutes vos données utiles avant de supprimer votre espace.

```
aws --region Région AWS sagemaker delete-space --domain-id example-domain-id  --space-name example-space-name
```

------
#### [ Delete a user profile ]

```
aws --region Région AWS sagemaker delete-user-profile --domain-id example-domain-id --user-profile example-user-profile
```

------

# Quotas
<a name="studio-updated-jl-admin-guide-quotas"></a>

JupyterLab, dispose de quotas pour les éléments suivants :
+ Somme de tous les volumes Amazon EBS au sein d’un Compte AWS.
+ Types d’instance disponibles pour vos utilisateurs.
+ Nombre d’instances que vos utilisateurs peuvent lancer pour une instance spécifique.

Pour augmenter le stockage et les capacités de calcul de vos utilisateurs, demandez une augmentation de vos quotas AWS . Pour plus d'informations sur la demande d'augmentation de quota, consultez [Amazon SageMaker AI Endpoints and Quotas](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html).