Transférer des ensembles de données volumineux de Cloud Storage vers Filestore

Utilisez le service de transfert de stockage pour déplacer des ensembles de données volumineux depuis Cloud Storage vers vos partages de fichiers Filestore.

Workflow montrant que les données sont transférées de Cloud Storage vers une instance Filestore à l'aide du service de transfert de stockage. L'instance Filestore est installée sur plusieurs instances Compute Engine.

Le service de transfert de stockage vous aide à transférer de manière rapide et sécurisée des ensembles de données volumineux entre des systèmes de stockage d'objets et de fichiers, que vos données soient hébergées dans Cloud Storage, auprès de fournisseurs cloud tiers ou sur site.

Le service de transfert de stockage permet d'accélérer les transferts d'ensembles de données volumineux, traitant des centaines de To de données ou plus. Déplacez vos ensembles de données volumineux vers le cloud pour bénéficier des opérations d'analyse et de machine learning disponibles à partir des instances Compute Engine sous-jacentes sur lesquelles vos instances Filestore sont installées.

Avec le service de transfert de stockage, vous pouvez facilement créer des transferts gérés par Google ou configurer des transferts auto-hébergés pour un contrôle total sur le routage réseau et l'utilisation de la bande passante.

Transférer des données d'un bucket Cloud Storage vers un partage de fichiers Filestore

Pour transférer des données de Cloud Storage vers un partage de fichiers Filestore à l'aide du service de transfert de stockage, vous devez effectuer les tâches suivantes:

  1. configurer votre environnement ;
  2. Configurez Filestore.
  3. Configurer le service de transfert de stockage
  4. Créez et lancez le job de transfert.

Les sections suivantes vous expliquent chaque tâche.

Configurer votre environnement

  1. Sélectionnez ou créez un projet.

    Pour les besoins de ce guide, assurez-vous que vos ressources sources et de destination se trouvent dans le même projet.

    Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Si vous testez Filestore et que vous ne prévoyez pas de conserver les ressources que vous créez, nous vous recommandons de créer un projet au lieu de sélectionner un projet existant. Une fois les tests terminés, vous pouvez supprimer le projet. Cela entraîne la suppression de toutes les ressources qui lui sont associées.

    Accéder au sélecteur de projet

  2. Activez la facturation.

    Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  3. Activez les API suivantes:

    • API Filestore

    • API Resource Manager

    • API Pub/Sub

    • API Cloud Storage

    • API Storage Transfer

    • API Cloud Logging

    • API Compute Engine

    • API Service Usage

    • API Identity and Access Management

  4. Facultatif: gcloud, un composant majeur de Google Cloud SDK, est installé sur chaque VM Compute Engine. Si vous effectuez l'une des étapes suivantes à partir de votre ligne de commande locale, configurez Google Cloud SDK.

    Installez et initialisez le SDK Google Cloud.

    Si vous avez déjà installé Google Cloud SDK, assurez-vous de disposer de la dernière version disponible en exécutant la commande suivante:

    gcloud components update
    
  5. Créez un compte de service. Dans la section Autoriser ce compte de service à accéder au projet, attribuez les rôles suivants:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Pub/Sub Editor

    • Cloud Filestore Editor

    • Storage Object Admin

    • Storage Transfer Admin

    • Storage Transfer Agent

    1. Copiez et enregistrez le nom du compte de service que vous avez créé. Vous en aurez besoin plus tard.

    2. Créez une clé de compte de service pour le compte que vous venez de créer. Pour les besoins de ce guide, créez une seule clé. Téléchargez le fichier de clé et enregistrez-le pour une étape ultérieure.

  6. Attribuez des rôles à un compte utilisateur. Sur la page IAM, recherchez votre compte utilisateur et attribuez-lui les rôles suivants:

    • Owner

    • Project IAM Admin

    • Role Administrator

    • Storage Transfer Admin

    • Storage Admin

    Pour en savoir plus, consultez la section Autorisations des utilisateurs.

Configurer Filestore

  1. Créez une instance Filestore. Lors de la création de l'instance, appliquez les spécifications suivantes:

    1. Assurez-vous que le bucket Cloud Storage, la VM cliente et l'instance Filestore résident tous dans la même région.

    2. Sélectionnez un type d'instance Enterprise.

    3. Facultatif: Pour les ensembles de données plus volumineux, demandez une augmentation de quota.

    4. Copiez le nom de l'instance et l'adresse IP, puis enregistrez-les pour plus tard.

  2. Installez une instance Filestore sur une machine cliente.

    Ce guide décrit un transfert qui utilise quatre VM Compute Engine en tant que machines clientes NFS. Vous allez créer un seul compte de service qui fonctionne pour le compte des quatre machines clientes. Trois agents du service de transfert de stockage seront installés sur chaque machine cliente.

    1. créer une instance de VM Compute Engine ayant accès à d'autres services Google Cloud ;

      1. Configurez une VM avec les spécifications suivantes:

        1. Lorsque vous spécifiez un emplacement, assurez-vous que le bucket Google Cloud, la VM cliente et l'instance Filestore résident dans la même région.

        2. Chaque agent de service de transfert de stockage nécessite quatre processeurs virtuels et 8 Go de RAM. Pour des performances optimales, exécutez plusieurs agents par VM. Pour les besoins de ce guide, provisionnez une instance de machine virtuelle Compute Engine e2-standard-32.

        3. Dans la section Identité et accès à l'API, spécifiez les éléments suivants:

          1. Dans la liste déroulante Comptes de service, sélectionnez le compte de service que vous venez de créer.
    2. Une fois l'instance de VM Compute Engine créée, connectez-vous à la machine à l'aide de SSH. Sur la page Instance de VM Compute Engine, localisez l'instance que vous avez créée, puis cliquez sur SSH.

    3. Utilisez un éditeur de texte tel que Vim pour créer une copie du fichier de clé du compte de service et l'enregistrer temporairement localement sur la VM. Par exemple, service-account-key.json.

    4. Installez Docker sur la VM.

    5. gcloud est déjà installé sur l'instance de VM Compute Engine. Dans la ligne de commande SSH, saisissez la commande suivante pour autoriser le compte de service à utiliser gcloud:

      gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
      

      où :

      • ACCOUNT correspond à l'adresse e-mail du compte de service que vous avez créé. Exemple : my-service-account@my-project.iam.gserviceaccount.com.

      • KEY_FILE est le chemin d'accès local relatif au fichier de clé que vous avez copié précédemment. Par exemple, sa-key.json.

    6. Toujours à partir de la ligne de commande SSH, installez NFS:

      sudo apt-get -y update && sudo apt-get install nfs-common
      
    7. Créez un répertoire local à mapper au partage de fichiers Filestore. Lorsque vous répétez ces étapes pour d'autres instances de VM Compute Engine, utilisez le même nom et le même chemin d'accès:

      sudo mkdir -p MY_DIRECTORY
      

      où :

      • MY_DIRECTORY est le nom du répertoire POSIX local pour l'instance de VM Compute Engine. Par exemple, /usr/local/my_dir.
    8. Installez le partage de fichiers associé à l'instance Filestore en exécutant la commande mount. Vous pouvez utiliser toutes les options d'installation NFS. Pour des performances optimales, consultez les recommandations d'installation de NFS dans Installer un partage de fichiers sur une instance de VM Compute Engine:

      sudo mount -o rw,intr IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
      

      où :

      • IP_ADDRESS est l'adresse IP de l'instance Filestore. Vous pouvez le trouver sur la page Instances Filestore.

      • FILE_SHARE est le nom du partage de fichiers sur l'instance. Par exemple, my_fs_instance.

      • MY_DIRECTORY correspond au nom du répertoire que vous avez mappé à l'étape précédente. Il s'agit d'un répertoire sur l'instance de VM Compute Engine sur laquelle vous souhaitez installer l'instance Filestore.

    9. Vérifiez le point d'installation:

      mount -l | grep nfs
      

      Cela renvoie le résultat suivant ou un résultat similaire:

      10.66.55.194:/my_fs_instance on /home/usr/my_dir type nfs (rw,relatime,vers=3,rsize=262144,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.66.55.194,mountvers=3,mountport=2050,mountproto=udp,local_lock=none,addr=10.66.55.194)
      

      Vous pouvez également utiliser la commande suivante:

      df -h --type=nfs
      

      Cela renvoie le résultat suivant ou un résultat similaire:

      Filesystem                       Size  Used Avail Use% Mounted on
      10.66.55.194:/my_fs_instance  1.0T     0  1.0T   0% /home/usr/my_dir
      
    10. Notez le chemin d'accès au répertoire POSIX local et enregistrez-le pour une étape ultérieure.

    11. Répétez les étapes précédentes pour créer trois autres instances de VM Compute Engine et installer la même instance Filestore sur chacune d'elles. Utilisez le même compte de service pour gérer les quatre VM Compute Engine. Enregistrez temporairement une copie locale de la clé du compte de service sur chaque VM.

Configurer le service de transfert de stockage

  1. Créez un pool d'agents.

  2. Autorisez le compte de service géré par Google pour toutes les fonctionnalités du service de transfert de stockage.

    1. Saisissez la commande suivante :

      gcloud transfer authorize --add-missing --creds-file=KEY_FILE
      

      où :

      • KEY_FILE est le chemin d'accès local relatif au fichier de clé que vous avez copié précédemment. Par exemple, sa-key.json.

      Notez la notification renvoyée concernant le compte de service géré par Google et enregistrez l'adresse e-mail associée pour l'étape suivante.

    2. Après quelques minutes, le compte de service géré par Google doit s'afficher sur la page IAM. Une fois la propagation effectuée, vérifiez que les rôles suivants sont attribués:

      • Pub/Sub Editor

      • Storage Admin

  3. Installez des agents de transfert.

    Chaque agent de service de transfert de stockage nécessite quatre processeurs virtuels et 8 Go de RAM.

    1. Nous vous recommandons d'installer plusieurs agents afin d'optimiser la tolérance aux pannes et de tirer parti du scaling dynamique offert par le service de transfert de stockage. L'exemple suivant montre comment installer trois agents sur une machine cliente. Dans la ligne de commande SSH, exécutez la commande suivante:

      gcloud transfer agents install --pool=MY_AGENT_POOL --count=3 \
      --creds-file=MY_SERVICE_ACCOUNT_KEY_FILE
      

      où :

      • MY_AGENT_POOL est le nom du pool d'agents que vous avez créé précédemment. Par exemple, my-agent-pool.

      • MY_SERVICE_ACCOUNT_KEY_FILE est le chemin d'accès relatif à la clé de compte de service. Exemple : /relative/path/to/service-account-key.json.

    2. Répétez ces étapes pour chaque machine cliente.

Créer et lancer le job de transfert

  1. Créez un job de transfert pour déplacer les données de votre bucket Cloud Storage vers votre instance Filestore. Reportez-vous au répertoire POSIX local que vous avez enregistré précédemment pour spécifier le chemin de destination. Exemple : /home/usr/my_dir.

Surveiller l'état du transfert

Console

Surveillez l'état du transfert sur la page Jobs de transfert de la console Google Cloud.

Ligne de commande

Vous pouvez surveiller l'état à l'aide de la ligne de commande:

gcloud transfer jobs monitor JOB_NAME

où :

  • JOB_NAME est le nom de votre job de transfert. Exemple : transferJobs/OPI6300379522015192941.

La réponse affiche les éléments suivants ou des informations similaires:

Polling for latest operation name...done.
Operation name: my-sts-project_transferJobs/OPI6300379522015192941_0000000001660692377
Parent job: OPI6300379522015192941
Start time: 2022-08-16T23:26:17.600981Z
SUCCESS | 100% (731.9MiB of 731.9MiB) | Skipped: 129.8kiB | Errors: 0
End time: 2022-08-16T23:27:23.429472Z

Pour en savoir plus, consultez Surveiller l'activité de l'agent ou Informations sur le transfert du système de fichiers.

Étapes suivantes