Connecter des VM TPU à des 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 VM TPU l'accès aux objets de données sur Cloud Storage.
Avant de commencer
Vous avez besoin d'un compte de service associé à votre VM TPU pour accéder à un bucket Cloud Storage. Si vous ne spécifiez pas de compte de service lorsque vous créez une VM TPU, elle utilise le compte de service Compute Engine par défaut.
Pour configurer un projet Google Cloud pour les TPU et créer une instance de VM TPU, suivez les instructions de :
- Configurez un projet Google Cloud pour les TPU.
- Créer une instance de VM TPU à l'aide de Compute Engine
Écrire des données dans Cloud Storage
Console
Accédez à la page Cloud Storage de la console Google Cloud .
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éé la VM TPU. Pour en savoir plus sur les régions et la disponibilité des TPU, consultez Régions et zones TPU.
CLI
Exécutez la commande
gcloud storage buckets createpour créer un bucket Cloud Storage :gcloud storage buckets create gs://BUCKET_NAME --location REGIONRemplacez les espaces réservés suivants :
- BUCKET_NAME est le nom du bucket que vous souhaitez créer.
- REGION est la région dans laquelle vous avez créé la VM TPU. Pour en savoir plus sur les régions et la disponibilité des TPU, consultez Régions et zones TPU.
Exécutez la commande
gcloud storage cppour écrire des fichiers dans le bucket Cloud Storage :gcloud storage cp -r LOCAL_DATA_DIR gs://BUCKET_NAMERemplacez les espaces réservés suivants :
- LOCAL_DATA_DIR est un chemin d'accès local à vos données. Par exemple : $HOME/your-data
- BUCKET_NAME correspond au nom du bucket dans lequel vous souhaitez écrire.
Accorder à votre VM TPU l'accès à Cloud Storage
Vous devez accorder à votre VM TPU un accès en lecture/écriture à vos objets Cloud Storage. Pour ce faire, vous devez accorder l'accès requis au compte de service associé à votre VM TPU. Les sections suivantes expliquent comment trouver le compte de service associé et lui accorder les droits d'accès nécessaires.
Autoriser le compte de service associé
La méthode recommandée pour autoriser le compte de service associé consiste à utiliser des listes de contrôle des accès (LCA) précises. Vous pouvez également accorder des autorisations plus larges à l'aide d'autorisations IAM.
Utiliser des LCA précises pour les VM TPU (solution recommandée)
Si vous stockez des données d'entraînement sur Cloud Storage, le compte de service associé doit disposer d'autorisations en lecture et en écriture sur le bucket.
Console
Accédez à la page du navigateur Cloud Storage pour afficher les buckets que vous possédez.
Sélectionnez le bucket dont vous souhaitez modifier la LCA.
Sélectionnez l'onglet Autorisations.
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.
Si vous effectuez des opérations de lecture à partir de ce bucket, vous devez autoriser le compte de service associé à lire des données à partir de cette ressource. Pour ce faire, attribuez le rôle
Storage Legacy > Storage Legacy Bucket Readerau compte de service.Si vous effectuez des opérations d'écriture dans ce bucket, vous devez autoriser le compte de service associé à écrire des données dans cette ressource. Pour ce faire, attribuez le rôle
Storage Legacy > Storage Legacy Bucket Writerau compte de service.
CLI
Si vous effectuez des opérations de lecture à partir de ce bucket, octroyez une autorisation de lecture au compte de service associé :
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectViewerRemplacez les espaces réservés suivants :
- BUCKET_NAME correspond au nom du bucket à partir duquel vous souhaitez lire les données.
- SERVICE_ACCOUNT est le nom du compte de service associé à votre VM TPU.
Si vous effectuez des opérations d'écriture dans ce bucket, octroyez une autorisation d'écriture au compte de service associé :
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:SERVICE_ACCOUNT --role=roles/storage.objectCreatorRemplacez les espaces réservés suivants :
- BUCKET_NAME correspond au nom du bucket dans lequel vous souhaitez écrire.
- SERVICE_ACCOUNT est le nom du compte de service associé à votre VM TPU.
Utiliser des autorisations IAM pour les VM 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 IAM (Identity & Access Management) Administrateur de l'espace de stockage au compte de service associé à votre VM TPU.
Cliquez sur le bouton Accorder l'accès pour ajouter des comptes principaux au projet.
Saisissez le nom du compte de service associé dans le champ Comptes principaux.
Cliquez sur la liste déroulante Rôles.
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 des buckets Cloud Storage et d'y accéder comme s'il s'agissait de 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.
Pour en savoir plus sur le fonctionnement de Cloud Storage FUSE et sur la correspondance entre les opérations Cloud Storage FUSE et les opérations Cloud Storage, consultez la documentation Cloud Storage FUSE. Vous trouverez des informations supplémentaires sur l'utilisation de Cloud Storage FUSE sur GitHub, par exemple pour ce qui concerne l'installation de la CLI gcsfuse et l'installation de buckets.
Effectuer un nettoyage
Déconnectez-vous de la VM TPU, si vous ne l'avez pas déjà fait :
exitDans votre terminal ou Cloud Shell, supprimez la VM TPU :
gcloud compute instances delete TPU_NAME --zone=ZONERemplacez les espaces réservés suivants :
- TPU_NAME : nom de la VM TPU que vous avez créée.
- ZONE : zone dans laquelle la VM TPU a été créée.
Vérifiez que la VM a été supprimée en exécutant la commande
gcloud compute instances list. La suppression peut prendre plusieurs minutes.gcloud compute instances list --zone=ZONERemplacez ZONE par la zone dans laquelle la VM TPU a été créée.
Si l'instance de TPU ne figure pas dans la réponse, cela signifie qu'elle a bien été supprimée.
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_NAMERemplacez les espaces réservés suivants :
- BUCKET_NAME : nom du bucket que vous souhaitez supprimer.
Étapes suivantes
- Pour en savoir plus sur la création de buckets Cloud Storage et l'écriture de données dans ces buckets, consultez la documentation Cloud Storage sur la création de buckets.
- Pour en savoir plus sur les comptes de service, consultez la présentation de l'authentification.