View a markdown version of this page

Conexión a una VPC con subredes sin acceso a Internet - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Conexión a una VPC con subredes sin acceso a Internet

Antes de conectar su IDE remoto a espacios de Studio en subredes privadas sin acceso a Internet, asegúrese de que su administrador lo haya hechoConfiguración de Studio para que se ejecute con subredes sin acceso a Internet dentro de una VPC.

Dispones de las siguientes opciones para conectar tu IDE remoto a los espacios de Studio en subredes privadas:

  • Configura el proxy HTTP (compatible con VS Code y Kiro)

  • Servidor remoto y extensiones preempaquetados (solo VS Code)

importante

El cursor no es compatible para conectarse a espacios de Studio en subredes privadas sin acceso saliente a Internet.

Proxy HTTP con una lista de permisos controlada

Cuando tu espacio de Studio esté protegido por un firewall o un proxy, pídele al administrador que te permita acceder al servidor IDE y a los puntos finales y relacionados con las extensiones. CDNs Para obtener más información, consulte Configuración del proxy HTTP con una lista de permisos controlada.

VS Code

Configure el proxy HTTP para el desarrollo remoto de VS Code proporcionando la URL del proxy con la remote.SSH.httpProxy configuración o. remote.SSH.httpsProxy

nota

Considere habilitar «Remote.ssh: Use Curl and Wget Configuration Files» para usar la configuración del entorno y los archivos remotos. curlrc wgetrc Esto es para que los wgetrc archivos curlrc y, colocados en sus respectivas ubicaciones predeterminadas en el SageMaker espacio, puedan usarse para habilitar ciertos casos.

Kiro

Configure el proxy HTTP para el desarrollo remoto de Kiro configurando la aws.sagemaker.ssh.kiro.httpsProxy configuración en su punto final de proxy HTTP o HTTPS.

Si utiliza servidores MCP (Model Context Protocol) en Kiro, también necesitará añadir las variables de entorno del proxy a la configuración de su servidor MCP:

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

Esta opción funciona cuando se le permite configurar un proxy HTTP e instalar extensiones adicionales de forma flexible, ya que algunas extensiones requieren un punto de conexión público.

Servidor remoto y extensiones preempaquetados (solo VS Code)

nota

Esta opción solo está disponible para Visual Studio Code. Kiro y Cursor no admiten la configuración de servidor remoto preconfigurada.

Si sus espacios de Studio no pueden acceder a puntos de conexión externos para descargar el servidor remoto y las extensiones de Visual Studio Code, puede preempaquetarlos. Con este enfoque, su administrador puede exportar un archivo tarball que contiene el directorio .VS Code-server de una versión específica de Visual Studio Code. A continuación, el administrador utiliza un script de configuración del ciclo de vida de la SageMaker IA (LCC) para copiar y extraer el archivo tar en su directorio principal (). /home/sagemaker-user Para obtener más información, consulte Configure el servidor remoto y las extensiones preempaquetados (solo en VS Code).

Instrucciones para preempaquetar su servidor remoto de Visual Studio Code y las extensiones

  1. Instale Visual Studio Code en su equipo local.

  2. Cuando te conectas al espacio: SageMaker

    • Utilice el perfil predeterminado para garantizar que sea compatible con las extensiones preempaquetadas. De lo contrario, tendrá que instalar las extensiones con los archivos VSIX descargados después de conectarse al espacio de Studio.

    • Elija un script de LCC específico de la versión de Visual Studio Code para asociarlo al espacio cuando lo lance.

Ejemplo de uso de Dockerfile para preempaquetar el servidor remoto y las extensiones de Visual Studio Code

El siguiente es un ejemplo de Dockerfile para lanzar un contenedor local con el servidor SSH preinstalado, en el caso de que no se pueda crear un espacio con acceso remoto y a Internet.

nota
  • En este ejemplo, el servidor SSH no requiere autenticación y solo se usa para exportar el servidor remoto de Visual Studio Code.

  • El contenedor debe diseñarse y ejecutarse en una arquitectura 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 los siguientes comandos para diseñar y ejecutar el contenedor.

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

Conexión mediante el siguiente comando:

ssh sagemaker-user@localhost -p 2222

Para poder conectar este contenedor, debe configurar lo siguiente en el archivo .ssh/config. Después, cuando se conecte, podrá ver remote_access_export como nombre de host en el panel lateral de SSH remoto. Por ejemplo:

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

Archive /tmp/remote_access/.VS Code-server y siga los pasos del servidor remoto y las extensiones preempaquetadas de Visual Studio Code para conectar e instalar la extensión. Después de descomprimirla, asegúrese de que la carpeta .VS Code-server aparezca como la carpeta principal.

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

Ejemplo de script LCC (LCC-install-VS C ode-server-v 1.100.2)

En el siguiente ejemplo se muestra cómo instalar una versión específica del servidor remoto de Visual Studio 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