

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.

# Creación de una SageMaker imagen personalizada para Amazon SageMaker Studio Classic
<a name="studio-byoi-create"></a>

**importante**  
Las políticas de IAM 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 necesario porque Studio y Studio Classic etiquetan automáticamente todos los recursos que crean. Si una política de IAM permite a Studio y Studio Classic crear recursos, pero no permite el etiquetado, se pueden producir errores de tipo AccessDenied «» al intentar crear recursos. Para obtener más información, consulte [Proporcione permisos para etiquetar los recursos de SageMaker IA](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS políticas gestionadas para Amazon SageMaker AI](security-iam-awsmanpol.md)que 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 del uso de la aplicación de Studio Classic. Para obtener información sobre el uso de la experiencia de Studio actualizada, consulte [Amazon SageMaker Studio](studio-updated.md).  
Studio Classic se sigue manteniendo para las cargas de trabajo existentes, pero ya no está disponible para su incorporación. Solo puede detener o eliminar las aplicaciones de Studio Classic existentes y no puede crear aplicaciones nuevas. Te recomendamos [migrar tu carga de trabajo a la nueva experiencia de Studio](studio-updated-migrate.md).

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

Al crear una imagen desde la consola, la SageMaker IA también crea una versión inicial de la imagen. La versión de la imagen representa una imagen de contenedor en [Amazon Elastic Container Registry (ECR)](https://console.aws.amazon.com/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 Amazon SageMaker Studio Classic](studio-byoi-specs.md). Para obtener información sobre cómo probar la imagen localmente y resolver problemas comunes, consulte el [repositorio de muestras de imágenes personalizadas de SageMaker Studio Classic](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/blob/main/DEVELOPMENT.md).

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 en Amazon SageMaker Studio Classic](studio-byoi-attach.md).

## Cree una SageMaker imagen desde la consola
<a name="studio-byoi-create-console"></a>

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

**Para crear una imagen**

1. Abre la consola Amazon SageMaker AI en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

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

1. En **Configuraciones de administrador**, elija **Imágenes**. 

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

1. Para **Fuente de imagen**, introduzca la ruta de registro de la imagen de contenedor en Amazon ECR. La ruta tiene el siguiente formato:

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

1. Seleccione **Siguiente**.

1. 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: 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.
   + Función de IAM: la función debe tener la [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)polí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 La IA vincula la `AmazonSageMakerFullAccess` política a la función. El rol permite a los usuarios de sus cuadernos acceder a los buckets de S3 que aparecen junto a las marcas de verificación.
     + Introducir un ARN de rol de IAM personalizado: introduzca el nombre de recurso de Amazon (ARN) de su rol de IAM.
     + 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 consola de SageMaker IA o la `Search` API de SageMaker IA.

1. 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.

1. Para **Fuente de imagen**, introduzca la ruta de registro de la imagen de contenedor de Amazon ECR. 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
<a name="studio-byoi-sdk-create-image"></a>

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"
   }
   ```

1. 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"
   }
   ```

1. 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`.

1. Cree un archivo de configuración llamado `app-image-config-input.json`. El valor `Name` de `KernelSpecs` debe coincidir con el nombre de kernelSpec disponible en la imagen asociada a esta `AppImageConfig`. Este valor distingue entre mayúsculas y minúsculas. Puede encontrar las kernelSpecs disponibles en una imagen ejecutando `jupyter-kernelspec list` desde un intérprete de comandos dentro del contenedor. `MountPath` es la ruta dentro de la imagen para montar el directorio principal de Amazon Elastic File System (Amazon EFS). Debe ser diferente de la ruta que utiliza dentro del contenedor porque esa ruta se anulará cuando se monte el directorio principal de Amazon EFS.
**nota**  
Las siguientes combinaciones de `DefaultUID` y `DefaultGID` son los únicos valores aceptables:   
 DefaultUID: 1000 y DefaultGID: 100 
 DefaultUID: 0 y DefaultGID: 0 

   ```
   {
       "AppImageConfigName": "custom-image-config",
       "KernelGatewayImageConfig": {
           "KernelSpecs": [
               {
                   "Name": "python3",
                   "DisplayName": "Python 3 (ipykernel)"
               }
           ],
           "FileSystemConfig": {
               "MountPath": "/home/sagemaker-user",
               "DefaultUid": 1000,
               "DefaultGid": 100
           }
       }
   }
   ```

1. Crea el archivo AppImageConfig con 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"
   }
   ```