Introducción al modo local - 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.

Introducción al modo local

En las siguientes secciones se describen los pasos necesarios para empezar a utilizar el modo local en Amazon SageMaker Studio, entre los que se incluyen:

  • Cumplimiento de los requisitos previos

  • Configuración de EnableDockerAccess

  • Instalación de Docker

Requisitos previos

Complete los siguientes requisitos previos para usar el modo local en las aplicaciones de Studio:

  • Para extraer imágenes de un repositorio de Amazon Elastic Container Registry, la cuenta en la que se aloja la imagen de Amazon ECR debe proporcionar permiso de acceso para el rol de ejecución del usuario. El rol de ejecución del dominio también debe permitir el acceso a Amazon ECR.

  • Compruebe que está utilizando la versión más reciente del Studio Python SDK mediante el siguiente comando: 

    pip install -U sagemaker
  • Para usar el modo y Docker las capacidades locales, establece el siguiente parámetro del dominio DockerSettings mediante AWS Command Line Interface (AWS CLI): 

    EnableDockerAccess : ENABLED
  • Con EnableDockerAccess, también puede controlar si los usuarios del dominio pueden usar el modo local. De forma predeterminada, el modo local y las capacidades de Docker no están permitidos en las aplicaciones de Studio. Para obtener más información, consulte Configuración de EnableDockerAccess.

  • Instale la Docker CLI en la aplicación de Studio siguiendo los pasos que se indican en Instalación de Docker.

Configuración de EnableDockerAccess

En las siguientes secciones se muestra cómo configurar EnableDockerAccess cuándo el dominio tiene acceso público a Internet o está en modo VPC-only.

nota

Los cambios de EnableDockerAccess se aplicarán únicamente a las aplicaciones creadas después de actualizar el dominio. Debe crear una nueva aplicación después de actualizar el dominio.

Acceso público a Internet

Los siguientes comandos de ejemplo muestran cómo configurar EnableDockerAccess al crear un nuevo dominio o actualizar un dominio existente con acceso público a Internet:

# create new domain aws --region region \ sagemaker create-domain --domain-name domain-name \ --vpc-id vpc-id \ --subnet-ids subnet-ids \ --auth-mode IAM \ --default-user-settings "ExecutionRole=execution-role" \ --domain-settings '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}' \ --query DomainArn \ --output text # update domain aws --region region \ sagemaker update-domain --domain-id domain-id \ --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

Modo VPC-only

Cuando se utiliza un dominio en modo VPC-only, las solicitudes de inserción y extracción de imágenes de Docker se enrutan a través de la VPC del servicio en lugar de a través de la VPC configurada por el cliente. Gracias a esta funcionalidad, los administradores pueden configurar una lista de Cuentas de AWS de confianza a las que los usuarios pueden enviar solicitudes de operaciones de Docker de inserción y extracción de Amazon ECR.

Si se envía una solicitud de inserción o extracción de Docker imágenes a un usuario Cuenta de AWS que no está en la lista de sitios de confianza Cuentas de AWS, se produce un error en la solicitud. DockerLas operaciones de arrastrar y empujar fuera de Amazon Elastic Container Registry (Amazon ECR) no se admiten en este modo. VPC-only

De forma predeterminada, Cuentas de AWS se confía en los siguientes elementos:

  • La cuenta que aloja el dominio de SageMaker IA.

  • SageMaker Cuentas de IA que alojan las siguientes SageMaker imágenes:

    • Imágenes de marco de trabajo de DLC

    • SklearnSpark, XGBoost procesando imágenes

Para configurar una lista de fuentes de confianza adicionales Cuentas de AWS, especifique el VpcOnlyTrustedAccounts valor de la siguiente manera:

aws --region region \ sagemaker update-domain --domain-id domain-id \ --domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED", "VpcOnlyTrustedAccounts": ["account-list"]}}'

Instalación de Docker

Para utilizar Docker, debe instalar manualmente Docker desde el terminal de su aplicación de Studio. Los pasos para instalar Docker son diferentes si el dominio tiene acceso a Internet o no.

Acceso a Internet

Si el dominio se crea con acceso público a Internet o en un modo VPC-only con acceso limitado a Internet, siga estos pasos para instalar Docker.

  1. (Opcional) Si el dominio se crea en modo VPC-only con acceso limitado a Internet, cree una puerta de enlace NAT pública con acceso al sitio web de Docker. Para obtener instrucciones, consulte Gateways NAT.

  2. Vaya al terminal de la aplicación de Studio en la que desee instalar Docker.

  3. Para devolver el sistema operativo de la aplicación, ejecute el siguiente comando desde el terminal:

    cat /etc/os-release
  4. Realice la instalación Docker siguiendo las instrucciones del sistema operativo de la aplicación en el repositorio Amazon SageMaker AI Local Mode Examples.

    Por ejemplo, instálelo Ubuntu siguiendo Docker el script que se encuentra en https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker_studio_docker_cli_install/sagemaker- ubuntu-focal-docker-cli -install.sh teniendo en cuenta las siguientes consideraciones:

    • Si se produce un error en los comandos encadenados, ejecute los comandos de uno en uno.

    • Studio solo admite Docker, versión 20.10.X. y la Docker Engine API, versión 1.41.

    • Los siguientes paquetes no son necesarios para usar la Docker CLI en Studio y su instalación se puede omitir:

      • containerd.io

      • docker-ce

      • docker-buildx-plugin

    nota

    No es necesario iniciar el servicio Docker en sus aplicaciones. La instancia en la que se aloja la aplicación de Studio ejecuta el servicio Docker de forma predeterminada. Todas las llamadas a la API de Docker se enrutan automáticamente a través del servicio Docker.

  5. Utilice el socket de Docker expuesto para las interacciones de Docker dentro de las aplicaciones de Studio. De forma predeterminada, se expone el siguiente socket:

    unix:///docker/proxy.sock

    La siguiente variable de entorno de la aplicación de Studio del USER predeterminado utiliza este socket expuesto:

    DOCKER_HOST

Sin acceso a Internet

Si el dominio se crea en modo VPC-only sin acceso a Internet, siga estos pasos para instalar Docker.

  1. Vaya al terminal de la aplicación de Studio en la que desee instalar Docker.

  2. Para devolver el sistema operativo de la aplicación, ejecute el siguiente comando desde el terminal:

    cat /etc/os-release
  3. Descargue los archivos .deb de Docker en el equipo local. Para obtener instrucciones sobre cómo descargar los archivos necesarios para el sistema operativo de la aplicación de Studio, consulte Install Docker Engine.

    Por ejemplo, instale Docker desde un paquete en Ubuntu siguiendo los pasos 1 a 4 de Install from a package teniendo en cuenta las siguientes consideraciones:

    • Instale Docker desde un paquete. Si se utilizan otros métodos para instalar Docker, se producirá un error.

    • Instale los paquetes más recientes correspondientes a la versión 20.10.X de Docker.

    • Los siguientes paquetes no son obligatorios para usar la Docker CLI en Studio. No es necesario instalar lo siguiente:

      • containerd.io

      • docker-ce

      • docker-buildx-plugin

    nota

    No es necesario iniciar el servicio Docker en sus aplicaciones. La instancia en la que se aloja la aplicación de Studio ejecuta el servicio Docker de forma predeterminada. Todas las llamadas a la API de Docker se enrutan automáticamente a través del servicio Docker.

  4. Cargue los archivos .deb en el sistema de archivos de Amazon EFS o en el sistema de archivos de Amazon EBS de la aplicación.

  5. Instale manualmente los paquetes .deb de docker-ce-cli y docker-compose-plugin desde el terminal de la aplicación de Studio. Para obtener más información e instrucciones, consulte el paso 5 de Install from a package en el sitio web de documentación de Docker.

  6. Utilice el socket de Docker expuesto para las interacciones de Docker dentro de las aplicaciones de Studio. De forma predeterminada, se expone el siguiente socket:

    unix:///docker/proxy.sock

    La siguiente variable de entorno de la aplicación de Studio del USER predeterminado utiliza este socket expuesto:

    DOCKER_HOST