Création d'une SageMaker image personnalisée - 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 SageMaker image personnalisée

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.

Cette rubrique décrit comment créer une SageMaker image personnalisée à l'aide de la SageMaker console ou AWS CLI.

Lorsque vous créez une image à partir de la console, une version initiale de l'image est SageMaker également créée. La version image représente une image de conteneur dans Amazon Elastic Container Registry (ECR). L'image du conteneur doit satisfaire aux exigences pour être utilisée dans Amazon SageMaker Studio Classic. Pour de plus amples informations, veuillez consulter Spécifications SageMaker d'image personnalisées. Pour plus d'informations sur le test local de votre image et la résolution des problèmes courants, consultez le référentiel d'exemples d'images personnalisées de SageMaker Studio Classic.

Après avoir créé votre SageMaker image personnalisée, vous devez l'associer à votre domaine ou à votre espace partagé pour pouvoir l'utiliser avec Studio Classic. Pour de plus amples informations, veuillez consulter Joindre une SageMaker image personnalisée.

Création d'une SageMaker image depuis la console

La section suivante explique comment créer une SageMaker image personnalisée à partir de la SageMaker console.

Pour créer une image
  1. Ouvrez la SageMaker console Amazon à l'adresse https://console.aws.amazon.com/sagemaker/.

  2. Dans le panneau de navigation de gauche, choisissez Configurations d'administrateur.

  3. Sous Configurations d'administrateur, choisissez Images.

  4. Sur la page Images personnalisées, choisissez Create image (Créer une image).

  5. Pour Source de l'image, entrez le chemin de registre vers l'image du conteneur dans AmazonECR. Le chemin d'accès est au format suivant :

    acct-id.dkr.ecr.region.amazonaws.com/repo-name[:tag] or [@digest]

  6. Sélectionnez Suivant.

  7. Sous Propriétés de l'image, saisissez ce qui suit :

    • Nom de l'image – Le nom doit être unique pour votre compte dans la région Région AWS.

    • (Facultatif) Nom d'affichage : nom affiché dans l'interface utilisateur de Studio Classic. Lorsqu'il n'est pas fourni, Image name est affiché.

    • (Facultatif) Description – Description de l'image.

    • IAMrôle — La AmazonSageMakerFullAccesspolitique doit être attachée au rôle. Utilisez le menu déroulant pour choisir l'une des options suivantes :

      • Create a new role (Créer un rôle) – Spécifiez tous les compartiments Amazon Simple Storage Service (Amazon S3) auxquels vous souhaitez que les utilisateurs de vos blocs-notes aient accès. Si vous ne souhaitez pas autoriser l'accès à d'autres compartiments, choisissez None (Aucun).

        SageMaker associe la AmazonSageMakerFullAccess politique au rôle. Le rôle permet aux utilisateurs de vos blocs-notes d'accéder aux compartiments S3 répertoriés en regard des coches.

      • Entrez un IAM rôle personnalisé ARN : entrez le nom de ressource Amazon (ARN) de votre IAM rôle.

      • Utiliser le rôle existant – Choisissez l'un de vos rôles existants dans la liste.

    • (Facultatif) Balises d'image – Choisissez Ajouter une nouvelle balise. Vous pouvez ajouter jusqu’à 50 balises. Les balises sont consultables à l'aide de l'interface utilisateur de Studio Classic, de la SageMaker console ou du SageMaker SearchAPI.

  8. Sélectionnez Envoyer.

La nouvelle image s'affiche dans la fenêtre Custom images (Images personnalisées) et est brièvement mise en surbrillance. Une fois l'image créée avec succès, vous pouvez choisir le nom de l'image pour afficher ses propriétés ou choisir Create version (Créer une version) pour créer une autre version.

Pour créer une autre version d'image
  1. Choisissez Create version (Créer une version) sur la même ligne que l'image.

  2. Pour Source de l'image, entrez le chemin de registre vers l'image du ECR conteneur Amazon. L'image du conteneur ne doit pas être la même que celle utilisée dans une version précédente de l' SageMaker image.

Créez une SageMaker image à partir du AWS CLI

Vous devez effectuer les étapes suivantes pour créer une SageMaker image à partir de l'image du conteneur à l'aide du AWS CLI.

  • Créez un Image.

  • Créez un ImageVersion.

  • Créez un fichier de configuration.

  • Créez un AppImageConfig.

Pour créer les entités SageMaker d'image
  1. Créez une SageMaker image.

    aws sagemaker create-image \ --image-name custom-image \ --role-arn arn:aws:iam::<acct-id>:role/service-role/<execution-role>

    La réponse devrait être similaire à ce qui suit.

    { "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image" }
  2. Créez une version d' SageMaker image à partir de l'image du conteneur.

    aws sagemaker create-image-version \ --image-name custom-image \ --base-image <acct-id>.dkr.ecr.<region>.amazonaws.com/smstudio-custom:custom-image

    La réponse devrait être similaire à ce qui suit.

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1" }
  3. Vérifiez que la version de l'image a bien été créée.

    aws sagemaker describe-image-version \ --image-name custom-image \ --version-number 1

    La réponse devrait être similaire à ce qui suit.

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1", "ImageVersionStatus": "CREATED" }
    Note

    Si la réponse est "ImageVersionStatus": "CREATED_FAILED", la réponse inclut également la raison de l'échec. Un problème d'autorisations est une cause courante d'échec. Vous pouvez également consulter vos CloudWatch journaux Amazon en cas d'échec lors du démarrage ou de l'exécution de l' KernelGateway application pour obtenir une image personnalisée. Le nom du groupe de journaux est /aws/sagemaker/studio. Le nom du flux de journaux est $domainID/$userProfileName/KernelGateway/$appName.

  4. Créez un fichier de configuration nommé app-image-config-input.json. La Name valeur de KernelSpecs doit correspondre au nom du fichier kernelSpec disponible dans l'image associée à cette imageAppImageConfig. Cette valeur est sensible à la casse. Vous pouvez trouver ce qui est disponible kernelSpecs dans une image en courant jupyter-kernelspec list depuis une coque située à l'intérieur du conteneur. MountPathest le chemin dans l'image pour monter votre répertoire de base Amazon Elastic File System (AmazonEFS). Il doit être différent du chemin que vous utilisez à l'intérieur du conteneur, car ce chemin sera remplacé lors du montage de votre EFS répertoire de base Amazon.

    Note

    Les combinaisons DefaultUID et DefaultGID sont les seules valeurs acceptées :

    • Par défaut UID : 1000 et par défaut GID : 100

    • Par défaut UID : 0 et par défaut GID : 0

    { "AppImageConfigName": "custom-image-config", "KernelGatewayImageConfig": { "KernelSpecs": [ { "Name": "python3", "DisplayName": "Python 3 (ipykernel)" } ], "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } } }
  5. Créez le AppImageConfig en utilisant le fichier créé à l'étape précédente.

    aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json

    La réponse devrait être similaire à ce qui suit.

    { "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/custom-image-config" }