Création et association d'une configuration de cycle de vie - Amazon SageMaker

Création et association d'une configuration de cycle de vie

Les applis Amazon SageMaker Studio sont des applications interactives qui fournissent l'interface visuelle de Studio, la création de code et l'expérience d'exécution. Les types d'applis peuvent être JupyterServer ou KernelGateway.

  • Applis JupyterServer : ce type d'application permet d'accéder à l'interface visuelle de Studio. Chaque utilisateur de Studio obtient sa propre application JupyterServer.

  • Applis KernelGateway : ce type d'application permet d'accéder à l'environnement d'exécution de code et aux noyaux pour vos blocs-notes et terminaux Studio. Pour plus d'informations, veuillez consulter Passerelle du kernel Jupyter.

Pour plus d'informations sur l'architecture de Studio et les applis Studio, veuillez consulter Utiliser les blocs-notes Amazon SageMaker Studio.

Prerequisites

Étape 1 : créer une nouvelle configuration de cycle de vie

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

  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!'
  2. Convertissez 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 -in my-script.sh`
  3. Créez une configuration de cycle de vie Studio. La commande suivante crée une configuration de cycle de vie qui s'exécute au lancement d'une appli KernelGateway associée.

    aws sagemaker create-studio-lifecycle-config \ --region <your-region> \ --studio-lifecycle-config-name my-studio-lcc \ --studio-lifecycle-config-content $LCC_CONTENT \ --studio-lifecycle-config-app-type KernelGateway

    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 : attacher la configuration du cycle de vie à votre domaine ou UserProfil (Profil utilisateur) Studio

Vous devez mettre à jour les UserSettings (Paramètres utilisateur) de votre domaine Studio ou un UserProfil (Profil utilisateur) individuel pour attacher la configuration du cycle de vie. Les scripts de configuration du cycle de vie associés au niveau du domaine sont hérités par tous les utilisateurs, tandis que ceux associés au niveau du UserProfil (Profil utilisateur) sont limités à un utilisateur spécifique.

L'exemple suivant montre comment créer un UserProfile (Profil utilisateur) auquel la configuration du cycle de vie est attachée. Si vous souhaitez mettre à jour un UserProfile (Profil utilisateur) existant, utilisez la commande update-user-profile à la place.

Ajoutez l'ARN de configuration du cycle de vie de l'étape précédente aux paramètres de l'AppType (Type d'appli) approprié. Par exemple, placez-le dans les JupyterServerAppSettings de l'utilisateur. Vous pouvez ajouter plusieurs configurations de cycle de vie à la fois en utilisant une liste de configurations de cycle de vie.

# Create a new UserProfile aws sagemaker create-user-profile --domain-id <DOMAIN-ID> \ --user-profile-name <USER-PROFILE-NAME> \ --region <REGION> \ --user-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": ["<LIFECYCLE-CONFIGURATION-ARN-LIST>"] } }'

Étape 3 : choisir une configuration du cycle de vie lors du lancement d'une nouvelle appli

Après avoir attaché une configuration de cycle de vie à un UserProfile (Profil utilisateur), l'utilisateur peut la sélectionner lors du lancement d'une appli. Les deux méthodes pour lancer une appli utilisent l'AWS CLI et Studio Launcher. Les sections suivantes décrivent comment lancer une application à l'aide de ces deux méthodes.

Lancement d'une application à l'aide de l'AWS CLI

Lancez l'application et spécifiez l'ARN de configuration du cycle de vie dans l'argument ResourceSpec de l'API CreateApp.

  • L'exemple suivant montre comment créer une application JupyterServer. Lors de la création d'une appli JupyterServer, le nom de l'appli doit être default.

    aws sagemaker create-app --domain-id <DOMAIN-ID> \ --region <YOUR-REGION> \ --user-profile-name <USERPROFILE-NAME> \ --app-type JupyterServer \ --resource-spec LifecycleConfigArn=<LIFECYCLE-CONFIGURATION-ARN> \ --app-name default
  • L'exemple suivant montre comment créer une appli KernelGateway.

    aws sagemaker create-app --domain-id <DOMAIN-ID> \ --region <YOUR-REGION> \ --user-profile-name <USERPROFILE-NAME> \ --resource-spec LifecycleConfigArn=<LIFECYCLE-CONFIGURATION-ARN>,SageMakerImageArn=<SAGEMAKER-IMAGE-ARN>,InstanceType=<INSTANCE-TYPE> \ --app-type KernelGateway \ --app-name <APP-NAME>

Lancer une application KernelGateway à l'aide de Studio Launcher

  1. Lancez le domaine Studio. Pour de plus amples informations, veuillez consulter . Utilisation du lanceur Amazon SageMaker Studio.

  2. Dans le lanceur, accédez à la section Notebooks and compute resources.

  3. Sélectionnez votre image SageMaker.

  4. Sélectionnez un script de démarrage. S'il n'y a pas de configuration de cycle de vie par défaut, cette valeur par défaut est No script. Sinon, cette valeur est égale à votre configuration de cycle de vie par défaut. Une fois que vous avez sélectionné une configuration de cycle de vie, vous pouvez afficher l'intégralité du script.

  5. Sélectionnez Notebook pour lancer un nouveau noyau de bloc-notes avec l'image sélectionnée et la configuration du cycle de vie.

Étape 4 : afficher les journaux d'une configuration du cycle de vie

Vous pouvez afficher les journaux de votre configuration de cycle de vie une fois qu'elle a été associée à un domaine ou à un UserProfil (Profil utilisateur) Studio.

  1. Pour afficher les journaux CloudWatch pour votre configuration de cycle de vie, vous devez d'abord fournir l'accès à CloudWatch pour votre rôle IAM. Vous avez besoin d'autorisations de lecture pour le groupe de journaux /aws/sagemaker/studio et le flux de journaux {Domain}/{UserProfile}/{AppType}/{AppName}/LifecycleConfigOnStart suivants. Pour plus d'informations sur l'ajout d'autorisations, veuillez consulter Activation de la journalisation à partir de certains services AWS.

  2. Pour surveiller une configuration de cycle de vie, accédez à l'onglet Running instances .

  3. Sélectionnez une appli dans la liste des applis en cours d'exécution. Les applis avec des configurations de cycle de vie attachées ont une icône d'indicateur attachée .

  4. Cliquez sur l'icône de l'indicateur de votre appli. Cela ouvre un nouveau panneau qui répertorie les configurations de cycle de vie.

  5. Dans le nouveau panneau, sélectionnez View logs. Un nouvel onglet s'ouvre alors et affiche les journaux.