Verbinden von Studio-Notebooks in einer VPC mit externen Ressourcen - Amazon SageMaker AI

Verbinden von Studio-Notebooks in einer VPC mit externen Ressourcen

Das folgende Thema enthält Informationen dazu, wie Sie Studio-Notebooks in einer VPC mit externen Ressourcen verbinden.

Standardkommunikation mit dem Internet

Standardmäßig bietet SageMaker Studio eine Netzwerkschnittstelle, die die Kommunikation mit dem Internet über eine von SageMaker AI verwaltete VPC ermöglicht. Der Datenverkehr zu AWS Diensten wie Amazon S3 und CloudWatch wird über ein Internet-Gateway abgewickelt. Der Datenverkehr, der auf die SageMaker-API und die SageMaker-AI-Laufzeit zugreift, wird ebenfalls über ein Internet-Gateway abgewickelt. Der Datenverkehr zwischen der Domain und dem Amazon-EFS-Volume wird über die VPC abgewickelt, die Sie beim Onboarding in Studio oder beim Aufrufen der CreateDomain-API identifiziert haben. Die folgende Abbildung zeigt die Standardkonfiguration.

VPC-Diagramm von SageMaker Studio, das die direkte Nutzung des Internetzugangs darstellt.

VPC only Kommunikation mit dem Internet

Um zu verhindern, dass SageMaker AI Ihren Studio-Notebooks Internetzugang gewährt, deaktivieren Sie den Internetzugang, indem Sie den VPC only-Netzwerkzugangstyp festlegen. Geben Sie diesen Netzwerkzugriffstyp an, wenn Sie Studio einbinden oder die CreateDomain-API aufrufen. Infolgedessen können Sie ein Studio-Notebook nur ausführen, wenn:

  • Ihre VPC verfügt über einen Schnittstellenendpunkt zum SageMaker-API und zur Runtime oder ein NAT-Gateway mit Internetzugang

  • Ihre Sicherheitsgruppen erlauben ausgehende Verbindungen

Das folgende Diagramm zeigt eine Konfiguration für die Verwendung des reinen VPC-Modus.

VPC-Diagramm von SageMaker Studio, das die Verwendung des Nur-VPC-Modus darstellt.

Voraussetzungen für die Verwendung des VPC only-Modus

Wenn Sie VpcOnly wählen, gehen Sie folgendermaßen vor:

  1. Sie dürfen nur private Subnetze verwenden. Sie können öffentliche Subnetze nicht im VpcOnly Modus verwenden.

  2. Stellen Sie sicher, dass Ihre Subnetze über die erforderliche Anzahl an IP-Adressen verfügen. Die erwartete Anzahl an IP-Adressen, die pro Benutzer benötigt werden, kann je nach Anwendungsfall variieren. Wir empfehlen zwischen 2 und 4 IP-Adressen pro Benutzer. Die gesamte IP-Adresskapazität für eine Studio-Domain ist die Summe der verfügbaren IP-Adressen für jedes Subnetz, die bei der Erstellung der Domain bereitgestellt wurden. Stellen Sie sicher, dass Ihre IP-Adressnutzung die Kapazität, die durch die Anzahl der von Ihnen bereitgestellten Subnetze unterstützt wird, nicht überschreitet. Darüber hinaus kann die Verwendung von Subnetzen, die über viele Availability Zones verteilt sind, die Verfügbarkeit von IP-Adressen erhöhen. Weitere Informationen finden Sie unter Dimensionierung der VPC und der Subnetze für IPv4.

    Anmerkung

    Sie können nur Subnetze mit einer Standard-Tenancy-VPC konfigurieren, in der Ihre Instance auf freigegebenen Hardware läuft. Weitere Informationen zum Tenancy-Attribut für VPCs finden Sie unter Dedicated Instances.

  3. Warnung

    Wenn Sie den VpcOnly Modus verwenden, besitzen Sie teilweise die Netzwerkkonfiguration für die Domain. Wir empfehlen die bewährte Sicherheitsmethode, d. h. die Verwendung von Berechtigungen mit den geringsten Rechten auf eingehende und ausgehende Zugriffe, die durch Sicherheitsgruppenregeln bereitgestellt werden. Zu freizügige Regelkonfigurationen für eingehenden Datenverkehr könnten es Benutzern mit Zugriff auf die VPC ermöglichen, ohne Authentifizierung mit den Anwendungen anderer Benutzerprofile zu interagieren.

    Richten Sie eine oder mehrere Sicherheitsgruppen mit Regeln für eingehenden und ausgehenden Datenverkehr ein, die den folgenden Datenverkehr zulassen:

    Erstellen Sie für jedes Benutzerprofil eine eigene Sicherheitsgruppe und fügen Sie eingehenden Zugriff aus derselben Sicherheitsgruppe hinzu. Es wird nicht empfohlen, eine Sicherheitsgruppe auf Domainebene für Benutzerprofile wiederzuverwenden. Wenn die Sicherheitsgruppe auf Domainebene eingehenden Zugriff auf sich selbst zulässt, haben alle Anwendungen in der Domain Zugriff auf alle anderen Anwendungen in der Domain.

  4. Wenn Sie den Internetzugang zulassen möchten, müssen Sie ein NAT-Gateway mit Internetzugang verwenden, z. B. über ein Internet-Gateway.

  5. Wenn Sie den Internetzugang entfernen möchten, erstellen Sie VPC-Schnittstellenendpunkte (AWS PrivateLink), damit Studio auf die folgenden Services mit den entsprechenden Service-Namen zugreifen kann. Sie müssen diesen Endpunkten auch die Sicherheitsgruppen für Ihre VPC zuordnen.

    • SageMaker-API: com.amazonaws.region.sagemaker.api

    • SageMaker-AI-Laufzeit: com.amazonaws.region.sagemaker.runtime. Dies ist erforderlich, um Studio-Notebooks auszuführen und Modelle zu trainieren und zu hosten.

    • Amazon S3: com.amazonaws.region.s3.

    • Um SageMaker-Projekte zu verwenden: com.amazonaws.region.servicecatalog.

    • Alle anderen AWS Dienste, die Sie benötigen.

    Wenn Sie das SageMaker Python SDK verwenden, um Remote-Trainingsaufträge auszuführen, müssen Sie auch die folgenden Amazon VPC-Endpoints erstellen.

    • AWS Security Token Service: com.amazonaws.region.sts

    • Amazon CloudWatch:com.amazonaws.region.logs. Dies ist erforderlich, damit das SageMaker Python SDK den Status des Ferntrainingsauftrags vom Amazon CloudWatch abrufen kann.

Anmerkung

Bei Kunden, die im VPC-Modus arbeiten, können Firmenfirewalls Verbindungsprobleme mit SageMaker Studio oder zwischen JupyterServer und dem KernelGateway verursachen. Führen Sie die folgenden Prüfungen durch, wenn eines dieser Probleme auftritt, wenn Sie SageMaker Studio hinter einer Firewall verwenden.

  • Vergewissern Sie sich, dass die Studio-URL auf der Zulassungsliste Ihres Netzwerks steht.

  • Vergewissern Sie sich, dass die Websocket-Verbindungen nicht blockiert sind. Jupyter verwendet Websocket unter der Haube. Wenn die KernelGateway-Anwendung InService ist, kann JupyterServer möglicherweise keine Verbindung zu KernelGateway herstellen. Dieses Problem sollte auch auftreten, wenn Sie das System Terminal öffnen.