Concesión de acceso a los usuarios a imágenes personalizadas - Amazon SageMaker AI

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
  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 dominio de Amazon SageMaker AI

  5. 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-stdin 123456789012.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:

  1. Abre la consola de SageMaker IA.

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

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

  4. Abra la pestaña Entorno.

  5. Para Imágenes personalizadas para aplicaciones de Studio personales, seleccione Adjuntar imagen.

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

  7. Elija Next (Siguiente).

  8. Elija Editor de código como tipo de aplicación.

  9. 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 :

  1. 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
  2. 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
  3. 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 de ContainerConfig aquí.

    { "AppImageConfigName": "code-editor-app-image-config", "CodeEditorAppImageConfig": { "ContainerConfig": {} } }
  4. 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
  5. 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" } ] } } }
  6. 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.

    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.