Proporcione a los usuarios acceso a imágenes personalizadas - 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.

Proporcione a los usuarios acceso a imágenes personalizadas

Esta documentación proporciona step-by-step instrucciones para proporcionar a los usuarios acceso a imágenes personalizadas para sus entornos de editor de código. Puede utilizar la información de esta página para crear entornos personalizados para los flujos de trabajo de sus usuarios. El proceso implica la utilización de:

  • Docker

  • AWS Command Line Interface

  • Amazon Elastic Container Registry

  • Amazon SageMaker AWS Management Console

Tras seguir las instrucciones de esta página, los usuarios de Code Editor del SageMaker dominio Amazon tendrán acceso a la imagen y el entorno personalizados desde sus espacios de Code Editor para potenciar sus flujos de trabajo de aprendizaje automático.

importante

En esta página se asume que tienes las AWS Command Line Interface y Docker instalado en su máquina local.

Para que sus usuarios ejecuten correctamente su imagen en el Editor de código, debe hacer lo siguiente:

Para que sus usuarios ejecuten la imagen correctamente
  1. Cree el Dockerfile

  2. Cree la imagen a partir del Dockerfile

  3. Cargue la imagen en Amazon Elastic Container Registry

  4. Adjunta la imagen a tu SageMaker dominio de Amazon

  5. Haz que tus usuarios accedan a la imagen desde su espacio de editor de código

Paso 1: Crea el Dockerfile

Cree un Dockerfile para definir los pasos necesarios para crear el entorno necesario para ejecutar la aplicación en el contenedor de su usuario.

importante

Su Dockerfile debe cumplir con las especificaciones que se proporcionan en. Especificaciones de Dockerfile

Para ver ejemplos de Dockerfiles en el formato correcto, consulte. Ejemplos de Dockerfile

Paso 2: Construye el Dockerfile

En el mismo directorio que tu Dockerfile, crea tu imagen con el siguiente comando:

docker build -t username/imagename:tag your-account-id.dkr.ecr.Región de AWS.amazonaws.com/your-repository-name:tag
importante

La imagen debe estar etiquetada con el siguiente formato: 123456789012.dkr.ecr.your-region.amazonaws.com/your-repository-name:tag

De lo contrario, no podrás subirlo a un repositorio de Amazon Elastic Container Registry.

Paso 3: Inserta la imagen en el repositorio de Amazon Elastic Container Registry

Una vez que hayas creado la imagen, inicia sesión en tu ECR repositorio de Amazon con el siguiente comando:

aws ecr get-login-password --region Región de AWS | docker login --username AWS --password-stdin 123456789012.dkr.ecr.Región de AWS.amazonaws.com

Una vez que hayas iniciado sesión, inserta tu Dockerfile con el siguiente comando:

docker push 123456789012.dkr.ecr.Región de AWS.amazonaws.com/your-repository-name:tag

Paso 4: Adjunta una imagen al SageMaker dominio de Amazon de tus usuarios

Después de insertar la imagen, debes acceder a ella desde tu SageMaker dominio de Amazon mediante la SageMaker consola o el AWS CLI.

Adjunta la imagen mediante la SageMaker consola

Utilice el siguiente procedimiento para adjuntar la imagen a un SageMaker dominio a través de la SageMaker consola:

  1. Abra la SageMaker consola.

  2. En Configuraciones de administración, elija Dominios.

  3. En la lista de dominios, selecciona un dominio.

  4. Abra la pestaña Entorno.

  5. Para imágenes personalizadas para aplicaciones personales de Studio, selecciona Adjuntar imagen.

  6. Especifique la fuente de la imagen. Puede crear una imagen nueva o elegir una imagen existente.

  7. Elija Next (Siguiente).

  8. Elija Code Editor como tipo de aplicación.

  9. Elija Enviar.

Adjunte la imagen mediante el AWS CLI

Utilice el siguiente procedimiento para adjuntar la imagen a un SageMaker dominio mediante AWS CLI :

  1. Cree una SageMaker imagen. El rol ARN debe tener la AmazonSageMakerFullAccess política adjunta.

    aws sagemaker create-image \ --image-name code-editor-custom-image \ --role-arn arn:aws:iam::account-id:role/service-role/execution-role
  2. Cree una versión SageMaker de imagen a partir de la imagen. Pasa el valor de etiqueta único que elegiste al enviar la imagen a AmazonECR.

    aws sagemaker create-image-version \ --image-name code-editor-custom-image \ --base-image repository-uri:tag
  3. Crea un archivo de configuración llamadoapp-image-config-input.json. La configuración de la imagen de la aplicación se utiliza como configuración para ejecutar una SageMaker imagen como una aplicación de edición de código. También puede especificar sus ContainerConfigargumentos aquí.

    { "AppImageConfigName": "code-editor-app-image-config", "CodeEditorAppImageConfig": { "ContainerConfig": {} } }
  4. Cree el archivo AppImageConfig utilizando el archivo de configuración de imagen de la aplicación que ha creado.

    aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json
  5. Cree un archivo de configuración llamado updateDomain.json. Asegúrese de especificar su ID de dominio.

    { "DomainId": "domain-id", "DefaultUserSettings": { "CodeEditorAppSettings": { "CustomImages": [ { "ImageName": "code-editor-custom-image", "AppImageConfigName": "code-editor-app-image-config" } ] } } }
  6. Llama al UpdateDomain comando con el archivo de configuración como entrada.

    nota

    Debe eliminar todas las aplicaciones de su dominio antes de actualizar el dominio con la nueva imagen. Tenga en cuenta que solo necesita eliminar las aplicaciones; no necesita eliminar los perfiles de usuario ni los espacios compartidos. Para obtener instrucciones sobre cómo eliminar aplicaciones, elija una de las siguientes opciones.

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

Paso 5: Haga que sus usuarios accedan a la imagen desde su espacio de edición de código

Tus usuarios ahora pueden seleccionar la imagen que has adjuntado a su dominio desde su espacio de edición de código.

Para obtener más información sobre cómo seleccionar una imagen personalizada, consulteLanza una aplicación de edición de código en Studio.