

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

# Conectar-se à VPC com sub-redes sem acesso à internet
<a name="remote-access-local-ide-setup-vpc-no-internet"></a>

Antes de conectar seu IDE remoto aos espaços do Studio em sub-redes privadas sem acesso à Internet, verifique se o administrador o fez. [Configurar o Studio para ser executado com sub-redes sem acesso à internet em uma VPC](remote-access-remote-setup-vpc-subnets-without-internet-access.md)

Você tem as seguintes opções para conectar seu IDE remoto aos espaços do Studio em sub-redes privadas:
+ Configurar o proxy HTTP (compatível com VS Code e Kiro)
+ Servidor remoto e extensões pré-empacotados (somente VS Code)

**Importante**  
O cursor não é suportado para conexão com espaços do Studio em sub-redes privadas sem acesso de saída à Internet.

**Topics**
+ [Proxy HTTP com lista de permissões controlada](#remote-access-local-ide-setup-vpc-no-internet-http-proxy-with-controlled-allow-listing)
+ [Servidor remoto e extensões pré-empacotados (somente VS Code)](#remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions)

## Proxy HTTP com lista de permissões controlada
<a name="remote-access-local-ide-setup-vpc-no-internet-http-proxy-with-controlled-allow-listing"></a>

Quando o espaço do Studio estiver protegido por um firewall ou proxy, peça ao administrador que permita o acesso ao seu servidor IDE e aos endpoints CDNs e relacionados à extensão. Para obter mais informações, consulte [Configurar o proxy HTTP com lista de permissões controlada](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 ]

Configure o proxy HTTP para o desenvolvimento remoto do VS Code fornecendo a URL do proxy com a `remote.SSH.httpsProxy` configuração `remote.SSH.httpProxy` ou.

**nota**  
Considere habilitar “Remote.ssh: use arquivos de configuração Curl e Wget” para usar a configuração dos arquivos e do ambiente remoto. `curlrc` `wgetrc` Isso é para que os `wgetrc` arquivos `curlrc` e, colocados em seus respectivos locais padrão no SageMaker espaço, possam ser usados para habilitar determinados casos.

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

Configure o proxy HTTP para o desenvolvimento remoto do Kiro definindo a `aws.sagemaker.ssh.kiro.httpsProxy` configuração para seu endpoint de proxy HTTP ou HTTPS.

Se você usa servidores MCP (Model Context Protocol) no Kiro, também precisa adicionar as variáveis de ambiente proxy à configuração do servidor MCP:

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

------

Essa opção funciona quando você tem permissão para configurar o proxy HTTP e permite instalar extensões adicionais de forma flexível, pois algumas extensões exigem um endpoint público.

## Servidor remoto e extensões pré-empacotados (somente VS Code)
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions"></a>

**nota**  
Essa opção está disponível somente para o Visual Studio Code. O Kiro e o Cursor não oferecem suporte à configuração pré-empacotada do servidor remoto.

Quando seus espaços do Studio não conseguem acessar endpoints externos para baixar o servidor remoto e extensões do VS Code, você pode empacotá-los previamente. Com essa abordagem, o administrador pode exportar um tarball que contém o diretório `.VS Code-server` de uma versão específica do VS Code. Em seguida, o administrador usa um script SageMaker AI Lifecycle Configuration (LCC) para copiar e extrair o tarball em seu diretório inicial (). `/home/sagemaker-user` Para obter mais informações, consulte [Configurar servidores remotos e extensões pré-empacotados (somente 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).

**Instruções para pré-empacotar o servidor remoto e as extensões do VS Code**

1. Instale o VS Code na máquina local.

1. Quando você se conecta ao SageMaker espaço:
   + Use o perfil padrão para garantir a compatibilidade com extensões pré-empacotadas. Caso contrário, você precisará instalar extensões usando os arquivos VSIX baixados depois de se conectar ao espaço do Studio.
   + Escolha um script de LCC específico da versão do VS Code para anexar ao espaço ao iniciá-lo.

### Exemplo de uso do Dockerfile para pré-empacotar seu servidor remoto e extensões do VS Code
<a name="remote-access-local-ide-setup-vpc-no-internet-pre-packaged-vs-code-remote-server-and-extensions-example-dockerfile"></a>

A seguir é apresentado um exemplo de Dockerfile para iniciar um contêiner local com o servidor SSH pré-instalado, caso não seja possível criar um espaço com acesso remoto e internet habilitada.

**nota**  
Neste exemplo, o servidor SSH não requer autenticação e é usado apenas para exportar o servidor remoto do VS Code.
O contêiner deve ser criado e executado em uma arquitetura 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"]
```

Use os seguintes comandos para criar e executar o contêiner:

```
# 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 &'
```

Conecte-se usando o seguinte comando:

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

Para que esse contêiner possa ser conectado, faça a configuração abaixo no arquivo `.ssh/config`. Depois, você poderá ver `remote_access_export` como um nome de host no painel lateral de SSH remoto ao se conectar. Por exemplo:

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

Arquive `/tmp/remote_access/.VS Code-server` e siga as etapas em “Servidor remoto e extensões pré-empacotados do VS Code” para conectar e instalar a extensão. Depois de descompactar, verifique se a pasta `.VS Code-server` aparece como a pasta principal.

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

### Exemplo de 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>

Veja a seguir um exemplo de como instalar uma versão específica do servidor remoto do 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
```