

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à.

# Connessione a VPC con sottoreti senza accesso a Internet
<a name="remote-access-local-ide-setup-vpc-no-internet"></a>

Prima di connettere l'IDE remoto agli spazi di Studio in sottoreti private senza accesso a Internet, assicurati che l'amministratore lo abbia fatto. [Configurazione di Studio per l’esecuzione con sottoreti senza accesso a Internet all’interno di un VPC](remote-access-remote-setup-vpc-subnets-without-internet-access.md)

Sono disponibili le seguenti opzioni per connettere l'IDE remoto agli spazi Studio in sottoreti private:
+ Configura il proxy HTTP (supportato per VS Code e Kiro)
+ Server remoto ed estensioni preconfezionati (solo VS Code)

**Importante**  
Il cursore non è supportato per la connessione agli spazi Studio in sottoreti private senza accesso a Internet in uscita.

**Topics**
+ [Proxy HTTP con elenchi controllati di elementi consentiti](#remote-access-local-ide-setup-vpc-no-internet-http-proxy-with-controlled-allow-listing)
+ [Server ed estensioni remoti preconfezionati (solo VS Code)](#remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions)

## Proxy HTTP con elenchi controllati di elementi consentiti
<a name="remote-access-local-ide-setup-vpc-no-internet-http-proxy-with-controlled-allow-listing"></a>

Se lo spazio di Studio è protetto da un firewall o da un proxy, chiedete all'amministratore di consentire l'accesso al server IDE e agli endpoint relativi alle estensioni. CDNs Per ulteriori informazioni, consulta [Configurazione del proxy HTTP con elenchi controllati di elementi consentiti](remote-access-remote-setup-vpc-subnets-without-internet-access.md#remote-access-remote-setup-vpc-subnets-without-internet-access-setup-http-proxy-with-controlled-allow-listing).

------
#### [ VS Code ]

Configura il proxy HTTP per lo sviluppo remoto di VS Code fornendo all'URL del proxy l'`remote.SSH.httpProxy`impostazione or. `remote.SSH.httpsProxy`

**Nota**  
Prendi in considerazione l'abilitazione di «Remote.ssh: usa i file di configurazione Curl e Wget» per utilizzare la configurazione dall'ambiente e dai file remoti. `curlrc` `wgetrc` In questo modo i `wgetrc` file `curlrc` and, collocati nelle rispettive posizioni predefinite SageMaker nello spazio, possono essere utilizzati per abilitare determinati casi.

------
#### [ Kiro ]

Configura il proxy HTTP per lo sviluppo remoto di Kiro impostando l'`aws.sagemaker.ssh.kiro.httpsProxy`impostazione sul tuo endpoint proxy HTTP o HTTPS.

Se utilizzi i server MCP (Model Context Protocol) in Kiro, devi anche aggiungere le variabili di ambiente proxy alla configurazione del tuo server MCP:

```
"env": {
    "http_proxy": "${http_proxy}",
    "https_proxy": "${https_proxy}"
}
```

------

Questa opzione, che richiede le autorizzazioni per configurare il proxy HTTP, consente di installare estensioni aggiuntive in modo flessibile, visto che alcune estensioni richiedono un endpoint pubblico.

## Server ed estensioni remoti preconfezionati (solo VS Code)
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions"></a>

**Nota**  
Questa opzione è disponibile solo per Visual Studio Code. Kiro e Cursor non supportano la configurazione preconfezionata del server remoto.

Quando gli spazi Studio non possono accedere agli endpoint esterni per scaricare il server remoto e le estensioni VS Code, puoi preconfezionarli. Con questo approccio, l’amministratore può esportare un tarball che contiene la directory `.VS Code-server` per una versione specifica di VS Code. Quindi, l'amministratore utilizza uno script SageMaker AI Lifecycle Configuration (LCC) per copiare ed estrarre il tarball nella home directory (). `/home/sagemaker-user` Per ulteriori informazioni, consulta [Configura server ed estensioni remoti preconfezionati (solo VS Code)](remote-access-remote-setup-vpc-subnets-without-internet-access.md#remote-access-remote-setup-vpc-subnets-without-internet-access-setup-pre-packaged-vs-code-remote-server-and-extensions).

**Istruzioni per utilizzare il preconfezionamento per il server remoto e le estensioni VS Code**

1. Installa VS Code sul computer locale.

1. Quando ti connetti allo spazio: SageMaker 
   + Utilizza il profilo predefinito per garantire la compatibilità con le estensioni preconfezionate. In caso contrario, dovrai installare le estensioni utilizzando i file VSIX scaricati dopo la connessione allo spazio Studio.
   + Scegli uno script LCC specifico per la versione di VS Code da collegare allo spazio quando lo avvii.

### Esempio di utilizzo di Dockerfile per preconfezionare il server remoto e le estensioni VS Code
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-dockerfile"></a>

Di seguito è riportato un Dockerfile di esempio per avviare un container locale con il server SSH preinstallato, se non è possibile creare uno spazio con accesso remoto e accesso a Internet.

**Nota**  
In questo esempio, il server SSH non richiede l’autenticazione e viene utilizzato solo per esportare il server remoto VS Code.
Il container deve essere creato ed eseguito su un’architettura x64.

```
FROM amazonlinux:2023

# Install OpenSSH server and required tools
RUN dnf install -y \
    openssh-server \
    shadow-utils \
    passwd \
    sudo \
    tar \
    gzip \
    && dnf clean all

# Create a user with no password
RUN useradd -m -s /bin/bash sagemaker-user && \
    passwd -d sagemaker-user

# Add sagemaker-user to sudoers via wheel group
RUN usermod -aG wheel sagemaker-user && \
    echo 'sagemaker-user ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/sagemaker-user && \
    chmod 440 /etc/sudoers.d/sagemaker-user

# Configure SSH to allow empty passwords and password auth
RUN sed -i 's/^#\?PermitEmptyPasswords .*/PermitEmptyPasswords yes/' /etc/ssh/sshd_config && \
    sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication yes/' /etc/ssh/sshd_config

# Generate SSH host keys
RUN ssh-keygen -A

# Expose SSH port
EXPOSE 22

WORKDIR /home/sagemaker-user
USER sagemaker-user

# Start SSH server
CMD ["bash"]
```

Utilizza i comandi seguenti per creare ed eseguire il container:

```
# Build the image
docker build . -t remote_server_export

# Run the container
docker run --rm -it -d \
  -v /tmp/remote_access/.VS Code-server:/home/sagemaker-user/.VS Code-server \
  -p 2222:22 \
  --name remote_server_export \
  remote_server_export
  
# change the permisson for the mounted folder
docker exec -i remote_server_export \
       bash -c 'sudo chown sagemaker-user:sagemaker-user ~/.VS Code-server'

# start the ssh server in the container 
docker exec -i remote_server_export bash -c 'sudo /usr/sbin/sshd -D &'
```

Connettiti con il comando seguente:

```
ssh sagemaker-user@localhost -p 2222
```

Prima di connettere il container, configura quanto segue nel file `.ssh/config`. Successivamente, potrai visualizzare `remote_access_export` come nome host nel pannello laterale SSH remoto durante la connessione. Esempio:

```
Host remote_access_export
  HostName localhost
  User=sagemaker-user
  Port 2222
  ForwardAgent yes
```

Archivia `/tmp/remote_access/.VS Code-server` e segui la procedura indicata in Server remoto ed estensioni VS Code preconfezionati per connettere e installare l’estensione. Dopo la decompressione, assicurati che la cartella `.VS Code-server` venga visualizzata come cartella principale.

```
cd /tmp/remote_access/
sudo tar -czvf VS Code-server-with-extensions-for-1.100.2.tar.gz .VS Code-server
```

### Esempio di script LCC (LCC-install-VS C ode-server-v 1.100.2)
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-lcc"></a>

Di seguito è riportato un esempio che spiega come installare una versione specifica del server remoto VS Code.

```
#!/bin/bash

set -x

remote_server_file=VS Code-server-with-extensions-for-1.100.2.tar.gz

if [ ! -d "${HOME}/.VS Code-server" ]; then
    cd /tmp
    aws s3 cp s3://S3_BUCKET/remote_access/${remote_server_file} .
    tar -xzvf ${remote_server_file}
    mv .VS Code-server "${HOME}"
    rm ${remote_server_file}
else
    echo "${HOME}/.VS Code-server already exists, skipping download and install."
fi
```