Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Connexion à un VPC avec des sous-réseaux sans accès à Internet
Avant de connecter Visual Studio Code à des espaces Studio situés dans des sous-réseaux privés sans accès à Internet, assurez-vous que votre administrateur a effectué la Configuration de Studio pour l’exécuter avec des sous-réseaux sans accès à Internet au sein d’un VPC.
Deux options s’offrent à vous pour connecter votre environnement Visual Studio Code local aux espaces Studio situés dans des sous-réseaux privés :
-
Configuration d’un proxy HTTP
-
Serveur distant VS Code prépackagé et extensions
Rubriques
Proxy HTTP avec liste d’autorisations contrôlée
Lorsque votre espace Studio se trouve derrière un pare-feu ou un proxy, demandez à votre administrateur d'autoriser l'accès au serveur VS Code, aux extensions et aux points de terminaison CDNs . Pour de plus amples informations, veuillez consulter Configuration d’un proxy HTTP avec une liste d’autorisations contrôlée.
Une fois configuré, vous pouvez configurer le proxy HTTP pour le développement à distance de VS Code en fournissant l’URL du proxy avec le paramètre remote.SSH.httpProxy ou remote.SSH.httpsProxy.
Note
Envisagez d’activer « Remote.SSH : Utiliser les fichiers de configuration Curl et Wget » pour utiliser la configuration depuis les fichiers curlrc et wgetrc de l’environnement distant. Ainsi, les wgetrc fichiers curlrc et, placés dans leurs emplacements par défaut respectifs dans l' SageMaker espace, peuvent être utilisés pour activer certains cas.
Cette option fonctionne lorsque vous êtes autorisé à configurer un proxy HTTP et elle vous permet d’installer des extensions supplémentaires de manière flexible, car certaines extensions nécessitent un point de terminaison public.
Serveur distant VS Code prépackagé et extensions
Lorsque vos espaces Studio ne peuvent pas accéder à des points de terminaison externes pour télécharger le serveur distant VS Code et ses extensions, vous pouvez les prépackager. Avec cette approche, votre administrateur peut exporter une archive contenant le répertoire .VS
Code-server d’une version spécifique de VS Code. L'administrateur utilise ensuite un script SageMaker AI Lifecycle Configuration (LCC) pour copier et extraire l'archive dans votre répertoire personnel ()/home/sagemaker-user. Pour de plus amples informations, veuillez consulter Configuration d’un serveur distant Visual Studio Code prépackagé et de ses extensions.
Instructions pour prépackager votre serveur distant VS Code et les extensions
-
Installez VS Code sur votre ordinateur local.
-
Lorsque vous vous connectez à l' SageMaker espace :
-
Utilisez le profil par défaut pour garantir la compatibilité avec les extensions prépackagées. Dans le cas contraire, vous devrez installer les extensions à l’aide des fichiers VSIX téléchargés après vous être connecté à l’espace Studio.
-
Choisissez un script LCC spécifique à la version de VS Code à attacher à l’espace lorsque vous lancez cet espace.
-
Exemple d’utilisation d’un fichier Docker pour prépackager votre serveur distant VS Code et les extensions
Voici un exemple de fichier Docker pour lancer un conteneur local avec un serveur SSH préinstallé, s’il n’est pas possible de créer un espace avec un accès à distance et Internet activé.
Note
-
Dans cet exemple, le serveur SSH ne nécessite pas d’authentification et est uniquement utilisé pour exporter le serveur distant VS Code.
-
Le conteneur doit être généré et exécuté sur une architecture 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"]
Générez et exécutez le conteneur à l’aide des commandes suivantes :
# 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 &'
Connectez-vous en utilisant la commande suivante :
ssh sagemaker-user@localhost -p 2222
Avant de pouvoir connecter ce conteneur, configurez les éléments suivants dans le fichier .ssh/config. Ensuite, vous pourrez voir remote_access_export en tant que nom d’hôte sur le panneau latéral de connexion SSH à distance lors de la connexion. Par exemple :
Host remote_access_export HostName localhost User=sagemaker-user Port 2222 ForwardAgent yes
Archivez /tmp/remote_access/.VS Code-server et suivez les étapes décrites dans Serveur distant VS Code prépackagé et extensions pour connecter et installer l’extension. Après l’avoir décompressé, assurez-vous que le dossier .VS
Code-server apparaît en tant que dossier parent.
cd /tmp/remote_access/ sudo tar -czvf VS Code-server-with-extensions-for-1.100.2.tar.gz .VS Code-server
Exemple de script LCC (LCC-install-VS C ode-server-v 1.100.2)
Voici un exemple qui montre comment installer une version spécifique du serveur distant 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