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.
Concesión de acceso a los usuarios a imágenes personalizadas
Esta documentación proporciona step-by-step instrucciones para proporcionar a sus 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 AI AWS Management Console
Tras seguir las instrucciones de esta página, los usuarios de Code Editor del dominio Amazon SageMaker AI 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 presupone que tiene las funciones AWS Command Line Interface y Docker instalado en su máquina local.
Para que los usuarios ejecuten correctamente su imagen en el editor de código, debe realizar 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
-
Pida a los usuarios que accedan a la imagen desde el espacio del editor de código
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 el contenedor del usuario.
importante
El Dockerfile debe cumplir con las especificaciones que se indican en Especificaciones de Dockerfile.
Para ver ejemplos de Dockerfiles en el formato correcto, consulte Ejemplos de Dockerfile.
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
Después de insertar la imagen, debes acceder a ella desde tu dominio de Amazon SageMaker AI mediante la consola SageMaker AI o la AWS CLI.
Adjunta la imagen mediante la consola de SageMaker IA
Utilice el siguiente procedimiento para adjuntar la imagen a un SageMaker dominio a través de 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. Puede crear una nueva imagen o elegir una existente.
-
Elija Next (Siguiente).
-
Elija Editor de código como tipo de aplicación.
-
Seleccione Submit (Enviar).
Adjunta 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
code-editor-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 code-editor-custom-image \ --base-image
repository-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":
"code-editor-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": { "CodeEditorAppSettings": { "CustomImages": [ { "ImageName":"code-editor-custom-image"
, "AppImageConfigName":"code-editor-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
-
Paso 5: petición a los usuarios para que accedan a la imagen desde el espacio del editor de código
Los usuarios ahora pueden seleccionar la imagen que ha asociado a su dominio desde el espacio del editor de código.
Para obtener más información sobre la selección de una imagen personalizada, consulte Inicialización de una aplicación de editor de código en Studio.