View a markdown version of this page

Conectar-se à VPC com sub-redes sem acesso à internet - 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á.

Conectar-se à VPC com sub-redes sem acesso à internet

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

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.

Proxy HTTP com lista de permissões controlada

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.

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)

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

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

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

  2. 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 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)

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