View a markdown version of this page

Einrichten von Studio für die Ausführung mit Subnetzen ohne Internetzugang innerhalb einer VPC - 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.

Einrichten von Studio für die Ausführung mit Subnetzen ohne Internetzugang innerhalb einer VPC

Diese Anleitung zeigt Ihnen, wie Sie von Ihrer Remote-IDE aus eine Verbindung zu Amazon SageMaker Studio-Bereichen herstellen, wenn Ihre Amazon SageMaker AI-Domain in privaten Subnetzen ohne Internetzugang läuft. Sie erfahren mehr über die Konnektivitätsanforderungen und Einrichtungsoptionen, um sichere Remoteverbindungen in isolierten Netzwerkumgebungen herzustellen.

Sie können Amazon SageMaker Studio so konfigurieren, dass es nur im VPC-Modus mit Subnetzen ohne Internetzugang läuft. Diese Einrichtung verbessert die Sicherheit Ihrer Machine-Learning-Workloads, indem sie in einer isolierten Netzwerkumgebung arbeitet, in der der gesamte Datenverkehr über die VPC fließt. Um externe Kommunikation zu ermöglichen und gleichzeitig die Sicherheit aufrechtzuerhalten, verwenden Sie VPC-Endpunkte für AWS Dienste und konfigurieren Sie VPC PrivateLink für die erforderlichen Abhängigkeiten. AWS

IDE-Unterstützung für private Subnetzverbindungen

Die folgende Tabelle zeigt die unterstützten Verbindungsmethoden für jede Remote-IDE, wenn eine Verbindung zu Studio-Bereichen in privaten Subnetzen ohne Internetzugang hergestellt wird.

Verbindungsmethode VS Code Kiro Cursor

HTTP-Proxy-Unterstützung

Unterstützt

Unterstützt

Nicht unterstützt

Vorgefertigte Remoteserver und Erweiterungen

Unterstützt

Nicht unterstützt

Nicht unterstützt

Wichtig

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

Netzwerkanforderungen für den Remotezugriff in Studio

Einschränkungen des VPC-Modus Studio im VPC-Modus unterstützt nur private Subnetze. Studio kann nicht mit Subnetzen arbeiten, die direkt mit einem Internet-Gateway (IGW) verbunden sind. IDE-Remoteverbindungen haben dieselben Einschränkungen wie SageMaker KI. Weitere Informationen finden Sie unter Verbinden von Studio-Notebooks in einer VPC mit externen Ressourcen.

Wenn SageMaker KI in privaten Subnetzen ausgeführt wird, konfigurieren Sie diese SSM-VPC-Endpunkte zusätzlich zu den Standard-VPC-Endpunkten, für die erforderlich sind. SageMaker Weitere Informationen finden Sie unter Verbinden von Studio über einen VPC-Endpunkt.

  • com.amazonaws.REGION.ssm

  • com.amazonaws.REGION.ssmmessages

Richtlinienempfehlungen für VPC-Endgeräte

Im Folgenden finden Sie die empfohlenen VPC-Endpunktrichtlinien, die die erforderlichen Aktionen für den Fernzugriff ermöglichen und gleichzeitig die aws:PrincipalIsAWSService Bedingung verwenden, dass nur AWS Dienste wie Amazon SageMaker AI die Anrufe tätigen können. Weitere Informationen zum aws:PrincipalIsAWSService Bedingungsschlüssel finden Sie in der Dokumentation.

SSM-Endpunktrichtlinie

Verwenden Sie die folgende Richtlinie für den com.amazonaws.REGION.ssm Endpunkt:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "ssm:CreateActivation", "ssm:RegisterManagedInstance", "ssm:DeleteActivation", "ssm:DeregisterManagedInstance", "ssm:AddTagsToResource", "ssm:UpdateInstanceInformation", "ssm:UpdateInstanceAssociationStatus", "ssm:DescribeInstanceInformation", "ssm:ListInstanceAssociations", "ssm:ListAssociations", "ssm:GetDocument", "ssm:PutInventory" ], "Resource": "*", "Condition": { "BoolIfExists": { "aws:PrincipalIsAWSService": "true" } } } ] }

Endpunktrichtlinie für SSM-Nachrichten

Verwenden Sie die folgende Richtlinie für den com.amazonaws.REGION.ssmmessages Endpunkt:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*", "Condition": { "BoolIfExists": { "aws:PrincipalIsAWSService": "true" } } } ] }

Spezifische Netzwerkanforderungen für VS Code

Die Remoteverbindung mit VS Code erfordert die Remote-Entwicklung mit VS Code, wofür ein bestimmter Netzwerkzugang erforderlich ist, um den Remoteserver und die Erweiterungen zu installieren. Vollständige Netzwerkanforderungen finden Sie in den häufig gestellten Fragen zur Remote-Entwicklung in der Visual Studio Code-Dokumentation. Im Folgenden finden Sie eine Zusammenfassung der Anforderungen:

  • Für die Installation und Aktualisierung des VS-Code-Remoteservers ist der Zugriff auf die Server-Endpunkte von Microsoft VS Code erforderlich.

  • Für die Installation von VS Code-Erweiterungen über das Erweiterungsfenster ist der Zugriff auf den Visual Studio Marketplace und die zugehörigen CDN-Endpunkte erforderlich (alternativ können Erweiterungen auch manuell mithilfe von VSIX-Dateien ohne Internetverbindung installiert werden).

  • Einige Erweiterungen benötigen möglicherweise Zugriff auf zusätzliche Endpunkte, um ihre spezifischen Abhängigkeiten herunterzuladen. Die spezifischen Konnektivitätsanforderungen finden Sie in der Dokumentation der Erweiterung.

Spezifische Netzwerkanforderungen für Kiro

Für die Fernverbindung mit Kiro ist die Entwicklung per Fernzugriff erforderlich. Für die Installation des Remote-Servers und der Erweiterungen ist ein spezieller Netzwerkzugriff erforderlich. Informationen zur Konfiguration von Firewall und Proxyserver finden Sie unter Firewall-Konfiguration von Kiro. Die Anforderungen ähneln denen von VS Code:

  • Für die Installation und Aktualisierung des Kiro-Remote-Servers ist Zugriff auf Kiro-Serverendpunkte erforderlich.

  • Für die Installation von Kiro-Erweiterungen über das Erweiterungspanel ist Zugriff auf den Extension Marketplace und die zugehörigen CDN-Endpunkte erforderlich.

  • Einige Erweiterungen benötigen möglicherweise Zugriff auf zusätzliche Endpunkte, um ihre spezifischen Abhängigkeiten herunterzuladen. Die spezifischen Konnektivitätsanforderungen finden Sie in der Dokumentation der Erweiterung.

Einrichten des Studio-Remotezugriffsnetzwerks

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

  • HTTP-Proxy (unterstützt für VS Code und Kiro)

  • Vorgefertigte Remoteserver und Erweiterungen (nur VS Code)

Einrichten eines HTTP-Proxys mit kontrollierter Zulassungsliste

Wenn sich Ihr Studio-Bereich hinter einer Firewall oder einem Proxy befindet, erlauben Sie den Zugriff auf Ihren IDE-Server und Ihre Endpunkte im Zusammenhang mit Erweiterungen CDNs .

  1. Richten Sie ein öffentliches Subnetz ein, um den HTTP-Proxy (z. B. Squid) auszuführen, in dem Sie konfigurieren können, welche Websites zugelassen werden sollen. Stellen Sie sicher, dass der HTTP-Proxy über Leerzeichen zugänglich ist. SageMaker

  2. Das öffentliche Subnetz kann sich in derselben VPC befinden, die vom Studio verwendet wird, oder in einer separaten VPC, die mit allen von Amazon VPCs verwendeten AI-Domänen per Peering verbunden ist. SageMaker

Richten Sie vorgefertigte Remoteserver und Erweiterungen ein (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 exportieren Sie einen Tarball, der das .VS Code-server-Verzeichnis für eine bestimmte Version von VS Code enthält. Anschließend verwenden Sie ein LCC-Skript ( SageMaker AI Lifecycle Configuration), um den Tarball in das Home-Verzeichnis (/home/sagemaker-user) der Studio-Bereiche zu kopieren und zu extrahieren. Diese LCC-basierte Lösung funktioniert sowohl mit bereitgestellten als auch mit benutzerdefinierten Images AWS. Selbst wenn Sie keine privaten Subnetze verwenden, beschleunigt dieser Ansatz die Einrichtung des VS-Code-Remoteservers und der vorinstallierten Erweiterungen.

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

  1. Installieren Sie VS Code auf Ihrem lokalen Computer.

  2. Starten Sie einen Linux-basierten (x64) Docker-Container mit aktiviertem SSH, entweder lokal oder über einen Studio-Bereich mit Internetzugang. Wir empfehlen, der Einfachheit halber einen temporären Studio-Bereich mit Remotezugriff und Internetverbindung zu nutzen.

  3. Verbinden Sie Ihren installierten VS Code über Remote SSH mit dem lokalen Docker-Container oder verbinden Sie sich über das VS-Code-Remotefeature von Studio mit dem Studio-Bereich. VS Code installiert den Remoteserver während der Verbindung im .VS Code-server im Stammverzeichnis des Remote-Containers. Weitere Informationen finden Sie unter Beispiel für die Verwendung von Dockerfile für das Vorverpacken Ihres Remoteservers von VS Code und der Erweiterungen.

  4. Stellen Sie nach der Remoteverbindung sicher, dass Sie das VS-Code-Standardprofil verwenden.

  5. Installieren Sie die erforderlichen VS-Code-Erweiterungen und überprüfen Sie deren Funktionalität. Erstellen Sie beispielsweise ein Notebook und führen Sie es aus, um Jupyter-Notebook-bezogene Erweiterungen auf dem VS-Code-Remoteserver zu installieren.

    Stellen Sie sicher, dass Sie die AWS Toolkit for Visual Studio Code Erweiterung installieren, nachdem Sie eine Verbindung zum Remote-Container hergestellt haben.

  6. Archivieren Sie das $HOME/.VS Code-server-Verzeichnis (z. B. VS Code-server-with-extensions-for-1.100.2.tar.gz) entweder im lokalen Docker-Container oder im Terminal des Studio-Bereichs mit Remoteverbindung.

  7. Laden Sie den Tarball auf Amazon S3 hoch.

  8. Erstellen Sie ein LCC-Skript (Beispiel für ein LCC-Skript (LCC-install-VS C ode-server-v 1.100.2)), das:

    • das spezifische Archiv von Amazon S3 herunterlädt.

    • es in das Stammverzeichnis extrahiert, wenn ein Studio-Bereich in einem privaten Subnetz gestartet wird.

  9. (Optional) Erweitern Sie das LCC-Skript, um benutzerspezifische Server-Tarballs von VS Code zu unterstützen, die in benutzerspezifischen Amazon-S3-Ordnern gespeichert sind.

  10. (Optional) Verwenden Sie versionsspezifische LCC-Skripte (Beispiel für ein LCC-Skript (LCC-install-VS C ode-server-v 1.100.2)), die Sie an Ihre Bereiche anhängen können, um die Kompatibilität zwischen Ihrem lokalen VS-Code-Client und dem Remoteserver sicherzustellen.