Création d'une configuration de cycle de vie à partir d' AWS CLI - 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.

Création d'une configuration de cycle de vie à partir d' AWS CLI

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.

La rubrique suivante explique comment créer une configuration de cycle de vie AWS CLI à l'aide du pour automatiser la personnalisation de votre environnement Studio Classic.

Prérequis

Avant de commencer, effectuez les opérations obligatoires suivantes :

Étape 1 : Créer une 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.

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

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

    Notez la configuration ARN du cycle de vie nouvellement créée qui est renvoyée. Cela ARN est nécessaire pour associer la configuration du cycle de vie à votre application.

Étape 2 : Attacher la configuration de cycle de vie à votre domaine, profil utilisateur ou espace partagé

Pour attacher la configuration de cycle de vie, vous devez mettre à jour UserSettings pour votre domaine ou votre profil utilisateur, ou SpaceSettings pour un espace partagé. 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, tandis que les scripts associés au niveau de l'espace partagé sont limités à l'espace partagé.

L'exemple suivant montre comment créer un profil utilisateur auquel la configuration du cycle de vie est attachée. Vous pouvez également créer un domaine ou un espace avec une configuration de cycle de vie attachée à l'aide des commandes create-domain et create-space, respectivement.

Ajoutez la configuration du cycle ARN de vie de l'étape précédente aux paramètres du type d'application approprié. Par exemple, placez-le dans les JupyterServerAppSettings de l'utilisateur. Vous pouvez ajouter plusieurs configurations de cycle de vie à la fois en transmettant une liste de configurations de cycle de vie. Lorsqu'un utilisateur lance une JupyterServer application avec le AWS CLI, il peut transmettre une configuration de cycle de vie à utiliser au lieu de 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 JupyterServerAppSettings.

# 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] } }'

L'exemple suivant montre comment mettre à jour un espace partagé existant pour y attacher la configuration de cycle de vie. Vous pouvez également mettre à jour un domaine ou un profil utilisateur existant avec une configuration de cycle de vie associée à l'aide de la commande update-domain. update-user-profile Lorsque vous mettez à jour la liste des configurations de cycle de vie attachées, vous devez transmettre toutes les configurations de cycle de vie dans la liste. Si une configuration de cycle de vie ne figure pas dans cette liste, elle ne sera pas attachée à l'application.

aws sagemaker update-space --domain-id domain-id \ --space-name space-name \ --region region \ --space-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": [lifecycle-configuration-arn-list] } }'

Pour plus d'informations sur la définition d'une configuration de cycle de vie par défaut pour une ressource, consultez Définition de configurations de cycle de vie par défaut.

Étape 3 : Lancer une application avec la configuration de cycle de vie

Après avoir attaché une configuration de cycle de vie à un domaine, un profil utilisateur ou un espace, l'utilisateur peut la sélectionner lors du lancement d'une application avec AWS CLI. Cette section explique comment lancer une application associée à une configuration du cycle de vie. Pour plus d'informations sur la modification de la configuration du cycle de vie par défaut après le lancement d'une JupyterServer application, consultezDéfinition de configurations de cycle de vie par défaut.

Lancez le type d'application souhaité à l'aide de la create-app commande et spécifiez la configuration du cycle de vie ARN dans l'resource-specargument.

  • L'exemple suivant montre comment créer une application JupyterServer avec une configuration de cycle de vie associée. Lors de la création de JupyterServer, app-name doit être default. La configuration du cycle de vie ARN transmise dans le cadre du resource-spec paramètre doit faire partie de la liste des configurations de cycle de vie ARNs spécifiée UserSettings pour votre domaine ou votre profil utilisateur, ou SpaceSettings pour un espace partagé.

    aws sagemaker create-app --domain-id domain-id \ --region region \ --user-profile-name user-profile-name \ --app-type JupyterServer \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn \ --app-name default
  • L'exemple suivant montre comment créer une application KernelGateway avec une configuration de cycle de vie associée.

    aws sagemaker create-app --domain-id domain-id \ --region region \ --user-profile-name user-profile-name \ --app-type KernelGateway \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn,SageMakerImageArn=sagemaker-image-arn,InstanceType=instance-type \ --app-name app-name