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.
Esta documentación proporciona step-by-step instrucciones para proporcionar a los usuarios acceso a imágenes personalizadas en sus JupyterLab entornos. 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 AI AWS Management Console
Tras seguir las instrucciones de esta página, JupyterLab los usuarios del dominio Amazon SageMaker AI tendrán acceso a la imagen y el entorno personalizados desde sus espacios de Jupyter para potenciar sus flujos de trabajo de aprendizaje automático.
importante
En esta página se da por sentado que dispone de las funciones y AWS Command Line Interface Docker instalado en su máquina local.
Para que sus usuarios ejecuten correctamente su imagen en JupyterLab ella, debe hacer lo siguiente:
Ejecución correcta de la imagen por parte de los usuarios
-
Cree el Dockerfile.
-
Cree la imagen a partir del Dockerfile
-
Cargue la imagen en Amazon Elastic Container Registry.
-
Adjunta la imagen a tu dominio de Amazon SageMaker AI
-
Haga que sus usuarios accedan a la imagen desde su JupyterLab espacio
Paso 1: creación del Dockerfile
Cree un Dockerfile para definir los pasos necesarios para crear el entorno necesario para ejecutar la aplicación en los contenedores de los usuarios.
importante
El Dockerfile debe cumplir con las especificaciones que se indican en Especificaciones de Dockerfile.
Para ver las plantillas de Dockerfile, consulte. Comprobación de estado y URL de las aplicaciones
Paso 2: Crear la imagen
En el mismo directorio que el Dockerfile, compile su imagen mediante 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 etiquetarse con el siguiente formato: 123456789012
.dkr.ecr.your-region.amazonaws.com/your-repository-name
:tag
De lo contrario, no podrá insertarla en un repositorio de Amazon Elastic Container Registry.
Paso 3: inserción de la imagen en el repositorio de Amazon Elastic Container Registry
Tras compilar la imagen, inicie sesión en el repositorio de Amazon ECR mediante el siguiente comando:
aws ecr get-login-password --region
Región de AWS
| docker login --username AWS --password-stdin123456789012
.dkr.ecr.Región de AWS
.amazonaws.com
Una vez que haya iniciado sesión, inserte el 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 dominio Amazon SageMaker AI de tus usuarios
importante
Las políticas de IAM personalizadas que permiten a los usuarios de Studio crear espacios también deben conceder permisos para enumerar imágenes (sagemaker: ListImage
) para ver imágenes personalizadas. Para agregar el permiso, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de AWS Identity and Access Management.
AWS políticas gestionadas para Amazon SageMaker AIque otorgan permisos para crear recursos de SageMaker IA ya incluyen permisos para enumerar imágenes al crear esos recursos.
Después de insertar la imagen, debes acceder a ella desde tu dominio de Amazon SageMaker AI. Utilice el siguiente procedimiento para adjuntar la imagen a un dominio de SageMaker IA:
Adjunte la imagen mediante la consola de SageMaker IA
-
Abre la consola de SageMaker IA
. -
En Configuraciones de administración, elija Dominios.
-
En la lista de dominios, seleccione un dominio.
-
Abra la pestaña Entorno.
-
Para Imágenes personalizadas para aplicaciones de Studio personales, seleccione Adjuntar imagen.
-
Especifique el origen de la imagen.
-
Elija Next (Siguiente).
-
Seleccione Submit (Enviar).
Adjunte la imagen con el AWS CLI
Utilice el siguiente procedimiento para adjuntar la imagen a un SageMaker dominio mediante AWS CLI :
-
Cree una imagen de SageMaker IA. La
AmazonSageMakerFullAccess
política debe estar asociada a su función, ya que utiliza los siguientes AWS CLI comandos.aws sagemaker create-image \ --image-name
custom-image
\ --role-arn arn:aws:iam::account-id
:role/service-role/execution-role
-
Cree una versión de imagen de SageMaker IA a partir de la imagen. Pase el valor de etiqueta exclusivo que eligió al insertar la imagen en Amazon ECR.
aws sagemaker create-image-version \ --image-name
custom-image
\ --base-imagerepository-uri
:tag
-
Cree un archivo de configuración llamado
app-image-config-input.json
. La configuración de la imagen de la aplicación se utiliza como configuración para ejecutar una imagen de SageMaker IA como una aplicación de edición de código. También puede especificar los argumentos deContainerConfig
aquí.{ "AppImageConfigName": "
app-image-config
", "CodeEditorAppImageConfig": { "ContainerConfig": {} } } -
Cree la
AppImageConfig
utilizando el archivo de configuración de imagen de aplicación que creó antes.aws sagemaker create-app-image-config \ --cli-input-json file://
app-image-config-input.json
-
Cree un archivo de configuración llamado
updateDomain.json
. Asegúrese de especificar el ID de dominio.{ "DomainId":
"domain-id"
, "DefaultUserSettings": { "JupyterLabAppSettings": { "CustomImages": [ { "ImageName": "custom-image
", "AppImageConfigName": "app-image-config
" } ] } } } -
Llame al comando
UpdateDomain
con el archivo de configuración como entrada.nota
Debe eliminar todas las aplicaciones del dominio antes de actualizarlo 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.
-
Si utilizas la consola de SageMaker IA, sigue los pasos 1 a 5d y 6 a 7d de la sección Eliminar un dominio (consola).
-
Si utilizas la AWS CLI, sigue los pasos 1 a 3 de la sección Eliminar un dominio (AWS CLI).
aws sagemaker update-domain --cli-input-json file://updateDomain.json
-
Tus usuarios ahora pueden seleccionar la imagen que has adjuntado a su dominio desde su JupyterLab espacio.