Permettre aux utilisateurs d'accéder à des images personnalisées - 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.

Permettre aux utilisateurs d'accéder à des images personnalisées

Cette documentation fournit des step-by-step instructions pour permettre à vos utilisateurs d'accéder à des images personnalisées pour leurs environnements d'éditeur de code. Vous pouvez utiliser les informations de cette page pour créer des environnements personnalisés pour les flux de travail de vos utilisateurs. Le processus consiste à utiliser :

  • Docker

  • AWS Command Line Interface

  • Amazon Elastic Container Registry

  • Amazon SageMaker AWS Management Console

Après avoir suivi les instructions de cette page, les utilisateurs de code Editor du SageMaker domaine Amazon auront accès à l'image et à l'environnement personnalisés depuis leurs espaces d'éditeur de code afin de renforcer leurs flux de travail d'apprentissage automatique.

Important

Cette page part du principe que vous disposez AWS Command Line Interface des Docker installé sur votre machine locale.

Pour que vos utilisateurs exécutent correctement leur image dans l'éditeur de code, vous devez effectuer les opérations suivantes :

Pour que vos utilisateurs exécutent correctement l'image
  1. Créez le Dockerfile

  2. Créez l'image à partir du Dockerfile

  3. Téléchargez l'image sur Amazon Elastic Container Registry

  4. Joignez l'image à votre SageMaker domaine Amazon

  5. Permettez à vos utilisateurs d'accéder à l'image depuis leur espace éditeur de code

Étape 1 : créer le Dockerfile

Créez un Dockerfile pour définir les étapes nécessaires à la création de l'environnement nécessaire pour exécuter l'application dans le conteneur de votre utilisateur.

Important

Votre Dockerfile doit répondre aux spécifications fournies dans. Spécifications de Dockerfile

Pour des exemples de fichiers Docker au format correct, consultez. Exemples de fichiers Dockerfile

Étape 2 : créer le Dockerfile

Dans le même répertoire que votre Dockerfile, créez votre image à l'aide de la commande suivante :

docker build -t username/imagename:tag your-account-id.dkr.ecr.Région AWS.amazonaws.com/your-repository-name:tag
Important

Votre image doit être balisée dans le format suivant : 123456789012.dkr.ecr.your-region.amazonaws.com/your-repository-name:tag

Sinon, vous ne pourrez pas le transférer vers un référentiel Amazon Elastic Container Registry.

Étape 3 : transférer l'image vers le référentiel Amazon Elastic Container Registry

Après avoir créé votre image, connectez-vous à votre ECR référentiel Amazon à l'aide de la commande suivante :

aws ecr get-login-password --region Région AWS | docker login --username AWS --password-stdin 123456789012.dkr.ecr.Région AWS.amazonaws.com

Une fois connecté, envoyez votre Dockerfile à l'aide de la commande suivante :

docker push 123456789012.dkr.ecr.Région AWS.amazonaws.com/your-repository-name:tag

Étape 4 : Joindre une image au SageMaker domaine Amazon de vos utilisateurs

Après avoir envoyé l'image, vous devez y accéder depuis votre SageMaker domaine Amazon à l'aide de la SageMaker console ou du AWS CLI.

Joindre l'image à l'aide de la SageMaker console

Pour associer l'image à un SageMaker domaine via la SageMaker console, procédez comme suit :

  1. Ouvrez la SageMaker console.

  2. Sous Configurations d'administrateur, choisissez Domaines.

  3. Dans la liste des domaines, sélectionnez un domaine.

  4. Ouvrez l'onglet Environnement.

  5. Pour les images personnalisées pour les applications Studio personnelles, choisissez Joindre une image.

  6. Spécifiez la source de l'image. Vous pouvez créer une nouvelle image ou choisir une image existante.

  7. Choisissez Suivant.

  8. Choisissez l'éditeur de code comme type d'application.

  9. Sélectionnez Envoyer.

Joignez l'image à l'aide du AWS CLI

Utilisez la procédure suivante pour associer l'image à un SageMaker domaine via AWS CLI  :

  1. Créez une SageMaker image. La AmazonSageMakerFullAccess politique ARN doit être attachée au rôle.

    aws sagemaker create-image \ --image-name code-editor-custom-image \ --role-arn arn:aws:iam::account-id:role/service-role/execution-role
  2. Créez une version SageMaker d'image à partir de l'image. Transmettez la valeur de balise unique que vous avez choisie lorsque vous avez envoyé l'image à AmazonECR.

    aws sagemaker create-image-version \ --image-name code-editor-custom-image \ --base-image repository-uri:tag
  3. Créez un fichier de configuration appeléapp-image-config-input.json. La configuration de l'image de l'application est utilisée comme configuration pour exécuter une SageMaker image en tant qu'application d'éditeur de code. Vous pouvez également préciser vos ContainerConfigarguments ici.

    { "AppImageConfigName": "code-editor-app-image-config", "CodeEditorAppImageConfig": { "ContainerConfig": {} } }
  4. Créez le AppImageConfig à l'aide du fichier de configuration d'image d'application que vous avez créé.

    aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json
  5. Créez un fichier de configuration nommé updateDomain.json. N'oubliez pas de spécifier votre identifiant de domaine.

    { "DomainId": "domain-id", "DefaultUserSettings": { "CodeEditorAppSettings": { "CustomImages": [ { "ImageName": "code-editor-custom-image", "AppImageConfigName": "code-editor-app-image-config" } ] } } }
  6. Appelez la UpdateDomain commande avec le fichier de configuration en entrée.

    Note

    Vous devez supprimer toutes les applications de votre domaine avant de mettre à jour le domaine avec la nouvelle image. Notez que vous devez uniquement supprimer des applications ; vous n'avez pas besoin de supprimer des profils utilisateur ou des espaces partagés. Pour obtenir des instructions sur la suppression d'applications, choisissez l'une des options suivantes.

    aws sagemaker update-domain --cli-input-json file://updateDomain.json

Étape 5 : demandez à vos utilisateurs d'accéder à l'image depuis leur espace éditeur de code

Vos utilisateurs peuvent désormais sélectionner l'image que vous avez attachée à leur domaine depuis leur espace éditeur de code.

Pour plus d'informations sur la sélection d'une image personnalisée, consultezLancer une application d'éditeur de code dans Studio.