Conceitos básicos do modo local - 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á.

Conceitos básicos do modo local

As seções a seguir descrevem as etapas necessárias para começar a usar o modo local no Amazon SageMaker Studio, incluindo:

  • Como concluir os pré-requisitos

  • Configurar EnableDockerAccess

  • Instalação do Docker

Pré-requisitos

Preencha os seguintes pré-requisitos para usar o modo local nas aplicações do Studio:

  • Para extrair imagens de um repositório do Amazon Elastic Container Registry, a conta que hospeda a imagem do Amazon ECR deve fornecer permissão de acesso para a função de execução do usuário. A função de execução do domínio também deve permitir o acesso ao Amazon ECR.

  • Verifique se você está usando a versão mais recente do SDK do Studio Python usando o seguinte comando: 

    pip install -U sagemaker
  • Para usar o modo e Docker os recursos locais, defina o seguinte parâmetro do domínio DockerSettings usando o AWS Command Line Interface (AWS CLI): 

    EnableDockerAccess : ENABLED
  • Ao usar EnableDockerAccess, você também pode controlar se os usuários no domínio podem usar o modo local. Por padrão, o modo e os recursos locais do Docker não são permitidos nas aplicações do Studio. Para obter mais informações, consulte Configurar EnableDockerAccess.

  • Instale a CLI do Docker na aplicação do Studio seguindo as etapas em Instalação do Docker.

Configurar EnableDockerAccess

As seções a seguir mostram como definir EnableDockerAccess quando o domínio tem acesso público à internet ou está no modo VPC-only.

nota

As alterações serão aplicadas ao EnableDockerAccess apenas nas aplicações criadas após a atualização do domínio. Crie uma aplicação depois de atualizar o domínio.

Acesso público à internet

Os seguintes comandos de exemplo mostram como configurar o EnableDockerAccess ao criar um novo domínio ou atualizar um domínio existente com acesso público à 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

Ao usar um domínio no modo VPC-only, as solicitações push e pull de imagem do Docker são roteadas pelo serviço VPC em vez da VPC configurada pelo cliente. Devido a esta funcionalidade, os administradores podem configurar uma lista de Contas da AWS confiáveis para as quais os usuários podem solicitar operações pull e push do Docker do Amazon ECR.

Se uma solicitação push ou pull de Docker imagem for feita para uma Conta da AWS que não esteja na lista de confiáveis Contas da AWS, a solicitação falhará. DockerAs operações pull and push fora do Amazon Elastic Container Registry (Amazon ECR) não são suportadas VPC-only no modo.

Por padrão, os itens a seguir Contas da AWS são confiáveis:

  • A conta que hospeda o domínio SageMaker AI.

  • SageMaker Contas de IA que hospedam as seguintes SageMaker imagens:

    • Imagens da estrutura DLC

    • SklearnSpark, XGBoost processando imagens

Para configurar uma lista de outros confiáveis Contas da AWS, especifique o VpcOnlyTrustedAccounts valor da seguinte forma:

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

Instalação do Docker

Para usar o Docker, você deve instalar manualmente o Docker por meio do terminal da aplicação do Studio. As etapas de instalação do Docker são diferentes se o domínio tiver acesso à internet ou não.

Acesso à Internet

Se o domínio for criado com acesso público à internet ou no modo VPC-only com acesso limitado à internet, use as etapas a seguir para instalar o Docker.

  1. (Opcional) Se seu domínio for criado no modo de VPC-only com acesso limitado à internet, crie um gateway NAT público com acesso ao site do Docker. Para ter instruções, consulte Gateways NAT.

  2. Navegue até o terminal da aplicação do Studio em que deseja instalar o Docker.

  3. Para retornar o sistema operacional da aplicação, execute o seguinte comando no terminal:

    cat /etc/os-release
  4. Instale Docker seguindo as instruções para o sistema operacional do aplicativo no repositório Amazon SageMaker AI Local Mode Examples.

    Por exemplo, instale Docker Ubuntu seguindo o script em https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker_studio_docker_cli_install/sagemaker- ubuntu-focal-docker-cli -install.sh com as seguintes considerações:

    • Se os comandos encadeados falharem, execute comandos individualmente.

    • O Studio é compatível apenas com o Docker versão 20.10.X. e a API do Docker Engine versão 1.41.

    • Os seguintes pacotes não precisam usar a CLI do Docker no Studio e sua instalação pode ser ignorada:

      • containerd.io

      • docker-ce

      • docker-buildx-plugin

    nota

    Você não precisa iniciar o serviço do Docker em suas aplicações. A instância que hospeda a aplicação do Studio executa o serviço do Docker por padrão. Todas as chamadas de API do Docker são roteadas automaticamente pelo serviço do Docker.

  5. Use o soquete do Docker exposto para interações do Docker nas aplicações do Studio. Por padrão, o seguinte soquete é exposto:

    unix:///docker/proxy.sock

    A seguinte variável de ambiente da aplicação do Studio para o USER padrão usa esse soquete exposto:

    DOCKER_HOST

Sem acesso à internet

Se o domínio for criado no modo VPC-only sem acesso à internet, use as etapas a seguir para instalar o Docker.

  1. Navegue até o terminal da aplicação do Studio em que deseja instalar o Docker.

  2. Execute o seguinte comando no terminal para retornar o sistema operacional da aplicação:

    cat /etc/os-release
  3. Baixe os arquivos .deb do Docker necessários em sua máquina local. Para instruções sobre como baixar os arquivos necessários para o sistema operacional da aplicação do Studio, consulte Instalar o Docker Engine.

    Por exemplo, instale o Docker a partir de um pacote no Ubuntu seguindo as etapas de 1 a 4 em Instalar de um pacote com as seguintes considerações:

    • Instale Docker a partir de um pacote. O uso de outros métodos para instalar o Docker não funcionará.

    • Instale os pacotes mais recentes correspondentes à versão20.10.X do Docker.

    • Os pacotes a seguir não são obrigatórios para usar a CLI do Docker no Studio. Não é necessário instalar:

      • containerd.io

      • docker-ce

      • docker-buildx-plugin

    nota

    Você não precisa iniciar o serviço do Docker em suas aplicações. A instância que hospeda a aplicação do Studio executa o serviço do Docker por padrão. Todas as chamadas de API do Docker são roteadas automaticamente pelo serviço do Docker.

  4. Carregue os arquivos .deb no sistema de arquivos do Amazon EFS ou no sistema de arquivos do Amazon EBS da aplicação.

  5. Instale manualmente os pacotes .deb docker-ce-cli e docker-compose-plugin por meio do terminal da aplicação do Studio. Para mais informações e instruções, consulte a etapa 5 em Instalar a partir de um pacote no site da de docs do Docker.

  6. Use o soquete do Docker exposto para interações do Docker nas aplicações do Studio. Por padrão, o seguinte soquete é exposto:

    unix:///docker/proxy.sock

    A seguinte variável de ambiente da aplicação do Studio para o USER padrão usa esse soquete exposto:

    DOCKER_HOST