Skip to content

Wie behebe ich Verbindungsprobleme mit JupyterLab und Code Editor, wenn ich SageMaker Studio im reinen VPC-Modus verwende?

Lesedauer: 5 Minute
0

Wenn ich meine Amazon SageMaker Studio-Umgebung im reinen VPC-Modus verwende, treten Verbindungsprobleme mit meinen JupyterLab- und Code Editor-Umgebungen auf.

Kurzbeschreibung

Wenn du die Virtual Private Cloud (VPC) nicht richtig konfigurierst, können die folgenden Probleme in SageMaker Studio auftreten:

  • Der Ladebildschirm der Umgebung reagiert nicht und du erhältst eine Fehlermeldung in Amazon CloudWatch Logs, die der Meldung „Connect timeout on endpoint URL: 'https://api.sagemaker.us-east-1.amazonaws.com/'“ ähnelt.
  • Die JupyterLab- oder Code-Editor-Anwendung kann nicht geladen werden.
  • Es gibt keine Internetverbindung und dann läuft das Timeout der Befehle ab.
  • JupyterLab- oder Code Editor-Erweiterungen funktionieren nicht wie erwartet.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Die Sicherheitsgruppen für SageMaker Studio konfigurieren

SageMaker Studio benötigt keine spezifischen Portregeln für grundlegende Funktionen, aber du musst eine Regel für ausgehenden Datenverkehr von Amazon SageMaker AI hinzufügen. Standardmäßig verwendet SageMaker AI HTTPS (Port 443) für die API-Kommunikation.

Gehe wie folgt vor, um eine Regel für ausgehenden Datenverkehr von SageMaker Studio zu AWS-APIs hinzuzufügen:

  1. Öffne die Amazon Virtual Private Cloud (Amazon VPC)-Konsole.
  2. Wähle im Navigationsbereich Sicherheitsgruppen.
  3. Wähle die Sicherheitsgruppe aus, die der Domain zugeordnet ist.
  4. Wähle Aktionen und dann **Regeln für ausgehenden Datenverkehr bearbeiten **.
  5. Wähle Regel hinzufügen.
    Wähle für Typ die Option HTTPS aus.
    Gib als Ziel 0.0.0.0 ein.
  6. Wähle Regeln speichern.

Je nach den Ressourcen, auf die du von SageMaker Studio aus zugreifen möchtest, benötigst du möglicherweise zusätzliche Ports und Regeln. Die Sicherheitsgruppe muss beispielsweise eingehende und ausgehende Verbindungen auf Port 2049 zulassen, damit das Network File System (NFS)-Protokoll die folgenden Ressourcen verwenden kann:

Wenn du vom SageMaker Studio-Notebook aus auf Ressourcen in der VPC zugreifst, fließt der Datenverkehr des Dienstkontos über die Elastic-Network-Schnittstelle. Alle Apps, die du in der Domain erstellst, befinden sich in der VPC des SageMaker AI-Dienstkontos. Die Apps kommunizieren miteinander über die Netzwerkschnittstellen, die du an die VPC anschließt. Die Apps sind Teil des SageMaker Studio Domain Service Accounts, werden aber auf verschiedenen Amazon Elastic Compute Cloud (Amazon EC2)-Instances ausgeführt.

Um DefaultUserSettings und DefaultSpaceSettings der SageMaker Studio-Domain so zu aktualisieren, dass sie die neue Sicherheitsgruppe verwenden, führe den AWS-CLI-Befehl update-domain aus:

aws sagemaker update-domain --domain-id d-12345abcde \
--default-user-settings '{
    "SecurityGroups": ["sg-0000"]
  }' \
--default-space-settings '{
    "ExecutionRole": "arn:aws:iam::111111111:role/SageMakerRole",
    "SecurityGroups": ["sg-0000"]
  }'

Hinweis: Bevor du den vorherigen Befehl ausführst, musst du alle Apps mit dem Status InService aus den Benutzerprofilen löschen.

Erstelle dann die Domain neu, die mit den erforderlichen Sicherheitsgruppen verknüpft ist. Die Ausgabe für den SecurityGroups-Parameter listet alle Sicherheitsgruppen für die VPC auf, die SageMaker Studio für die Kommunikation verwendet.

Führe den Befehl describe-domain aus, um zu bestätigen, dass die Sicherheitsgruppe aktualisiert wurde:

aws sagemaker describe-domain --domain-id d-12345abcde

Starte dann SageMaker Studio und vergewissere dich, dass die Anwendungen ordnungsgemäß ausgeführt werden. Um die Internetverbindung zu testen, führe den folgenden Befehl von einer Notebook-Zelle aus:

!curl amazon.com

Weitere Informationen findest du unter Verbinde Studio-Notebooks in einer VPC mit externen Ressourcen.

Sicherstellen, dass das Subnetz die richtigen VPC-Endpunkte enthält

Wenn die SageMaker Studio-Ressourcen keinen Zugriff auf das Internet benötigen, musst du kein NAT-Gateway hinzufügen. Ein Studio-Notizbuch benötigt jedoch die folgenden Endpunkte, um grundlegende Operationen aus- und durchzuführen:

  • SageMaker-API: com.amazonaws.your-aws-region.sagemaker.api
  • SageMaker-Laufzeit: com.amazonaws.your-aws-region.sagemaker.runtime

Hinweis: Ersetze your-aws-region durch die AWS-Region.

Um auf Amazon Simple Storage Service (Amazon S3) und Amazon SageMaker Projects-Vorlagen zuzugreifen, erstelle die folgenden Endpunkte:

  • Für Amazon S3: com.amazonaws.your-aws-region.s3
  • Für SageMaker Projects-Vorlagen: com.amazonaws.your-aws-region.servicecatalog

Hinweis: Ersetze your-aws-region durch die Region.

Gehe wie folgt vor, um die Sicherheitsgruppen den VPC-Endpunkten zuzuordnen:

  1. Öffne die Amazon-VPC-Konsole.
  2. Wähle im Navigationsbereich Endpunkte.
  3. Wähle den Endpunkt aus, den du aktualisieren möchtest.
  4. Wähle Aktionen und dann Sicherheitsgruppen verwalten.
  5. Wähle die Sicherheitsgruppe aus.
  6. Wähle Speichern.

Weitere Informationen findest du unter SageMaker AI-Trainingsjobs Zugriff auf Ressourcen in der Amazon VPC gewähren und reine VPC-Kommunikation mit dem Internet.

Domain mit einem privaten Subnetz und einem aktiven NAT-Gateway verbinden

Wenn die SageMaker Studio-Ressourcen Zugriff auf das Internet benötigen, konfiguriere die Domain so, dass sie eine Verbindung zu privaten Subnetzen herstellt. Erstelle dann ein NAT-Gateway und lasse den Datenverkehr vom NAT-Gateway durch die Routing-Tabelle des privaten Subnetzes laufen. Weitere Informationen findest du unter Wie richte ich ein NAT-Gateway für ein privates Subnetz in Amazon VPC ein?

Hinweis: Die SageMaker Studio-Domain, die mit einem öffentlichen Subnetz verbunden ist, ermöglicht es dir nicht, eine Verbindung zum Internet herzustellen.

Bestätigen, dass die VPC die Anforderungen erfüllt

Wenn du SageMaker Studio im reinen VPC-Modus startest, muss die VPC die folgenden Anforderungen erfüllen:

  • Subnetze müssen über genügend verfügbare IP-Adressen für die Instance verfügen.
  • Wenn du einen VPC-Endpunkt verwendest, um SageMaker-APIs auszuführen, setze DNS-Hostnamen aktivieren und DNS-Unterstützung aktivieren für die VPC auf Wahr. Die VPC benötigt die Attribute, um eine Verbindung zum SageMaker AI-API-Endpunkt herzustellen, wenn du die SageMaker AI-Funktionen verwendest.

Konfigurationsprobleme beheben

Wenn du nach der Aktualisierung der VPC-Konfiguration immer noch Probleme hast, starte die Anwendung neu.

Wenn du SageMaker Studio-Benutzer mit einer anderen Ausführungsrolle konfiguriert hast, können Verbindungsprobleme auftreten.

Stelle sicher, dass die Berechtigungen für die Ausführungsrolle des Benutzers die erforderlichen Richtlinien enthalten, damit die Rolle die folgenden Aktionen ausführen kann:

  • CreateNetworkInterface
  • CreatePresignedDomainUrl
  • CreateSpace
  • CreateApp
  • DescribeApp
AWS OFFICIALAktualisiert vor 2 Monaten