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.
Connectez-vous à 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 l'a faitConfigurer Studio pour qu'il fonctionne avec des sous-réseaux sans accès Internet au sein d'un VPC.
Vous avez deux options pour connecter votre code Visual Studio local aux espaces Studio situés dans des sous-réseaux privés :
-
Configuration du proxy HTTP
-
Serveur distant VS Code préemballé et extensions
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 Configurer 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 remote.SSH.httpsProxy
paramètre remote.SSH.httpProxy
ou.
Note
Envisagez d'activer « Remote.ssh : Use Curl And Wget Configuration Files » pour utiliser la configuration depuis l'environnement et les fichiers distants. curlrc
wgetrc
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 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éemballé 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é-empaqueter. Avec cette approche, votre administrateur peut exporter une archive contenant le .VS
Code-server
répertoire 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 d'utilisation du préemballage pour votre serveur distant VS Code et ses extensions
-
Installez VS Code sur votre machine locale
-
Lorsque vous vous connectez à l' SageMaker espace :
-
Utilisez le profil par défaut pour garantir la compatibilité avec les extensions préemballé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 l'espace.
-
Exemple d'utilisation de Dockerfile pour le préempaquetage de votre serveur distant VS Code et de vos extensions
Voici un exemple de Dockerfile pour lancer un conteneur local avec un serveur SSH préinstallé, s'il n'est pas possible de créer un espace avec 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 construit 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"]
Utilisez les commandes suivantes pour créer et exécuter le conteneur :
# 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 à l'aide de la commande suivante :
ssh sagemaker-user@localhost -p 2222
Avant de connecter ce conteneur, configurez les éléments suivants dans le .ssh/config
fichier. Ensuite, vous pourrez le voir remote_access_export
sous forme de nom d'hôte sur le panneau latéral SSH distant 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 avoir décompressé, assurez-vous que le .VS
Code-server
dossier 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 d'installation d'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