View a markdown version of this page

Verbindung zu VPC mit Subnetzen ohne Internetzugang herstellen - 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.

Verbindung zu VPC mit Subnetzen ohne Internetzugang herstellen

Bevor Sie Ihre Remote-IDE mit Studio-Spaces in privaten Subnetzen ohne Internetzugang verbinden, stellen Sie sicher, dass Ihr Administrator dies getan hatEinrichten von Studio für die Ausführung mit Subnetzen ohne Internetzugang innerhalb einer VPC.

Sie haben die folgenden Optionen, um Ihre Remote-IDE mit Studio-Bereichen in privaten Subnetzen zu verbinden:

  • Richten Sie einen HTTP-Proxy ein (unterstützt für VS Code und Kiro)

  • Vorgefertigte Remoteserver und Erweiterungen (nur VS Code)

Wichtig

Der Cursor wird für die Verbindung zu Studio-Bereichen in privaten Subnetzen ohne ausgehenden Internetzugang nicht unterstützt.

HTTP-Proxy mit kontrollierter Zulassungsliste

Wenn sich Ihr Studio-Bereich hinter einer Firewall oder einem Proxy befindet, bitten Sie Ihren Administrator, den Zugriff auf Ihren IDE-Server und Ihre Endpunkte im Zusammenhang mit Erweiterungen CDNs zu gewähren. Weitere Informationen finden Sie unter Einrichten eines HTTP-Proxys mit kontrollierter Zulassungsliste.

VS Code

Konfigurieren Sie den HTTP-Proxy für die Fernentwicklung mit VS Code, 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.

Kiro

Konfigurieren Sie den HTTP-Proxy für die Fernentwicklung mit Kiro, indem Sie die aws.sagemaker.ssh.kiro.httpsProxy Einstellung auf Ihren HTTP- oder HTTPS-Proxyendpunkt setzen.

Wenn Sie MCP-Server (Model Context Protocol) in Kiro verwenden, müssen Sie Ihrer MCP-Serverkonfiguration auch die Proxy-Umgebungsvariablen hinzufügen:

"env": { "http_proxy": "${http_proxy}", "https_proxy": "${https_proxy}" }

Diese Option funktioniert, wenn Sie einen HTTP-Proxy einrichten dürfen, und ermöglicht Ihnen die flexible Installation zusätzlicher Erweiterungen, da einige Erweiterungen einen öffentlichen Endpunkt erfordern.

Vorkonfigurierte Remoteserver und Erweiterungen (nur VS Code)

Anmerkung

Diese Option ist nur für Visual Studio Code verfügbar. Kiro und Cursor unterstützen kein vorkonfiguriertes Remote-Server-Setup.

Wenn Ihre Studio-Bereiche keinen Zugriff auf externe Endpunkte haben, um den VS-Code-Remoteserver und Erweiterungen herunterzuladen, können Sie diese vorab paketieren. Bei 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 SageMaker AI Lifecycle Configuration (LCC) -Skript, um den Tarball in Ihr Home-Verzeichnis () zu kopieren und zu extrahieren. /home/sagemaker-user Weitere Informationen finden Sie unter Richten Sie vorgefertigte Remoteserver und Erweiterungen ein (nur VS Code).

Anweisungen zum Vorverpacken Ihres VS-Code-Remoteservers und der Erweiterungen

  1. Installieren Sie VS Code auf Ihrem lokalen Computer.

  2. Wenn Sie eine Verbindung zum Space herstellen: SageMaker

    • 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 Bereichs an den Bereich angehängt werden soll.

Beispiel für die Verwendung von Dockerfile für das Vorverpacken Ihres Remoteservers von VS Code und der Erweiterungen

Im Folgenden finden Sie ein Beispiel für eine Dockerfile-Datei zum Starten eines lokalen Containers mit vorinstalliertem SSH-Server, falls es nicht möglich ist, einen Bereich mit Remotezugriff und Internetverbindung einzurichten.

Anmerkung
  • In diesem Beispiel erfordert der SSH-Server keine Authentifizierung und wird nur zum Exportieren 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. 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 (LCC-install-VS C ode-server-v 1.100.2)

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