Se connecter aux buckets Cloud Storage

Cette page présente Cloud Storage, une solution de stockage des données de machine learning et des résultats d'entraînement, et explique comment accorder à votre Cloud TPU l'accès aux objets de données sur Cloud Storage.

Avant de commencer

Vous avez besoin d'un compte de service Cloud TPU pour accéder à un bucket Cloud Storage.

  1. Créez un compte de service Cloud TPU pour votre projet.

    gcloud beta services identity create --service tpu.googleapis.com --project project-id

    La commande renvoie un compte de service Cloud TPU au format suivant:

    service-project-number@cloud-tpu.iam.gserviceaccount.com
    
  2. Suivez les instructions des guides de démarrage rapide Cloud TPU ou de Gérer les TPU pour configurer votre projet Google Cloud et créer vos VM et ressources TPU Cloud TPU.

Écrire des données dans Cloud Storage

Console

  1. Accédez à la page Cloud Storage de la console Google Cloud.

    Accéder à la page Cloud Storage

  2. Créez un bucket en spécifiant les options suivantes :

    • Un nom unique de votre choix
    • Classe de stockage par défaut : Standard
    • Emplacement: région dans laquelle vous avez créé le Cloud TPU. Pour en savoir plus sur les régions et la disponibilité des TPU, consultez la section Régions et zones TPU.

CLI

  1. Exécutez la commande gcloud storage buckets create pour créer un bucket Cloud Storage :

    gcloud storage buckets create gs://bucket-name --location region

    où :

    • region est la région dans laquelle vous avez créé le Cloud TPU. Pour en savoir plus sur les régions et la disponibilité des TPU, consultez la section Régions et zones TPU.

    • bucket-name est le nom du bucket que vous souhaitez créer.

  2. Exécutez la commande gcloud storage cp pour écrire des fichiers dans le bucket Cloud Storage :

    gcloud storage cp -r local-data-dir gs://bucket-name

    local-data-dir est un chemin d'accès local à vos données. Par exemple :$HOME/your-data

Accorder à votre Cloud TPU l'accès à Cloud Storage

Vous devez accorder à votre Cloud TPU un accès en lecture et en écriture à vos objets Cloud Storage. Pour ce faire, vous devez attribuer l'accès requis au compte de service Cloud TPU utilisé par Cloud TPU. Les sections suivantes vous montrent comment trouver le compte de service Cloud TPU et accorder l'accès nécessaire.

Autoriser le compte de service Cloud TPU

La méthode recommandée pour autoriser le compte de service Cloud TPU consiste à utiliser des listes de contrôle d'accès (LCA) précises. Vous pouvez également accorder des autorisations plus larges à l'aide des autorisations IAM.

Utiliser des listes de contrôle d'accès détaillées pour Cloud TPU (solution recommandée)

Si vous stockez des données d'entraînement sur Cloud Storage, le compte de service Cloud TPU doit disposer d'autorisations en lecture et en écriture sur le bucket.

Console

  1. Accédez à la page du navigateur Cloud Storage pour afficher les buckets que vous possédez.

    Accéder au navigateur Cloud Storage

  2. Accédez à l'objet dont vous souhaitez modifier la liste de contrôle d'accès.

  3. Sélectionnez l'onglet Autorisations.

  4. Sélectionnez Accorder l'accès pour ajouter une autorisation et saisissez le nom complet du compte de service dans la zone de modification Nouveaux comptes principaux.

  5. Si vous effectuez des opérations de lecture à partir de ce bucket, vous devez autoriser le compte de service TPU à lire des données à partir de cette ressource. Pour ce faire, attribuez le rôle Storage Legacy > Storage Legacy Bucket Reader au compte de service.

  6. Si vous effectuez des opérations d'écriture dans ce bucket, vous devez autoriser le compte de service TPU à écrire des données dans cette ressource. Pour ce faire, attribuez le rôle Storage Legacy > Storage Legacy Bucket Writer au compte de service.

CLI

  1. Si vous effectuez des opérations de lecture à partir de ce bucket, octroyez une autorisation de lecture au compte de service Cloud TPU:

     gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectViewer
     

  2. Si vous effectuez des opérations d'écriture dans ce bucket, octroyez une autorisation d'écriture au compte de service Cloud TPU:

     gcloud storage buckets add-iam-policy-binding gs://bucket-name --member=serviceAccount:service-account --role=roles/storage.objectCreator

Utiliser des autorisations IAM pour Cloud TPU (solution alternative)

Si vous souhaitez accorder des autorisations plus larges au lieu d'accorder explicitement l'accès à chaque bucket, vous pouvez attribuer le rôle Administrateur de l'espace de stockage IAM (gestion de l'authentification et des accès) au compte de service Cloud TPU.

  1. Accéder à IAM

  2. Cliquez sur le bouton Accorder l'accès pour ajouter des comptes principaux au projet.

  3. Saisissez le nom du compte de service Cloud TPU dans la zone de texte Principals.

  4. Cliquez sur la liste déroulante Rôles.

  5. Activez les rôles suivants :

    • Projet > Lecteur

    • Cloud Storage > Administrateur de l'espace de stockage

Cloud Storage FUSE

Cloud Storage FUSE vous permet d'installer et d'accéder aux buckets Cloud Storage en tant que systèmes de fichiers locaux. Cela permet aux applications de lire et d'écrire des objets dans votre bucket à l'aide d'une sémantique standard de système de fichiers.

Consultez la documentation de Cloud Storage FUSE pour en savoir plus sur le fonctionnement de Cloud Storage FUSE et sur la correspondance des opérations Cloud Storage FUSE avec les opérations Cloud Storage. Pour en savoir plus sur l'utilisation de Cloud Storage FUSE, par exemple pour installer la CLI gcsfuse et installer des buckets, consultez GitHub.

Effectuer un nettoyage

  1. Déconnectez-vous du Cloud TPU, si ce n'est pas déjà fait:

    (vm)$ exit
  2. Dans Cloud Shell, supprimez le Cloud TPU:

    gcloud compute tpus tpu-vm delete tpu-name --zone=zone
  3. Vérifiez que la VM a été supprimée en exécutant gcloud compute tpus tpu-vm list. La suppression peut prendre plusieurs minutes.

    gcloud compute tpus tpu-vm list --zone=zone

    Une réponse semblable à la suivante indique que vos instances ont bien été supprimées.

    Listed 0 items
    
  4. Exécutez la commande suivante pour supprimer le bucket Cloud Storage et son contenu, en remplaçant bucket-name par le nom du bucket que vous avez créé:

    gcloud storage rm --recursive gs://bucket-name

Étape suivante