Skip to main content
NetApp artificial intelligence solutions
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Parte 1 - Integrazione di Amazon FSx for NetApp ONTAP (FSx ONTAP) come bucket S3 privato in AWS SageMaker

Questa sezione fornisce una guida sulla configurazione di FSx ONTAP come bucket S3 privato utilizzando AWS SageMaker.

Introduzione

Utilizzando SageMaker come esempio, questa pagina fornisce indicazioni sulla configurazione di FSx ONTAP come bucket S3 privato.

Per maggiori informazioni su FSx ONTAP, dai un'occhiata a questa presentazione ("Collegamento video" )

Guida per l'utente

Creazione del server

Creare un'istanza di SageMaker Notebook

  1. Apri la console AWS. Nel pannello di ricerca, cerca SageMaker e clicca sul servizio Amazon SageMaker.

    Apri la console AWS

  2. Aprire le Istanze del notebook nella scheda Notebook, fare clic sul pulsante arancione Crea istanza del notebook.

    Console dell'istanza AWS SageMaker Notebook

  3. Nella pagina di creazione, inserisci il Nome dell'istanza del notebook. Espandi il pannello Rete. Lascia le altre voci predefinite e seleziona una VPC, una Subnet e un Gruppo/i di sicurezza. (Questa VPC e Subnet verranno utilizzate in seguito per creare il file system FSx ONTAP ) Fare clic sul pulsante arancione Crea istanza notebook in basso a destra.

    Crea istanza del notebook

Creare un file system FSx ONTAP

  1. Apri la console AWS. Nel pannello di ricerca, cerca Fsx e clicca sul servizio FSx.

    Pannello FSx

  2. Fare clic su Crea file system.

    Crea file system

  3. Selezionare la prima scheda FSx ONTAP e fare clic su Avanti.

    Seleziona il tipo di file system

  4. Nella pagina di configurazione dei dettagli.

    1. Selezionare l'opzione Creazione standard.

      Crea pannello file system

    2. Immettere il Nome del file system e la Capacità di archiviazione SSD.

      Specificare i dettagli del file system

    3. Assicurarsi di utilizzare la VPC e la subnet identiche per l'istanza di SageMaker Notebook.

      Configurazione di rete e sicurezza

    4. Inserisci il nome della macchina virtuale di archiviazione e specifica una password per la tua SVM (macchina virtuale di archiviazione).

      Configurazione predefinita della macchina virtuale di archiviazione

    5. Lascia le altre voci predefinite e clicca sul pulsante arancione Avanti in basso a destra.

      Conferma la configurazione

    6. Fare clic sul pulsante arancione Crea file system in basso a destra nella pagina di revisione.

      Rivedere la configurazione e confermare la creazione

  5. Potrebbero essere necessari circa 20-40 minuti per avviare il file system FSx.

    Ispezionare la console FSx

Configurazione del server

Configurazione ONTAP

  1. Aprire il file system FSx creato. Assicurati che lo stato sia Disponibile.

    Attendi la creazione del backend

  2. Selezionare la scheda Amministrazione e mantenere Endpoint di gestione - Indirizzo IP e *Nome utente amministratore ONTAP *.

    Console dei dettagli del file system

  3. Aprire l'istanza SageMaker Notebook creata e fare clic su Apri JupyterLab.

    Console dell'istanza AWS SageMaker Notebook

  4. Nella pagina Jupyter Lab, apri un nuovo Terminale.

    Pagina di benvenuto di Jupyter Lab

  5. Immettere il comando ssh ssh <nome utente amministratore>@< IP server ONTAP > per accedere al file system FSx ONTAP . (Il nome utente e l'indirizzo IP vengono recuperati dal passaggio 2) Utilizzare la password utilizzata durante la creazione della macchina virtuale di archiviazione.

    Terminale Jupyter Lab

  6. Eseguire i comandi nel seguente ordine. Utilizziamo fsxn-ontap come nome per il nome del bucket S3 privato FSx ONTAP *. Utilizzare *nome della macchina virtuale di archiviazione per l'argomento -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

    Uscita del terminale Jupyter Lab

  7. Eseguire i comandi seguenti per recuperare l'IP dell'endpoint e le credenziali per FSx ONTAP privato S3.

    network interface show -vserver fsxn-svm-demo -lif nfs_smb_management_1
    
    set adv
    
    vserver object-store-server user show
  8. Conservare l'IP e le credenziali dell'endpoint per un utilizzo futuro.

    Terminale Jupyter Lab

Configurazione del client

  1. Nell'istanza di SageMaker Notebook, crea un nuovo notebook Jupyter.

    Apri un nuovo notebook Jupyter

  2. Utilizzare il codice seguente come soluzione alternativa per caricare i file nel bucket S3 privato di FSx ONTAP . Per un esempio di codice completo fare riferimento a questo notebook."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']

Questo conclude l'integrazione tra FSx ONTAP e l'istanza SageMaker.

Lista di controllo utile per il debug

  • Assicurarsi che l'istanza di SageMaker Notebook e il file system FSx ONTAP si trovino nella stessa VPC.

  • Ricordarsi di eseguire il comando set dev su ONTAP per impostare il livello di privilegio su dev.

FAQ (aggiornato al 27 settembre 2023)

D: Perché ricevo l'errore "Si è verificato un errore (NotImplemented) durante la chiamata dell'operazione CreateMultipartUpload: il comando s3 richiesto non è implementato" quando carico file su FSx ONTAP?

R: In quanto bucket S3 privato, FSx ONTAP supporta il caricamento di file fino a 100 MB. Quando si utilizza il protocollo S3, i file più grandi di 100 MB vengono divisi in blocchi da 100 MB e viene chiamata la funzione 'CreateMultipartUpload'. Tuttavia, l'attuale implementazione di FSx ONTAP private S3 non supporta questa funzione.

D: Perché ricevo l'errore "Si è verificato un errore (Accesso negato) durante la chiamata delle operazioni PutObject: Accesso negato" quando carico file su FSx ONTAP?

R: Per accedere al bucket S3 privato FSx ONTAP da un'istanza di SageMaker Notebook, sostituire le credenziali AWS con le credenziali FSx ONTAP . Tuttavia, per concedere l'autorizzazione di scrittura all'istanza è necessaria una soluzione alternativa che prevede il montaggio del bucket e l'esecuzione del comando shell 'chmod' per modificare le autorizzazioni.

D: Come posso integrare il bucket S3 privato FSx ONTAP con altri servizi SageMaker ML?

R: Purtroppo, l'SDK dei servizi SageMaker non fornisce un modo per specificare l'endpoint per il bucket S3 privato. Di conseguenza, FSx ONTAP S3 non è compatibile con i servizi SageMaker quali Sagemaker Data Wrangler, Sagemaker Clarify, Sagemaker Glue, Sagemaker Athena, Sagemaker AutoML e altri.