Skip to main content
NetApp artificial intelligence solutions
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Teil 1 – Integration von Amazon FSx for NetApp ONTAP (FSx ONTAP) als privater S3-Bucket in AWS SageMaker

Dieser Abschnitt enthält eine Anleitung zum Konfigurieren von FSx ONTAP als privater S3-Bucket mit AWS SageMaker.

Einführung

Am Beispiel von SageMaker bietet diese Seite eine Anleitung zum Konfigurieren von FSx ONTAP als privatem S3-Bucket.

Weitere Informationen zu FSx ONTAP finden Sie in dieser Präsentation ("Videolink" )

User Guide

Servererstellung

Erstellen einer SageMaker-Notebook-Instanz

  1. Öffnen Sie die AWS-Konsole. Suchen Sie im Suchfeld nach SageMaker und klicken Sie auf den Dienst Amazon SageMaker.

    Öffnen Sie die AWS-Konsole

  2. Öffnen Sie die Notebook-Instanzen unter der Registerkarte „Notebook“ und klicken Sie auf die orangefarbene Schaltfläche „Notebook-Instanz erstellen“*.

    AWS SageMaker Notebook-Instance-Konsole

  3. Geben Sie auf der Erstellungsseite den Namen der Notebook-Instanz ein. Erweitern Sie das Netzwerk-Bedienfeld. Belassen Sie die anderen Einträge auf den Standardwerten und wählen Sie eine VPC, ein Subnetz und Sicherheitsgruppe(n) aus. (Diese VPC und dieses Subnetz werden später zum Erstellen des FSx ONTAP Dateisystems verwendet.) Klicken Sie unten rechts auf die orangefarbene Schaltfläche Notebook-Instanz erstellen.

    Erstellen einer Notebook-Instanz

Erstellen Sie ein FSx ONTAP Dateisystem

  1. Öffnen Sie die AWS-Konsole. Suchen Sie im Suchfeld nach Fsx und klicken Sie auf den Dienst FSx.

    FSx-Panel

  2. Klicken Sie auf Dateisystem erstellen.

    Dateisystem erstellen

  3. Wählen Sie die erste Karte FSx ONTAP aus und klicken Sie auf Weiter.

    Dateisystemtyp auswählen

  4. Auf der Detailkonfigurationsseite.

    1. Wählen Sie die Option Standard erstellen.

      Fenster „Dateisystem erstellen“

    2. Geben Sie den Dateisystemnamen und die SSD-Speicherkapazität ein.

      Dateisystemdetails angeben

    3. Stellen Sie sicher, dass Sie dasselbe VPC und Subnetz wie für die SageMaker Notebook-Instanz verwenden.

      Netzwerk- und Sicherheitskonfiguration

    4. Geben Sie den Namen der Storage Virtual Machine ein und Geben Sie ein Kennwort an für Ihre SVM (Storage Virtual Machine).

      Standardkonfiguration der virtuellen Speichermaschine

    5. Belassen Sie die anderen Einträge auf Standard und klicken Sie unten rechts auf die orangefarbene Schaltfläche Weiter.

      Konfiguration bestätigen

    6. Klicken Sie unten rechts auf der Überprüfungsseite auf die orangefarbene Schaltfläche Dateisystem erstellen.

      Überprüfen Sie die Konfiguration und bestätigen Sie die Erstellung

  5. Das Hochfahren des FSx-Dateisystems kann etwa 20–40 Minuten dauern.

    Überprüfen Sie die FSx-Konsole

Serverkonfiguration

ONTAP -Konfiguration

  1. Öffnen Sie das erstellte FSx-Dateisystem. Bitte stellen Sie sicher, dass der Status Verfügbar ist.

    Warten Sie auf die Backend-Erstellung

  2. Wählen Sie die Registerkarte Administration und behalten Sie die IP-Adresse des Verwaltungsendpunkts und den * ONTAP -Administratorbenutzernamen* bei.

    Dateisystem-Detailkonsole

  3. Öffnen Sie die erstellte SageMaker Notebook-Instanz und klicken Sie auf JupyterLab öffnen.

    AWS SageMaker Notebook-Instanzkonsole

  4. Öffnen Sie auf der Jupyter Lab-Seite ein neues Terminal.

    Jupyter Lab-Willkommensseite

  5. Geben Sie den SSH-Befehl ssh <Administrator-Benutzername>@ <ONTAP> ein, um sich beim FSx ONTAP Dateisystem anzumelden. (Benutzername und IP-Adresse werden aus Schritt 2 abgerufen) Bitte verwenden Sie das Kennwort, das Sie beim Erstellen der Storage-virtuellen Maschine verwendet haben.

    Jupyter Lab-Terminal

  6. Führen Sie die Befehle in der folgenden Reihenfolge aus. Wir verwenden fsxn-ontap als Namen für den Namen des privaten S3-Buckets von FSx ONTAP *. Bitte verwenden Sie den *Namen der virtuellen Speichermaschine für das Argument -vserver.

    vserver object-store-server create -vserver fsxn-svm-demo -object-store-server fsx_s3 -is-http-enabled true -is-https-enabled false
    
    vserver object-store-server user create -vserver fsxn-svm-demo -user s3user
    
    vserver object-store-server group create -name s3group -users s3user -policies FullAccess
    
    vserver object-store-server bucket create fsxn-ontap -vserver fsxn-svm-demo -type nas -nas-path /vol1

    Jupyter Lab-Terminalausgabe

  7. Führen Sie die folgenden Befehle aus, um die Endpunkt-IP und Anmeldeinformationen für FSx ONTAP private S3 abzurufen.

    network interface show -vserver fsxn-svm-demo -lif nfs_smb_management_1
    
    set adv
    
    vserver object-store-server user show
  8. Bewahren Sie die Endpunkt-IP und die Anmeldeinformationen für die zukünftige Verwendung auf.

    Jupyter Lab-Terminal

Client-Konfiguration

  1. Erstellen Sie in der SageMaker-Notebook-Instanz ein neues Jupyter-Notebook.

    Öffnen Sie ein neues Jupyter-Notebook

  2. Verwenden Sie den folgenden Code als Workaround-Lösung, um Dateien in den privaten S3-Bucket von FSx ONTAP hochzuladen. Ein umfassendes Codebeispiel finden Sie in diesem Notizbuch."fsxn_demo.ipynb"

    # Setup configurations
    # -------- Manual configurations --------
    seed: int = 77                                              # Random seed
    bucket_name: str = 'fsxn-ontap'                             # The bucket name in ONTAP
    aws_access_key_id = '<Your ONTAP bucket key id>'            # Please get this credential from ONTAP
    aws_secret_access_key = '<Your ONTAP bucket access key>'    # Please get this credential from ONTAP
    fsx_endpoint_ip: str = '<Your FSx ONTAP IP address>'        # Please get this IP address from FSx ONTAP
    # -------- Manual configurations --------
    
    # Workaround
    ## Permission patch
    !mkdir -p vol1
    !sudo mount -t nfs $fsx_endpoint_ip:/vol1 /home/ec2-user/SageMaker/vol1
    !sudo chmod 777 /home/ec2-user/SageMaker/vol1
    
    ## Authentication for FSx ONTAP as a Private S3 Bucket
    !aws configure set aws_access_key_id $aws_access_key_id
    !aws configure set aws_secret_access_key $aws_secret_access_key
    
    ## Upload file to the FSx ONTAP Private S3 Bucket
    %%capture
    local_file_path: str = <Your local file path>
    
    !aws s3 cp --endpoint-url http://$fsx_endpoint_ip /home/ec2-user/SageMaker/$local_file_path  s3://$bucket_name/$local_file_path
    
    # Read data from FSx ONTAP Private S3 bucket
    ## Initialize a s3 resource client
    import boto3
    
    # Get session info
    region_name = boto3.session.Session().region_name
    
    # Initialize Fsxn S3 bucket object
    # --- Start integrating SageMaker with FSXN ---
    # This is the only code change we need to incorporate SageMaker with FSXN
    s3_client: boto3.client = boto3.resource(
        's3',
        region_name=region_name,
        aws_access_key_id=aws_access_key_id,
        aws_secret_access_key=aws_secret_access_key,
        use_ssl=False,
        endpoint_url=f'http://{fsx_endpoint_ip}',
        config=boto3.session.Config(
            signature_version='s3v4',
            s3={'addressing_style': 'path'}
        )
    )
    # --- End integrating SageMaker with FSXN ---
    
    ## Read file byte content
    bucket = s3_client.Bucket(bucket_name)
    
    binary_data = bucket.Object(data.filename).get()['Body']

Damit ist die Integration zwischen FSx ONTAP und der SageMaker-Instanz abgeschlossen.

Nützliche Checkliste zum Debuggen

  • Stellen Sie sicher, dass sich die SageMaker Notebook-Instance und das FSx ONTAP Dateisystem im selben VPC befinden.

  • Denken Sie daran, den Befehl set dev auf ONTAP auszuführen, um die Berechtigungsstufe auf dev festzulegen.

FAQ (Stand: 27.09.2023)

F: Warum erhalte ich beim Hochladen von Dateien auf FSx ONTAP die Fehlermeldung „Beim Aufrufen des Vorgangs „CreateMultipartUpload“ ist ein Fehler aufgetreten (NotImplemented): Der von Ihnen angeforderte S3-Befehl ist nicht implementiert“?

A: Als privater S3-Bucket unterstützt FSx ONTAP das Hochladen von Dateien mit bis zu 100 MB. Bei Verwendung des S3-Protokolls werden Dateien, die größer als 100 MB sind, in 100-MB-Blöcke aufgeteilt und die Funktion „CreateMultipartUpload“ aufgerufen. Die aktuelle Implementierung von FSx ONTAP private S3 unterstützt diese Funktion jedoch nicht.

F: Warum erhalte ich beim Hochladen von Dateien auf FSx ONTAP die Fehlermeldung „Beim Aufrufen der PutObject-Operationen ist ein Fehler aufgetreten (Zugriff verweigert): Zugriff verweigert“?

A: Um von einer SageMaker Notebook-Instanz auf den privaten S3-Bucket von FSx ONTAP zuzugreifen, ändern Sie die AWS-Anmeldeinformationen in die FSx ONTAP Anmeldeinformationen. Um der Instanz Schreibberechtigungen zu erteilen, ist jedoch eine Problemumgehungslösung erforderlich, bei der der Bucket gemountet und der Shell-Befehl „chmod“ ausgeführt wird, um die Berechtigungen zu ändern.

F: Wie kann ich den privaten S3-Bucket von FSx ONTAP in andere SageMaker ML-Dienste integrieren?

A: Leider bietet das SageMaker Services SDK keine Möglichkeit, den Endpunkt für den privaten S3-Bucket anzugeben. Daher ist FSx ONTAP S3 nicht mit SageMaker-Diensten wie Sagemaker Data Wrangler, Sagemaker Clarify, Sagemaker Glue, Sagemaker Athena, Sagemaker AutoML und anderen kompatibel.