Crea una SageMaker imagen personalizada - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crea una SageMaker imagen personalizada

importante

IAMLas políticas personalizadas que permiten a Amazon SageMaker Studio o Amazon SageMaker Studio Classic crear SageMaker recursos de Amazon también deben conceder permisos para añadir etiquetas a esos recursos. El permiso para añadir etiquetas a los recursos es obligatorio porque Studio y Studio Classic etiquetan automáticamente los recursos que crean. Si una IAM política permite a Studio y Studio Classic crear recursos, pero no permite el etiquetado, se pueden producir errores AccessDenied «» al intentar crear recursos. Para obtener más información, consulte Proporciona permisos para etiquetar SageMaker los recursos.

AWS Políticas gestionadas para Amazon SageMakerque otorgan permisos para crear SageMaker recursos ya incluyen permisos para añadir etiquetas al crear esos recursos.

importante

A partir del 30 de noviembre de 2023, la experiencia anterior de Amazon SageMaker Studio pasa a denominarse Amazon SageMaker Studio Classic. La siguiente sección es específica sobre el uso de la aplicación Studio Classic. Para obtener información sobre el uso de la experiencia de Studio actualizada, consulteAmazon SageMaker Studio.

En este tema se describe cómo crear una SageMaker imagen personalizada mediante la SageMaker consola o AWS CLI.

Al crear una imagen desde la consola, SageMaker también crea una versión inicial de la imagen. La versión de imagen representa una imagen de contenedor en Amazon Elastic Container Registry (ECR). La imagen del contenedor debe cumplir los requisitos para su uso en Amazon SageMaker Studio Classic. Para obtener más información, consulte Especificaciones SageMaker de imagen personalizadas. Para obtener información sobre cómo probar la imagen de forma local y resolver problemas comunes, consulte el repositorio de muestras de imágenes personalizadas de SageMaker Studio Classic.

Una vez que haya creado SageMaker la imagen personalizada, debe adjuntarla a su dominio o espacio compartido para usarla con Studio Classic. Para obtener más información, consulte Adjunta una SageMaker imagen personalizada.

Cree una SageMaker imagen desde la consola

En la siguiente sección se muestra cómo crear una SageMaker imagen personalizada desde la SageMaker consola.

Para crear una imagen
  1. Abre la SageMaker consola de Amazon en https://console.aws.amazon.com/sagemaker/.

  2. En el panel de navegación izquierdo, seleccione Configuraciones de administración.

  3. En Configuraciones de administrador, elija Imágenes.

  4. En la página Imágenes personalizadas, elija Crear imagen.

  5. En Fuente de imagen, introduce la ruta de registro de la imagen del contenedor en AmazonECR. La ruta tiene el siguiente formato:

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

  6. Seleccione Siguiente.

  7. En Propiedades de imagen, introduzca lo siguiente:

    • Nombre de imagen: el nombre debe ser exclusivo de su cuenta en la Región de AWS actual.

    • (Opcional) Nombre para mostrar: el nombre que se muestra en la interfaz de usuario de Studio Classic. Cuando no se proporciona, se muestra Image name.

    • (Opcional) Descripción: descripción de la imagen.

    • IAMrol: el rol debe tener la AmazonSageMakerFullAccesspolítica adjunta. Utilice el menú desplegable para elegir una de las opciones siguientes:

      • Crear un nuevo rol: especifique cualquier bucket adicional de Amazon Simple Storage Service (Amazon S3) al que desee que los usuarios de sus cuadernos tengan acceso. Si no desea permitir el acceso a buckets adicionales, elija Ninguno.

        SageMaker asocia la AmazonSageMakerFullAccess política al rol. El rol permite a los usuarios de sus cuadernos acceder a los buckets de S3 que aparecen junto a las marcas de verificación.

      • Introduce un IAM rol personalizadoARN: introduce el nombre del recurso de Amazon (ARN) de tu IAM rol.

      • Usar rol existente: elija uno de los roles existentes de la lista.

    • (Opcional) Etiquetas de imagen: elija Añadir nueva etiqueta. Puede añadir hasta 50 etiquetas. Las etiquetas se pueden buscar mediante la interfaz de usuario de Studio Classic, la SageMaker consola o el SageMaker SearchAPI.

  8. Elija Enviar.

La nueva imagen se muestra en la lista Imágenes personalizadas y se resalta brevemente. Una vez creada correctamente la imagen, puede elegir el nombre de la imagen para ver sus propiedades o elegir Crear versión para crear otra versión.

Para crear otra versión de la imagen
  1. Elija Crear versión en la misma fila que la imagen.

  2. En Fuente de imagen, introduce la ruta de registro de la imagen del ECR contenedor de Amazon. La imagen del contenedor no debe ser la misma imagen que se usó en una versión anterior de la SageMaker imagen.

Cree una SageMaker imagen a partir de AWS CLI

Realice los siguientes pasos para crear una SageMaker imagen a partir de la imagen del contenedor mediante el AWS CLI.

  • Cree una Image.

  • Cree una ImageVersion.

  • Cree un archivo de configuración.

  • Cree una AppImageConfig.

Para crear las entidades SageMaker de imagen
  1. Cree una SageMaker imagen.

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

    El resultado debería ser similar al siguiente.

    { "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/custom-image" }
  2. Cree una versión SageMaker de imagen a partir de la imagen del contenedor.

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

    El resultado debería ser similar al siguiente.

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/custom-image/1" }
  3. Compruebe que la versión de la imagen se haya creado correctamente.

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

    El resultado debería ser similar al siguiente.

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

    Si la respuesta es "ImageVersionStatus": "CREATED_FAILED", también incluye el motivo del error. Un problema de permisos es una causa común de error. También puedes comprobar tus CloudWatch registros de Amazon si se produce un error al iniciar o ejecutar la KernelGateway aplicación para obtener una imagen personalizada. El nombre del grupo de registro es /aws/sagemaker/studio. El nombre del flujo de registro es $domainID/$userProfileName/KernelGateway/$appName.

  4. Cree un archivo de configuración llamado app-image-config-input.json. El Name valor de KernelSpecs debe coincidir con el nombre de la imagen kernelSpec disponible en la imagen asociada a estaAppImageConfig. Este valor distingue entre mayúsculas y minúsculas. Puedes encontrar lo que está disponible kernelSpecs en una imagen partiendo jupyter-kernelspec list de una carcasa dentro del contenedor. MountPathes la ruta dentro de la imagen para montar el directorio principal de Amazon Elastic File System (AmazonEFS). Debe ser diferente de la ruta que usas dentro del contenedor, ya que esa ruta se anulará cuando se monte EFS tu directorio principal de Amazon.

    nota

    Las siguientes combinaciones de DefaultUID y DefaultGID son los únicos valores aceptables:

    • PredeterminadoUID: 1000 y predeterminadoGID: 100

    • PredeterminadoUID: 0 y predeterminadoGID: 0

    { "AppImageConfigName": "custom-image-config", "KernelGatewayImageConfig": { "KernelSpecs": [ { "Name": "python3", "DisplayName": "Python 3 (ipykernel)" } ], "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } } }
  5. Cree el AppImageConfig utilizando el archivo creado en el paso anterior.

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

    El resultado debería ser similar al siguiente.

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