Forneça acesso a imagens personalizadas aos usuários - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Forneça acesso a imagens personalizadas aos usuários

Esta documentação fornece step-by-step instruções para fornecer aos usuários acesso a imagens personalizadas em seus JupyterLab ambientes. Você pode usar as informações desta página na criação de ambientes personalizados para os fluxos de trabalho do seu usuário. O processo envolve a utilização de:

  • Docker

  • AWS Command Line Interface

  • Amazon Elastic Container Registry

  • SageMaker Inteligência Artificial da Amazon AWS Management Console

Depois de seguir as orientações nesta página, JupyterLab os usuários no domínio Amazon SageMaker AI terão acesso à imagem e ao ambiente personalizados em seus espaços do Jupyter para fortalecer seus fluxos de trabalho de aprendizado de máquina.

Importante

Esta página pressupõe que você tenha o e AWS Command Line Interface Docker instalado em sua máquina local.

Para que seus usuários executem suas imagens com êxito JupyterLab, você deve fazer o seguinte:

Para que seus usuários executem a imagem com sucesso
  1. Crie o Dockerfile

  2. Crie a imagem do seu Dockerfile

  3. Carregue a imagem no Amazon Elastic Container Registry

  4. Anexe a imagem ao seu domínio Amazon SageMaker AI

  5. Faça com que seus usuários acessem a imagem do seu JupyterLab espaço

Etapa 1: criar o Dockerfile

Crie um Dockerfile para definir as etapas necessárias para criar o ambiente necessário para executar a aplicação nos contêineres de seus usuários.

Importante

O Dockerfile deve atender às especificações fornecidas em Especificações do Dockerfile.

Use o seguinte modelo do Dockerfile para criar uma imagem do Amazon Linux 2:

FROM public.ecr.aws/amazonlinux/amazonlinux:2 ARG NB_USER="sagemaker-user" ARG NB_UID="1000" ARG NB_GID="100" RUN yum install --assumeyes python3 shadow-utils && \ useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \ yum clean all && \ python3 -m pip install jupyterlab RUN python3 -m pip install --upgrade pip RUN python3 -m pip install --upgrade urllib3==1.26.6 USER ${NB_UID} CMD jupyter lab --ip 0.0.0.0 --port 8888 \ --ServerApp.base_url="/jupyterlab/default" \ --ServerApp.token='' \ --ServerApp.allow_origin='*'

Use o seguinte modelo do Dockerfile para criar uma imagem de SageMaker distribuição da Amazon:

FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu ARG NB_USER="sagemaker-user" ARG NB_UID=1000 ARG NB_GID=100 ENV MAMBA_USER=$NB_USER USER root RUN apt-get update RUN micromamba install sagemaker-inference --freeze-installed --yes --channel conda-forge --name base USER $MAMBA_USER ENTRYPOINT ["jupyter-lab"] CMD ["--ServerApp.ip=0.0.0.0", "--ServerApp.port=8888", "--ServerApp.allow_origin=*", "--ServerApp.token=''", "--ServerApp.base_url=/jupyterlab/default"]

Etapa 2: Criação do Dockerfile

No mesmo diretório do Dockerfile, crie sua imagem usando o seguinte comando:

docker build -t username/imagename:tag your-account-id.dkr.ecr.Região da AWS.amazonaws.com/your-repository-name:tag
Importante

A imagem deve ser rotulada no seguinte formato: 123456789012.dkr.ecr.your-region.amazonaws.com/your-repository-name:tag

Você não poderá enviá-la para um repositório do Amazon Elastic Container Registry.

Etapa 3: Envio da imagem para o repositório do Amazon Elastic Container Registry

Depois de criada a sua imagem, inicie a sessão no seu repositório Amazon ECR usando o seguinte comando:

aws ecr get-login-password --region Região da AWS | docker login --username AWS --password-stdin 123456789012.dkr.ecr.Região da AWS.amazonaws.com

Depois de iniciar a sessão, envie o Dockerfile usando o seguinte comando:

docker push 123456789012.dkr.ecr.Região da AWS.amazonaws.com/your-repository-name:tag

Etapa 4: anexar imagem ao domínio Amazon SageMaker AI de seus usuários

Importante

As políticas do IAM personalizadas que permitem que os usuários do Studio criem espaços devem conceder permissões também para listar imagens (sagemaker: ListImage) para visualizar imagens personalizadas. Para adicionar a permissão, consulte Adicionar ou remover permissões de identidade no Guia do usuário do AWS Identity and Access Management.

AWS políticas gerenciadas para Amazon SageMaker AIque dão permissões para criar recursos de SageMaker IA já incluem permissões para listar imagens ao criar esses recursos.

Depois de enviar a imagem, você deve acessá-la a partir do seu domínio Amazon SageMaker AI. Use o procedimento a seguir para anexar a imagem a um domínio de SageMaker IA:

  1. Abra o console de SageMaker IA.

  2. Em Configurações do administrador, escolha Domínios.

  3. A partir da lista de Domínios, escolha um domínio.

  4. Abra a página de Ambiente.

  5. Para Imagens personalizadas para aplicações pessoais do Studio, escolha Anexar imagem.

  6. Especifique a fonte da imagem.

  7. Escolha Próximo.

  8. Selecione Enviar.

Agora, seus usuários podem selecionar a imagem que você anexou ao domínio deles JupyterLab no espaço deles.