Connessione delle VM TPU ai bucket Cloud Storage

Questa pagina presenta Cloud Storage come opzione per l'archiviazione dei dati di machine learning e dell'output di addestramento e descrive come concedere alla VM TPU l'accesso agli oggetti dati su Cloud Storage.

Prima di iniziare

Per accedere a un bucket Cloud Storage, devi avere un account di servizio collegato alla VM TPU. Se non specifichi un account di servizio quando crei una VM TPU, questa utilizza il service account predefinito di Compute Engine.

Per configurare un Google Cloud progetto per le TPU e creare un'istanza VM TPU, segui le istruzioni riportate in:

  1. Configura un Google Cloud progetto per le TPU.
  2. Crea un'istanza VM TPU utilizzando Compute Engine

Scrivi dati in Cloud Storage

Console

  1. Vai alla pagina Cloud Storage nella Google Cloud console.

    Vai alla pagina Cloud Storage

  2. Crea un nuovo bucket, specificando le seguenti opzioni:

    • Un nome univoco a tua scelta.
    • Classe di archiviazione predefinita: Standard
    • Località: la regione in cui hai creato la VM TPU. Per saperne di più sulle regioni e sulla disponibilità delle TPU, consulta Regioni e zone TPU.

CLI

  1. Utilizza il comando gcloud storage buckets create per creare un bucket Cloud Storage:

    gcloud storage buckets create gs://BUCKET_NAME --location REGION
    

    Sostituisci i seguenti segnaposto:

    • BUCKET_NAME è il nome del bucket che vuoi creare.
    • REGION è la regione in cui hai creato la VM TPU. Per saperne di più sulle regioni e sulla disponibilità delle TPU, consulta Regioni e zone TPU.
  2. Utilizza il comando gcloud storage cp per scrivere i file nel bucket Cloud Storage:

    gcloud storage cp -r LOCAL_DATA_DIR gs://BUCKET_NAME
    

    Sostituisci i seguenti segnaposto:

    • LOCAL_DATA_DIR è un percorso locale ai tuoi dati. Ad esempio: $HOME/your-data
    • BUCKET_NAME è il nome del bucket in cui vuoi scrivere.

Concedi alla VM TPU l'accesso a Cloud Storage

Devi concedere alla VM TPU l'accesso in lettura e scrittura agli oggetti Cloud Storage. Per farlo, devi concedere l'accesso richiesto al account di servizio collegato alla VM TPU. Le sezioni seguenti mostrano come trovare il account di servizio collegato e concedere l'accesso necessario.

Autorizza il account di servizio collegato

Il modo consigliato per autorizzare il account di servizio collegato è utilizzare le liste di controllo dell'accesso (ACL) granulari. Puoi anche concedere autorizzazioni più ampie utilizzando le autorizzazioni IAM.

Utilizzo di ACL granulari per la VM TPU (consigliato)

Se memorizzi i dati di addestramento su Cloud Storage, il account di servizio collegato deve disporre dell'autorizzazione di lettura e scrittura sul bucket.

Console

  1. Vai alla pagina del browser Cloud Storage per visualizzare i bucket di tua proprietà.

    Vai al browser Cloud Storage

  2. Seleziona il bucket di cui vuoi modificare l'ACL.

  3. Seleziona la scheda Autorizzazioni.

  4. Seleziona Concedi accesso per aggiungere una nuova autorizzazione e digita il nome completo del account di servizio nella casella di modifica Nuove entità.

  5. Se stai leggendo da questo bucket, devi autorizzare il service account collegato a leggere dalla risorsa. Per farlo, concedi al service account il ruolo Storage Legacy > Storage Legacy Bucket Reader.

  6. Se stai scrivendo in questo bucket, devi autorizzare il service account collegato a scrivere nella risorsa. Per farlo, concedi al service account il ruolo Storage Legacy > Storage Legacy Bucket Writer.

CLI

  1. Se stai leggendo da questo bucket, concedi l'autorizzazione di lettura per il account di servizio collegato:

     gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectViewer
    

    Sostituisci i seguenti segnaposto:

    • BUCKET_NAME è il nome del bucket da cui vuoi leggere.
    • SERVICE_ACCOUNT è il nome del account di servizio collegato alla VM TPU.
  2. Se stai scrivendo in questo bucket, concedi l'autorizzazione di scrittura per il account di servizio collegato:

     gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectCreator
    

    Sostituisci i seguenti segnaposto:

    • BUCKET_NAME è il nome del bucket in cui vuoi scrivere.
    • SERVICE_ACCOUNT è il nome del account di servizio collegato alla VM TPU.

Utilizzo delle autorizzazioni IAM per la VM TPU (alternativa)

Se vuoi concedere autorizzazioni più ampie anziché concedere l'accesso a ogni bucket in modo esplicito, puoi concedere il ruolo Amministratore Storage di Identity and Access Management (IAM) al account di servizio collegato alla VM TPU.

  1. Vai a IAM

  2. Fai clic sul pulsante Concedi accesso per aggiungere entità al progetto.

  3. Inserisci il nome del account di servizio collegato nel campo Entità.

  4. Fai clic sull'elenco a discesa Ruoli.

  5. Attiva i seguenti ruoli:

    • Progetto > Visualizzatore

    • Storage > Amministratore Storage

Cloud Storage FUSE

Cloud Storage FUSE consente di montare e accedere ai bucket Cloud Storage come file system locali. In questo modo, le applicazioni possono leggere e scrivere oggetti nel bucket utilizzando la semantica standard del file system.

Consulta la documentazione di Cloud Storage FUSE per i dettagli su come funziona Cloud Storage FUSE e una descrizione di come le operazioni di Cloud Storage FUSE vengono mappate alle operazioni di Cloud Storage. Puoi trovare ulteriori informazioni su come utilizzare Cloud Storage FUSE, ad esempio come installare l'interfaccia a riga di comando gcsfuse e montare i bucket su GitHub.

Libera spazio

  1. Disconnettiti dalla VM TPU, se non l'hai già fatto:

    exit
    
  2. In Cloud Shell o nel terminale, elimina la VM TPU:

    gcloud compute instances delete TPU_NAME --zone=ZONE
    

    Sostituisci i seguenti segnaposto:

    • TPU_NAME: il nome della VM TPU che hai creato.
    • ZONE: la zona in cui è stata creata la VM TPU.
  3. Verifica che la VM sia stata eliminata eseguendo gcloud compute instances list. L'eliminazione potrebbe richiedere alcuni minuti.

    gcloud compute instances list --zone=ZONE
    

    Sostituisci ZONE con la zona in cui è stata creata la VM TPU.

    Se la risposta non elenca l'istanza TPU, è stata eliminata correttamente.

  4. Esegui il comando seguente per eliminare il bucket Cloud Storage e i relativi contenuti, sostituendo BUCKET_NAME con il nome del bucket che hai creato:

    gcloud storage rm --recursive gs://BUCKET_NAME
    

    Sostituisci i seguenti segnaposto:

    • BUCKET_NAME: il nome del bucket che vuoi eliminare.

Passaggi successivi