

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
<a name="studio-updated-local-get-started"></a>

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
<a name="studio-updated-local-prereq"></a>

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 os recursos locais do Docker, defina o seguinte parâmetro do domínio `DockerSettings` usando a 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`](#studio-updated-local-enable).
+ Instale a CLI do Docker na aplicação do Studio seguindo as etapas em [Instalação do Docker](#studio-updated-local-docker-installation).
+ Para a [Configuração do Docker sem raiz](#studio-updated-local-rootless), sua VPC deve ter endpoints e roteamento apropriados configurados para os registros do Docker desejados.

## Configurar `EnableDockerAccess`
<a name="studio-updated-local-enable"></a>

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"]}}'
```

**nota**  
Quando [Configuração do Docker sem raiz](#studio-updated-local-rootless) está habilitada, `VpcOnlyTrustedAccounts` é ignorado e o tráfego do Docker passa por sua configuração de VPC, permitindo acesso a qualquer registro que sua VPC possa acessar.

## Configuração do Docker sem raiz
<a name="studio-updated-local-rootless"></a>

Quando [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DockerSettings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DockerSettings.html) está habilitado, o Studio usa um [daemon do Docker sem raiz](https://docs.docker.com/engine/security/rootless/) que roteia o tráfego pela sua VPC. Isso oferece segurança aprimorada e permite acesso a registros adicionais do Docker. As principais diferenças com o `RootlessDocker` são:
+ Sua configuração de VPC determina quais registros são acessíveis para operações do Docker. `VpcOnlyTrustedAccounts` é ignorado e o tráfego do Docker passa por sua configuração de VPC.

Para usar o Docker sem raiz, você precisará definir `EnableDockerAccess` e `RootlessDocker` como `ENABLED` para suas `DockerSettings`. Por exemplo, nos exemplos de [Configurar `EnableDockerAccess`](#studio-updated-local-enable) acima, você pode modificar as configurações do seu domínio para incluir:

```
'{"DockerSettings": {"EnableDockerAccess": "ENABLED", "RootlessDocker": "ENABLED"}}'
```

## Instalação do Docker
<a name="studio-updated-local-docker-installation"></a>

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
<a name="studio-updated-local-docker-installation-internet"></a>

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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).

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

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

   ```
   cat /etc/os-release
   ```

1. Instale Docker seguindo as instruções para o sistema operacional do aplicativo no [repositório Amazon SageMaker AI Local Mode Examples](https://github.com/aws-samples/amazon-sagemaker-local-mode/tree/main/sagemaker_studio_docker_cli_install).

   Por exemplo, instale Docker Ubuntu seguindo o script em [https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker\$1studio\$1docker\$1cli\$1install/sagemaker- ubuntu-focal-docker-cli -install.sh](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.

1. 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
<a name="studio-updated-local-docker-installation-no-internet"></a>

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.

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

   ```
   cat /etc/os-release
   ```

1. 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](https://docs.docker.com/engine/install/).

   Por exemplo, instale o Docker a partir de um pacote no Ubuntu seguindo as etapas de 1 a 4 em [Instalar de um pacote](https://docs.docker.com/engine/install/ubuntu/#install-from-a-package) 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ão`20.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.

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

1. 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](https://docs.docker.com/engine/install/ubuntu/#install-from-a-package) no site da de docs do Docker.

1. 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
   ```