

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.

# Cómo incorporar su propia imagen
<a name="studio-updated-byoi-how-to"></a>

En las siguientes páginas se dan instrucciones sobre cómo incorporar su propia imagen personalizada. Antes de continuar, asegúrese de que se cumplan los siguientes requisitos previos.

## Requisitos previos
<a name="studio-updated-byoi-how-to-prerequisites"></a>

Deberá cumplir los siguientes requisitos previos para incorporar su propia imagen a Amazon SageMaker AI.
+ Configurar la aplicación Docker. Para obtener más información, consulte [Get started](https://docs.docker.com/get-started/) en la *documentación de Docker*.
+ Instale la versión más reciente AWS CLI siguiendo los pasos [que se indican AWS CLI en la](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) *Guía del AWS Command Line Interface usuario de la versión 2*.
+ Permisos para acceder al servicio Amazon Elastic Container Registry (Amazon ECR). Para obtener más información, consulte [Políticas administradas de Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html) en la *Guía del usuario de Amazon ECR*.
+ Un AWS Identity and Access Management rol al que se adjunta la [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)política.

**Topics**
+ [Requisitos previos](#studio-updated-byoi-how-to-prerequisites)
+ [Creación de una imagen personalizada y envío a Amazon ECR](studio-updated-byoi-how-to-prepare-image.md)
+ [Asociación de la imagen personalizada a su dominio](studio-updated-byoi-how-to-attach-to-domain.md)
+ [Actualización de la configuración de un contenedor](studio-updated-byoi-how-to-container-configuration.md)

# Creación de una imagen personalizada y envío a Amazon ECR
<a name="studio-updated-byoi-how-to-prepare-image"></a>

En esta página se proporcionan instrucciones sobre cómo crear un Dockerfile local, crear la imagen del contenedor y añadirlo a Amazon Elastic Container Registry (Amazon ECR).

**nota**  
En los siguientes ejemplos, las etiquetas no se especifican y la etiqueta `latest` se aplica de forma predeterminada. Si desea especificar una etiqueta, tendrá que añadir `:tag` al final de los nombres de las imágenes. Para obtener más información, consulte [docker image tag](https://docs.docker.com/reference/cli/docker/image/tag/) en la *documentación de Docker*.

**Topics**
+ [Creación de un Dockerfile local y diseño de la imagen de contenedor](#studio-updated-byoi-how-to-create-local-dockerfile)
+ [Adición de una imagen de Docker en Amazon ECR](#studio-updated-byoi-add-container-image)

## Creación de un Dockerfile local y diseño de la imagen de contenedor
<a name="studio-updated-byoi-how-to-create-local-dockerfile"></a>

Use las siguientes instrucciones para crear un Dockerfile con el software y las dependencias deseadas.

**Cómo crear el archivo Dockerfile**

1. En primer lugar, defina las variables para AWS CLI los comandos siguientes.

   ```
   LOCAL_IMAGE_NAME=local-image-name
   ```

   `local-image-name` es el nombre de la imagen del contenedor en su dispositivo local y que define aquí.

1. Cree un documento basado en texto, denominado `Dockerfile`, que cumpla con las especificaciones de [Especificaciones de imágenes personalizadas](studio-updated-byoi-specs.md).

   Puede consultar ejemplos de `Dockerfile` para aplicaciones compatibles en [Ejemplos de Dockerfile](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).
**nota**  
Si va a traer su propia imagen a SageMaker Unified Studio, tendrá que seguir las [especificaciones de Dockerfile](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) de la Guía del *usuario de Amazon SageMaker Unified Studio*.  
`Dockerfile`Puedes encontrar ejemplos de SageMaker Unified Studio en el [ejemplo de Dockerfile](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) de la Guía del *usuario de Amazon SageMaker Unified Studio*.

1. En el directorio que contiene su `Dockerfile`, cree la imagen de Docker con el siguiente comando. El punto (`.`) especifica que `Dockerfile` debe estar en el contexto del comando de compilación.

   ```
   docker build -t ${LOCAL_IMAGE_NAME} .
   ```

   Una vez finalizada la compilación, puede enumerar la información de la imagen del contenedor con el siguiente comando.

   ```
   docker images
   ```

1. (Opcional) Puede usar el siguiente comando para probar la imagen.

   ```
   docker run -it ${LOCAL_IMAGE_NAME}
   ```

   En el resultado, verá que su servidor se ejecuta en una URL, como `http://127.0.0.1:8888/...`. Puede probar la imagen copiando la URL en el navegador. 

   Si esto no funciona, es posible que deba incluir `-p port:port` en el comando “docker run”. Esta opción asigna el puerto expuesto en el contenedor a un puerto del sistema de host. Para obtener más información sobre “docker run”, consulte [Running containers](https://docs.docker.com/engine/containers/run/) en la *documentación de Docker*.

   Después de comprobar que el servidor funciona, puede detenerlo y apagar todos los kernels antes de continuar. Las instrucciones se pueden ver en el resultado.

## Adición de una imagen de Docker en Amazon ECR
<a name="studio-updated-byoi-add-container-image"></a>

Siga estos pasos para agregar una imagen de contenedor en Amazon ECR.
+ Cree un repositorio de Amazon ECR.
+ Inicie sesión en su registro predeterminado.
+ Cargue la imagen en el repositorio de Amazon ECR.

**nota**  
El repositorio de Amazon ECR debe estar en el Región de AWS mismo dominio al que va a adjuntar la imagen.

**Cómo crear y añadir una imagen de contenedor en Amazon ECR**

1. En primer lugar, defina las variables para los AWS CLI comandos siguientes.

   ```
   ACCOUNT_ID=account-id
   REGION=aws-region
   ECR_REPO_NAME=ecr-repository-name
   ```
   + `account-id` es su ID de cuenta. Puedes encontrarlo en la parte superior derecha de cualquier página de AWS consola. Por ejemplo, la [consola de SageMaker IA](https://console.aws.amazon.com/sagemaker).
   + `aws-region`es el Región de AWS de tu dominio de Amazon SageMaker AI. Puedes encontrarlo en la parte superior derecha de cualquier página de AWS consola. 
   + `ecr-repository-name` es el nombre de su repositorio de Amazon Elastic Container Registry, que define aquí. Para ver sus repositorios de Amazon ECR, consulte la [consola de Amazon ECR](https://console.aws.amazon.com/ecr).

1. Regístrese en Amazon ECR e inicie sesión en Docker.

   ```
   aws ecr get-login-password \
       --region ${REGION} | \
       docker login \
       --username AWS \
       --password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com
   ```

   Si la autenticación se realiza correctamente, recibirá un mensaje de inicio de sesión correcto.
**importante**  
Si recibe un error, es posible que deba instalar o actualizar a la versión más reciente de la AWS CLI. Para obtener más información, consulte [Installing the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) en la *Guía del usuario de AWS Command Line Interface *.

1. Etiquete la imagen en un formato compatible con Amazon ECR para enviarla a su repositorio.

   ```
   docker tag \
       ${LOCAL_IMAGE_NAME} \
       ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
   ```

1. Cree un repositorio de Amazon ECR usando AWS CLI. Para crear el repositorio desde la consola de Amazon ECR, consulte [Creación de un repositorio privado de Amazon ECR para almacenar imágenes](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html).

   ```
   aws ecr create-repository \
       --region ${REGION} \
       --repository-name ${ECR_REPO_NAME}
   ```

1. Envíe la imagen a su repositorio de Amazon ECR. También puede etiquetar la imagen de Docker.

   ```
   docker push ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
   ```

Una vez añadida correctamente la imagen al repositorio de Amazon ECR, puede verla en la [consola de Amazon ECR](https://console.aws.amazon.com/ecr).

# Asociación de la imagen personalizada a su dominio
<a name="studio-updated-byoi-how-to-attach-to-domain"></a>

En esta página se proporcionan instrucciones sobre cómo asociar la imagen personalizada a su dominio. Utilice el siguiente procedimiento para utilizar la consola Amazon SageMaker AI para navegar hasta su dominio e iniciar el proceso de **adjuntar imagen**.

En las instrucciones siguientes se presupone que ha subido una imagen a un repositorio de Amazon ECR en el Región de AWS mismo lugar que su dominio. Si aún no lo ha hecho, consulte [Creación de una imagen personalizada y envío a Amazon ECR](studio-updated-byoi-how-to-prepare-image.md).

Cuando elija asociar una imagen, tendrá dos opciones:
+ Adjuntar una **imagen nueva**: esta opción creará una imagen y una versión de la imagen en su almacén de imágenes de SageMaker IA y, a continuación, las adjuntará a su dominio.
**nota**  
Si continúa con el proceso de BYOI, en [Creación de una imagen personalizada y envío a Amazon ECR](studio-updated-byoi-how-to-prepare-image.md), utilice la opción **Nueva imagen**.
+ Adjuntar una **imagen existente**: si ya has creado la imagen personalizada que deseas en el almacén de imágenes de SageMaker IA, usa esta opción. Esta opción asocia una imagen personalizada existente a su dominio. Para ver las imágenes personalizadas en el almacén de imágenes de SageMaker IA, consulte[Visualización de los detalles de la imagen personalizada (consola)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

------
#### [ New image ]

**Cómo asociar una imagen nueva a su dominio**

1. Abre la [consola de SageMaker IA](https://console.aws.amazon.com/sagemaker).

1. Expanda la sección **Configuraciones de administración**, si aún no lo ha hecho.

1. En **Configuraciones de administración**, elija **Dominios**.

1. En la página **Dominios**, seleccione el dominio al que quiere asociar la imagen.
**nota**  
Si va a adjuntar la imagen a un proyecto de SageMaker Unified Studio y necesita que se le aclare qué dominio usar, consulte [Ver los detalles del dominio de SageMaker IA asociados a su proyecto](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain).

1. Abra la pestaña **Entorno**.

1. En la sección **Imágenes personalizadas para aplicaciones de Studio personales**, seleccione **Asociar imagen**.

1. En **Origen de la imagen**, seleccione **Nueva imagen**.

1. Incluya su URI de imagen de Amazon ECR. El formato es el siguiente.

   ```
   account-id.dkr.ecr.aws-region.amazonaws.com/repository-name:tag
   ```

   1. Para obtener su URI de imagen de Amazon ECR, vaya a la página [Repositorios privados de Amazon ECR](https://console.aws.amazon.com/ecr/private-registry/repositories).

   1. Elija el enlace del nombre de su repositorio.

   1. Seleccione el icono **Copiar URI** que se corresponda con la versión de su imagen (**etiqueta de imagen**).

1. Siga el resto de las instrucciones para asociar su imagen personalizada.
**nota**  
Asegúrese de utilizar el tipo de aplicación de forma coherente con su `Dockerfile`. Para obtener más información, consulte [Ejemplos de Dockerfile](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).

Cuando la imagen se haya asociado correctamente con su dominio, podrá verla en la pestaña **Entorno**.

------
#### [ Existing image ]

**Cómo asociar una imagen existente con su dominio**

1. Abre la [consola de SageMaker IA.](https://console.aws.amazon.com/sagemaker)

1. Expanda la sección **Configuraciones de administración**, si aún no lo ha hecho.

1. En **Configuraciones de administración**, elija **Dominios**.

1. En la página **Dominios**, seleccione el dominio al que quiere asociar la imagen.
**nota**  
Si va a adjuntar la imagen a un proyecto de SageMaker Unified Studio y necesita que se le aclare qué dominio usar, consulte [Ver los detalles del dominio de SageMaker IA asociados a su proyecto](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain).

1. Abra la pestaña **Entorno**.

1. En la sección **Imágenes personalizadas para aplicaciones de Studio personales**, seleccione **Asociar imagen**.

1. En **Origen de la imagen**, seleccione **Imagen existente**.

1. Elija una imagen y una versión de la imagen existentes en el almacén de imágenes de SageMaker IA.

   Si no ve la versión de la imagen, es posible que tenga que crear una versión de la imagen. Para obtener más información, consulte [Visualización de los detalles de la imagen personalizada (consola)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

1. Siga el resto de las instrucciones para asociar su imagen personalizada.
**nota**  
Asegúrese de utilizar el tipo de aplicación de forma coherente con su `Dockerfile`. Para obtener más información, consulte [Ejemplos de Dockerfile](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).

Cuando la imagen se haya asociado correctamente con su dominio, podrá verla en la pestaña **Entorno**.

------

Cuando la imagen se haya asociado correctamente a su dominio, los usuarios del dominio podrán elegir la imagen para su aplicación. Para obtener más información, consulte [Inicio de una imagen personalizada en Studio](studio-updated-byoi-how-to-launch.md).

**nota**  
Si ha adjuntado una imagen personalizada a su proyecto de SageMaker Unified Studio, tendrá que iniciar la aplicación desde SageMaker Unified Studio. Para obtener más información, consulte [Lance your custom image](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-launch-custom-image.html) en la *Guía del usuario de Amazon SageMaker Unified Studio*.

# Actualización de la configuración de un contenedor
<a name="studio-updated-byoi-how-to-container-configuration"></a>

Puede incorporar imágenes de Docker personalizadas en sus flujos de trabajo de machine learning. Un aspecto clave de la personalización de estas imágenes es definir las configuraciones del contenedor o de [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html). En la página siguiente se proporciona un ejemplo de cómo definir su `ContainerConfig`. 

Un punto de entrada es el comando o script que se ejecuta cuando se inicia el contenedor. Los puntos de entrada personalizados le permiten configurar su entorno, inicializar los servicios o realizar cualquier configuración necesaria antes de que se inicie la aplicación. 

Este ejemplo proporciona instrucciones sobre cómo configurar un punto de entrada personalizado para su JupyterLab aplicación mediante el. AWS CLI En este ejemplo se supone que ya ha creado una imagen y un dominio personalizados. Para obtener instrucciones, consulte [Asociación de la imagen personalizada a su dominio](studio-updated-byoi-how-to-attach-to-domain.md).

1. En primer lugar, defina las variables para los AWS CLI comandos siguientes.

   ```
   APP_IMAGE_CONFIG_NAME=app-image-config-name
   ENTRYPOINT_FILE=entrypoint-file-name
   ENV_KEY=environment-key
   ENV_VALUE=environment-value
   REGION=aws-region
   DOMAIN_ID=domain-id
   IMAGE_NAME=custom-image-name
   IMAGE_VERSION=custom-image-version
   ```
   + `app-image-config-name` es el nombre de la configuración de la imagen de su aplicación.
   + `entrypoint-file-name` es el nombre del script de punto de entrada de su contenedor. Por ejemplo, `entrypoint.sh`.
   + `environment-key` es el nombre de su variable de entorno.
   + `environment-value` es el valor asignado a su variable de entorno.
   + `aws-region`es el Región de AWS de tu dominio de Amazon SageMaker AI. Puedes encontrarlo en la parte superior derecha de cualquier página de AWS consola. 
   + `domain-id` es su ID de dominio. Para ver sus dominios, consulte [Visualización de dominios](domain-view.md).
   + `custom-image-name` es el nombre de la imagen personalizada. Para ver los detalles de la imagen personalizada, consulte [Visualización de los detalles de la imagen personalizada (consola)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

     Si ha seguido las instrucciones que se indican en [Asociación de la imagen personalizada a su dominio](studio-updated-byoi-how-to-attach-to-domain.md), recomendamos utilizar el mismo nombre de imagen que utilizó en ese proceso.
   + `custom-image-version` es el número de versión de la imagen personalizada. Debe ser un número entero que represente la versión de la imagen. Para ver los detalles de la imagen personalizada, consulte [Visualización de los detalles de la imagen personalizada (consola)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

1. Use la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html) para crear una configuración de imagen.

   ```
   aws sagemaker create-app-image-config \
       --region ${REGION} \
       --app-image-config-name "${APP_IMAGE_CONFIG_NAME}" \
       --jupyter-lab-app-image-config "ContainerConfig = {
           ContainerEntrypoint = "${ENTRYPOINT_FILE}", 
           ContainerEnvironmentVariables = {
               "${ENV_KEY}"="${ENV_VALUE}"
           }
       }"
   ```

1. Use la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) para actualizar la configuración predeterminada de su dominio. Esta acción asociará la imagen personalizada y la configuración de la imagen de la aplicación. 

   ```
   aws sagemaker update-domain \
       --region ${REGION} \
       --domain-id "${DOMAIN_ID}" \
       --default-user-settings "{
           \"JupyterLabAppSettings\": {
               \"CustomImages\": [
                   {
                       \"ImageName\": \"${IMAGE_NAME}\",
                       \"ImageVersionNumber\": ${IMAGE_VERSION},
                       \"AppImageConfigName\": \"${APP_IMAGE_CONFIG_NAME}\"
                   }
               ]
           }
       }"
   ```