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 Visual Studio Code a espacios de Studio en subredes privadas sin acceso a Internet, asegúrese de que su administrador haya Configuración de Studio para que se ejecute con subredes sin acceso a Internet dentro de una VPC.
Tiene dos opciones para conectar su Visual Studio Code local a los espacios de Studio en subredes privadas:
-
Configurar el proxy HTTP
-
Servidor remoto y extensiones de Visual Studio Code preempaquetados
Temas
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 VS Code y a los puntos finales relacionados con las extensiones CDNs . Para obtener más información, consulte Configuración del proxy HTTP con una lista de permisos controlada.
A continuación, puede configurar el proxy HTTP para el desarrollo remoto de Visual Studio Code proporcionando la URL del proxy con la configuración remote.SSH.httpProxy o remote.SSH.httpsProxy.
nota
Considere habilitar “Remote.SSH: Use Curl And Wget Configuration Files” para usar la configuración de los archivos curlrc y wgetrc del entorno remoto. De este modo, los wgetrc archivos curlrc y, situados en sus respectivas ubicaciones predeterminadas en el SageMaker espacio, se puedan utilizar para habilitar determinados casos.
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 de Visual Studio Code preempaquetados
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 Configuración del servidor remoto y las extensiones de Visual Studio Code preempaquetados.
Instrucciones para preempaquetar su servidor remoto de Visual Studio Code y las extensiones
-
Instale Visual Studio Code en su equipo local.
-
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