Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Connessione a VPC con sottoreti senza accesso a Internet
Prima di connettere Visual Studio Code agli spazi Studio nelle sottoreti private senza accesso a Internet, assicurati che l’amministratore abbia eseguito la procedura descritta in Configurazione di Studio per l’esecuzione con sottoreti senza accesso a Internet all’interno di un VPC.
Per connettere l’istanza locale Visual Studio Code agli spazi Studio nelle sottoreti private, sono disponibili due opzioni:
-
Configurazione del proxy HTTP
-
Server remoto ed estensioni VS Code preconfezionati
Argomenti
Proxy HTTP con elenchi controllati di elementi consentiti
Quando lo spazio di Studio è protetto da un firewall o da un proxy, chiedi all'amministratore di consentire l'accesso al server VS Code e agli endpoint relativi alle estensioni CDNs . Per ulteriori informazioni, consulta Configurazione del proxy HTTP con elenchi controllati di elementi consentiti.
Dopo averlo fatto, puoi configurare il proxy HTTP per lo sviluppo remoto VS Code fornendo all’URL del proxy l’impostazione remote.SSH.httpProxy o remote.SSH.httpsProxy.
Nota
Prendi in considerazione di abilitare “Remote.SSH: utilizza i file di configurazione Curl e Wget” per utilizzare la configurazione dai file curlrc e wgetrc dall’ambiente remoto. In questo modo i wgetrc file curlrc and, collocati nelle rispettive posizioni predefinite nello SageMaker spazio, possono essere utilizzati per abilitare determinati casi.
Questa opzione, che richiede le autorizzazioni per configurare il proxy HTTP, consente di installare estensioni aggiuntive in modo flessibile, visto che alcune estensioni richiedono un endpoint pubblico.
Server remoto ed estensioni VS Code preconfezionati
Quando gli spazi Studio non possono accedere agli endpoint esterni per scaricare il server remoto e le estensioni VS Code, puoi preconfezionarli. Con questo approccio, l’amministratore può esportare un tarball che contiene la directory .VS
Code-server per una versione specifica di VS Code. Quindi, l'amministratore utilizza uno script SageMaker AI Lifecycle Configuration (LCC) per copiare ed estrarre il tarball nella home directory (). /home/sagemaker-user Per ulteriori informazioni, consulta Configurazione del server remoto e delle estensioni Visual Studio Code preconfezionati.
Istruzioni per utilizzare il preconfezionamento per il server remoto e le estensioni VS Code
-
Installa VS Code sul computer locale.
-
Quando ti connetti allo spazio: SageMaker
-
Utilizza il profilo predefinito per garantire la compatibilità con le estensioni preconfezionate. In caso contrario, dovrai installare le estensioni utilizzando i file VSIX scaricati dopo la connessione allo spazio Studio.
-
Scegli uno script LCC specifico per la versione di VS Code da collegare allo spazio quando lo avvii.
-
Esempio di utilizzo di Dockerfile per preconfezionare il server remoto e le estensioni VS Code
Di seguito è riportato un Dockerfile di esempio per avviare un container locale con il server SSH preinstallato, se non è possibile creare uno spazio con accesso remoto e accesso a Internet.
Nota
-
In questo esempio, il server SSH non richiede l’autenticazione e viene utilizzato solo per esportare il server remoto VS Code.
-
Il container deve essere creato ed eseguito su un’architettura 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"]
Utilizza i comandi seguenti per creare ed eseguire il container:
# 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 &'
Connettiti con il comando seguente:
ssh sagemaker-user@localhost -p 2222
Prima di connettere il container, configura quanto segue nel file .ssh/config. Successivamente, potrai visualizzare remote_access_export come nome host nel pannello laterale SSH remoto durante la connessione. Esempio:
Host remote_access_export HostName localhost User=sagemaker-user Port 2222 ForwardAgent yes
Archivia /tmp/remote_access/.VS Code-server e segui la procedura indicata in Server remoto ed estensioni VS Code preconfezionati per connettere e installare l’estensione. Dopo la decompressione, assicurati che la cartella .VS
Code-server venga visualizzata come cartella principale.
cd /tmp/remote_access/ sudo tar -czvf VS Code-server-with-extensions-for-1.100.2.tar.gz .VS Code-server
Esempio di script LCC (LCC-install-VS C ode-server-v 1.100.2)
Di seguito è riportato un esempio che spiega come installare una versione specifica del server remoto 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