Connect zu VPC mit Subnetzen ohne Internetzugang her - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Connect zu VPC mit Subnetzen ohne Internetzugang her

Bevor Sie Visual Studio Code mit Studio-Bereichen in privaten Subnetzen ohne Internetzugang verbinden, stellen Sie sicher, dass Ihr Administrator dies getan hat. Studio für die Ausführung mit Subnetzen ohne Internetzugang innerhalb einer VPC einrichten

Sie haben zwei Möglichkeiten, Ihren lokalen Visual Studio-Code mit Studio-Bereichen in privaten Subnetzen zu verbinden:

  • Richten Sie den HTTP-Proxy ein

  • Vorgepackter VS Code-Remoteserver und Erweiterungen

HTTP-Proxy mit kontrollierter Zulassungsliste

Wenn sich Ihr Studio-Bereich hinter einer Firewall oder einem Proxy befindet, bitten Sie Ihren Administrator, den Zugriff auf den VS Code-Server und die Endpunkte der Erweiterungen zu gewähren. CDNs Weitere Informationen finden Sie unter Richten Sie einen HTTP-Proxy mit kontrollierter Zulassungsliste ein.

Nach der Einrichtung können Sie den HTTP-Proxy für die Fernentwicklung mit VS Code konfigurieren, indem Sie die Proxy-URL mit der Einstellung remote.SSH.httpProxy oder remote.SSH.httpsProxy angeben.

Anmerkung

Erwägen Sie, „Remote.ssh: Use Curl And Wget Configuration Files“ zu aktivieren, um die Konfiguration aus den Dateien und Dateien der Remote-Umgebung zu verwenden. curlrc wgetrc Auf diese Weise können die wgetrc Dateien curlrc und, die sich an ihren jeweiligen Standardspeicherorten im SageMaker Space befinden, zur Aktivierung bestimmter Fälle verwendet werden.

Diese Option funktioniert, wenn Sie einen HTTP-Proxy einrichten dürfen, und ermöglicht Ihnen die flexible Installation zusätzlicher Erweiterungen, da für einige Erweiterungen ein öffentlicher Endpunkt erforderlich ist.

Vorgefertigte VS Code-Remoteserver und Erweiterungen

Wenn Ihre Studio-Bereiche nicht auf externe Endpunkte zugreifen können, um VS Code-Remoteserver und Erweiterungen herunterzuladen, können Sie diese vorab verpacken. Mit diesem Ansatz kann Ihr Administrator einen Tarball exportieren, der das .VS Code-server Verzeichnis für eine bestimmte Version von VS Code enthält. Anschließend verwendet der Administrator ein LCC-Skript ( SageMaker AI Lifecycle Configuration), um den Tarball in Ihr Home-Verzeichnis () zu kopieren und zu extrahieren. /home/sagemaker-user Weitere Informationen finden Sie unter Richten Sie vorkonfigurierte Visual Studio Code-Remoteserver und Erweiterungen ein.

Anweisungen zur Verwendung von Pre-Packages für Ihren VS Code-Remoteserver und die Erweiterungen

  1. Installieren Sie VS Code auf Ihrem lokalen Computer

  2. Wenn Sie eine Verbindung zum SageMaker Space herstellen:

    • Verwenden Sie das Standardprofil, um die Kompatibilität mit vorkonfigurierten Erweiterungen sicherzustellen. Andernfalls müssen Sie Erweiterungen mithilfe heruntergeladener VSIX-Dateien installieren, nachdem Sie eine Verbindung zum Studio-Bereich hergestellt haben.

    • Wählen Sie ein für die VS Code-Version spezifisches LCC-Skript aus, das beim Starten des Space an den Space angehängt werden soll.

Beispiel für die Verwendung von Dockerfile für die Vorverpackung Ihres VS Code-Remoteservers und der Erweiterungen

Im Folgenden finden Sie ein Dockerfile-Beispiel zum Starten eines lokalen Containers mit vorinstalliertem SSH-Server, falls es nicht möglich ist, einen Bereich mit Fernzugriff und aktiviertem Internet zu erstellen.

Anmerkung
  • In diesem Beispiel benötigt der SSH-Server keine Authentifizierung und wird nur für den Export des VS Code-Remoteservers verwendet.

  • Der Container sollte auf einer x64-Architektur erstellt und ausgeführt werden.

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"]

Verwenden Sie die folgenden Befehle, um den Container zu erstellen und auszuführen:

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

Stellen Sie mit dem folgenden Befehl eine Verbindung her:

ssh sagemaker-user@localhost -p 2222

Bevor dieser Container verbunden werden kann, konfigurieren Sie in der .ssh/config Datei Folgendes. Danach können Sie den remote_access_export als Hostnamen im Remote-SSH-Seitenbereich sehen, wenn Sie eine Verbindung herstellen. Zum Beispiel:

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

Archivieren Sie /tmp/remote_access/.VS Code-server und folgen Sie den Schritten in den vorgefertigten VS Code-Remoteservern und Erweiterungen, um eine Verbindung herzustellen und die Erweiterung zu installieren. Stellen Sie nach dem Entpacken sicher, dass der .VS Code-server Ordner als übergeordneter Ordner angezeigt wird.

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

Beispiel für ein LCC-Skript (C 1.100.2) LCC-install-VS ode-server-v

Im Folgenden finden Sie ein Beispiel für die Installation einer bestimmten Version des VS Code-Remoteservers.

#!/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