Empezando con el modo local - Amazon SageMaker

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.

Empezando con el 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:

  • Completar los requisitos previos

  • Configuración de EnableDockerAccess

  • Docker instalación

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 que aloja la ECR imagen de Amazon debe proporcionar permiso de acceso para la función de ejecución del usuario. La función de ejecución del dominio también debe permitir el ECR acceso de Amazon.

  • Compruebe que está utilizando la última versión de Studio Python SDK mediante el siguiente comando: 

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

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

  • Instale la Docker CLIen la aplicación Studio siguiendo los pasos que se indican enDocker instalación.

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 VPC-only modo.

nota

Los cambios se aplicarán EnableDockerAccess ú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 el EnableDockerAccess momento de 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

Al usar un dominio en VPC-only modo, Docker Las solicitudes de inserción y extracción de imágenes se envían a través del servicio VPC en lugar de ser VPC configuradas por el cliente. Gracias a esta funcionalidad, los administradores pueden configurar una lista de datos de confianza Cuentas de AWS que los usuarios pueden crear en Amazon ECR Docker extraiga y envíe las solicitudes de operaciones a.

Si una Docker si se envía una solicitud de inserción o extracción de imágenes a alguien Cuenta de AWS que no está en la lista de personas de confianza Cuentas de AWS, la solicitud no se realiza correctamente. Docker El VPC-only modo no admite operaciones de arrastre y envío fuera de Amazon Elastic Container Registry (AmazonECR).

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

  • La cuenta que aloja el SageMaker dominio.

  • SageMaker cuentas que alojan las siguientes SageMaker imágenes:

    • DLCimágenes de marco

    • Aprende, Spark, 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"]}}'

Docker instalación

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

Acceso a Internet

Si el dominio se creó con acceso público a Internet o en un VPC-only modo con acceso limitado a Internet, siga los siguientes pasos para instalarlo Docker.

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

  2. Navegue hasta el terminal de la aplicación Studio que desee instalar Docker en.

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

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

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

    • Si los comandos encadenados fallan, ejecútelos de uno en uno.

    • Studio solo admite Docker versión 20.10.X. y Docker Engine APIversión1.41.

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

      • containerd.io

      • docker-ce

      • docker-buildx-plugin

    nota

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

  5. Usa lo expuesto Docker enchufe para Docker interacciones dentro de las aplicaciones de Studio. De forma predeterminada, está expuesto el siguiente conector:

    unix:///docker/proxy.sock

    La siguiente variable de entorno de la aplicación Studio, por defecto, USER utiliza este conector expuesto:

    DOCKER_HOST

No hay acceso a internet

Si el dominio se crea en un VPC-only modo sin acceso a Internet, siga los siguientes pasos para instalarlo Docker.

  1. Navegue hasta el terminal de la aplicación Studio que desee instalar Docker en.

  2. Ejecute el siguiente comando desde el terminal para devolver el sistema operativo de la aplicación:

    cat /etc/os-release
  3. Descarga lo necesario Docker .debarchivos a su máquina local. Para obtener instrucciones sobre cómo descargar los archivos necesarios para el sistema operativo de la aplicación Studio, consulte Instalar Docker Engine.

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

    • Instalación 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 Docker versión20.10.X.

    • Los siguientes paquetes no son necesarios para usar la Docker CLIen Studio. No es necesario instalar lo siguiente:

      • containerd.io

      • docker-ce

      • docker-buildx-plugin

    nota

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

  4. Sube los .deb archivos al sistema de EFS archivos de Amazon o al sistema de EBS archivos de Amazon de la aplicación.

  5. Instale manualmente los docker-compose-plugin .deb paquetes docker-ce-cli y desde el terminal de aplicaciones Studio. Para obtener más información e instrucciones, consulte el paso 5 de Instalar desde un paquete en Docker sitio web de documentos.

  6. Usa lo expuesto Docker enchufe para Docker interacciones dentro de las aplicaciones de Studio. De forma predeterminada, está expuesto el siguiente conector:

    unix:///docker/proxy.sock

    La siguiente variable de entorno de la aplicación Studio, por defecto, USER utiliza este conector expuesto:

    DOCKER_HOST