

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Nozioni di base sulla modalità locale
<a name="studio-updated-local-get-started"></a>

Le seguenti sezioni descrivono i passaggi necessari per iniziare a utilizzare la modalità locale in Amazon SageMaker Studio, tra cui:
+ Completamento dei prerequisiti
+ Impostazione di `EnableDockerAccess`
+ Installazione di Docker

## Prerequisiti
<a name="studio-updated-local-prereq"></a>

Completa i prerequisiti seguenti per utilizzare la modalità locale nelle applicazioni Studio:
+ Per estrarre immagini da un repository Amazon Elastic Container Registry, l’account che ospita l’immagine Amazon ECR deve fornire l’autorizzazione di accesso per il ruolo di esecuzione dell’utente. Anche il ruolo di esecuzione del dominio deve consentire l’accesso ad Amazon ECR.
+ Verifica di disporre della versione più recente di Studio Python SDK utilizzando il comando seguente: 

  ```
  pip install -U sagemaker
  ```
+ Per utilizzare la modalità locale e le funzionalità Docker, imposta il parametro seguente `DockerSettings` del dominio dalla AWS Command Line Interface (AWS CLI): 

  ```
  EnableDockerAccess : ENABLED
  ```
+ Con `EnableDockerAccess`, puoi anche controllare se gli utenti del dominio possono utilizzare la modalità locale. Per impostazione predefinita, la modalità locale e le funzionalità Docker non sono consentite nelle applicazioni Studio. Per ulteriori informazioni, consulta [Impostazione di `EnableDockerAccess`](#studio-updated-local-enable).
+ Installa la CLI Docker nell’applicazione Studio seguendo la procedura in [Installazione di Docker](#studio-updated-local-docker-installation).
+ Per la [Configurazione di Docker rootless](#studio-updated-local-rootless), verifica che il VPC abbia gli endpoint appropriati e il routing configurato per i registri Docker desiderati.

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

Le sezioni seguenti mostrano come impostare `EnableDockerAccess` quando il dominio dispone di un accesso pubblico a Internet o è in modalità `VPC-only`.

**Nota**  
Le modifiche a `EnableDockerAccess` si applicano solo alle applicazioni create dopo l’aggiornamento del dominio. È necessario creare una nuova applicazione dopo l’aggiornamento del dominio.

**Accesso pubblico a Internet**

I comandi di esempio seguenti mostrano come impostare `EnableDockerAccess` quando crei un nuovo dominio o aggiorni un dominio esistente con accesso pubblico 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"}}'
```

**Modalità `VPC-only`**

Quando utilizzi un dominio in modalità `VPC-only`, le richieste push e pull delle immagini Docker non vengono instradate tramite il VPC configurato dal cliente, ma tramite il VPC del servizio. Grazie a questa funzionalità, gli amministratori possono configurare un elenco di Account AWS attendibili a cui gli utenti possono inviare richieste di operazioni pull e push Docker in Amazon ECR.

Se viene effettuata una richiesta push o pull di un'Dockerimmagine a un utente Account AWS che non è nell'elenco delle immagini attendibili Account AWS, la richiesta ha esito negativo. DockerLe operazioni pull and push al di fuori di Amazon Elastic Container Registry (Amazon ECR) non sono supportate in modalità. `VPC-only`

Le seguenti Account AWS sono considerate affidabili per impostazione predefinita:
+ L'account che ospita il dominio SageMaker AI.
+ SageMaker Account AI che ospitano le seguenti SageMaker immagini:
  + Immagini del framework DLC
  + SklearnSpark, XGBoost elaborazione delle immagini

Per configurare un elenco di altri affidabili Account AWS, specifica il `VpcOnlyTrustedAccounts` valore come segue:

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

**Nota**  
Quando [Configurazione di Docker rootless](#studio-updated-local-rootless) è abilitato, `VpcOnlyTrustedAccounts` viene ignorato e il traffico Docker viene instradato attraverso la configurazione VPC, consentendo l’accesso a qualsiasi registro raggiungibile dal VPC.

## Configurazione di Docker rootless
<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) è abilitato, Studio utilizza un [daemon Docker rootless](https://docs.docker.com/engine/security/rootless/) che instrada il traffico attraverso il VPC. Ciò offre una maggiore sicurezza e consente l’accesso a ulteriori registri Docker. Le differenze principali con `RootlessDocker` sono:
+ La configurazione del VPC determina quali registri sono accessibili per le operazioni Docker. `VpcOnlyTrustedAccounts` viene ignorato e il traffico Docker viene instradato attraverso la configurazione del VPC.

Per utilizzare Docker rootless, devi impostare sia `EnableDockerAccess` che `RootlessDocker` su `ENABLED` per `DockerSettings`. Ad esempio, negli esempi [Impostazione di `EnableDockerAccess`](#studio-updated-local-enable) precedenti, puoi modificare le impostazioni del dominio per includere:

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

## Installazione di Docker
<a name="studio-updated-local-docker-installation"></a>

Per utilizzare Docker, devi installare manualmente Docker dal terminale dell’applicazione Studio. La procedura per l’installazione di Docker può variare a seconda che il dominio abbia accesso a Internet o meno.

### Accesso a Internet
<a name="studio-updated-local-docker-installation-internet"></a>

Se il dominio viene creato con accesso pubblico a Internet o in modalità `VPC-only` con accesso limitato a Internet, utilizza la procedura seguente per l’installazione di Docker.

1. (Facoltativo) Se il dominio è stato creato in modalità `VPC-only` con accesso limitato a Internet, crea un gateway NAT pubblico con accesso al sito web Docker. Per istruzioni, consulta [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html).

1. Accedi al terminale dell’applicazione Studio in cui desideri installare Docker.

1. Per restituire il sistema operativo dell’applicazione, utilizza il comando seguente dal terminale:

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

1. Installa Docker seguendo le istruzioni per il sistema operativo dell'applicazione nel [repository Amazon SageMaker AI Local Mode Examples](https://github.com/aws-samples/amazon-sagemaker-local-mode/tree/main/sagemaker_studio_docker_cli_install).

   Ad esempio, esegui l'installazione Docker Ubuntu seguendo lo script in [https://github.com/aws-samples/amazon-sagemaker-local-mode/blob/main/sagemaker\_studio\_docker\_cli\_install/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) con le seguenti considerazioni:
   + Se i comandi concatenati non riescono, esegui un comando alla volta.
   + Studio supporta solo Docker versione `20.10.X.` e Docker Engine API versione `1.41`.
   + I seguenti pacchetti non sono necessari per utilizzare la CLI Docker in Studio e la loro installazione può essere ignorata:
     + `containerd.io`
     + `docker-ce`
     + `docker-buildx-plugin`
**Nota**  
Non è necessario avviare il servizio Docker nelle applicazioni. L’istanza che ospita l’applicazione Studio esegue il servizio Docker per impostazione predefinita. Tutte le chiamate API Docker vengono instradate automaticamente tramite il servizio Docker.

1. Utilizza il socket Docker esposto per le interazioni Docker all’interno delle applicazioni Studio. Per impostazione predefinita, è esposto il socket seguente:

   ```
   unix:///docker/proxy.sock
   ```

   La variabile di ambiente dell’applicazione Studio seguente per il valore `USER` predefinito utilizza questo socket esposto:

   ```
   DOCKER_HOST
   ```

### Nessun accesso a Internet
<a name="studio-updated-local-docker-installation-no-internet"></a>

Se il dominio viene creato in modalità `VPC-only` senza accesso a Internet, utilizza la procedura seguente per l’installazione di Docker.

1. Accedi al terminale dell’applicazione Studio in cui desideri installare Docker.

1. Utilizza il comando seguente dal terminale per restituire il sistema operativo dell’applicazione:

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

1. Scarica i file `.deb` Docker richiesti nel computer locale. Per istruzioni su come scaricare i file richiesti per il sistema operativo dell’applicazione Studio, consulta [Install Docker Engine](https://docs.docker.com/engine/install/).

   Ad esempio, installa Docker da un pacchetto su Ubuntu seguendo le fasi da 1 a 4 in [Install from a package](https://docs.docker.com/engine/install/ubuntu/#install-from-a-package) con le seguenti considerazioni:
   + Installa Docker da un pacchetto. Non sono previsti altri metodi di installazione di Docker.
   + Installa i pacchetti più recenti corrispondenti a Docker versione `20.10.X`.
   + I pacchetti seguenti non sono necessari per utilizzare la CLI Docker in Studio. Non è necessario installare quanto segue:
     + `containerd.io`
     + `docker-ce`
     + `docker-buildx-plugin`
**Nota**  
Non è necessario avviare il servizio Docker nelle applicazioni. L’istanza che ospita l’applicazione Studio esegue il servizio Docker per impostazione predefinita. Tutte le chiamate API Docker vengono instradate automaticamente tramite il servizio Docker.

1. Carica i file `.deb` nel file system Amazon EFS o nel file system Amazon EBS dell’applicazione.

1. Installa manualmente i pacchetti `docker-ce-cli` e `docker-compose-plugin` `.deb` dal terminale dell’applicazione Studio. Per ulteriori informazioni e istruzioni, consulta la fase 5 in [Install from a package](https://docs.docker.com/engine/install/ubuntu/#install-from-a-package) sul sito web della documentazione Docker.

1. Utilizza il socket Docker esposto per le interazioni Docker all’interno delle applicazioni Studio. Per impostazione predefinita, è esposto il socket seguente:

   ```
   unix:///docker/proxy.sock
   ```

   La variabile di ambiente dell’applicazione Studio seguente per il valore `USER` predefinito utilizza questo socket esposto:

   ```
   DOCKER_HOST
   ```