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
-
Créez le Dockerfile
-
Créez l'image à partir du Dockerfile
-
Téléchargez l'image sur Amazon Elastic Container Registry
-
Joignez l'image à votre SageMaker domaine Amazon
-
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-stdin123456789012
.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 :
-
Ouvrez la SageMaker console
. -
Sous Configurations d'administrateur, choisissez Domaines.
-
Dans la liste des domaines, sélectionnez un domaine.
-
Ouvrez l'onglet Environnement.
-
Pour les images personnalisées pour les applications Studio personnelles, choisissez Joindre une image.
-
Spécifiez la source de l'image. Vous pouvez créer une nouvelle image ou choisir une image existante.
-
Choisissez Suivant.
-
Choisissez l'éditeur de code comme type d'application.
-
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 :
-
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
-
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
-
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 vosContainerConfig
arguments ici.{ "AppImageConfigName":
"code-editor-app-image-config"
, "CodeEditorAppImageConfig": { "ContainerConfig": {} } } -
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
-
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"
} ] } } } -
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.
-
Si vous utilisez la SageMaker console, passez par les étapes 1 à 5d et 6 à 7d de la section Supprimer un domaine (console).
-
Si vous utilisez le AWS CLI, passez aux étapes 1 à 3 de la section Supprimer un domaine (AWS CLI).
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.