Utilisez le service de transfert de stockage pour déplacer de grands ensembles de données de Cloud Storage vers vos partages de fichiers Filestore.
Le service de transfert de stockage vous aide à transférer rapidement et de manière sécurisée de grands ensembles de données entre des systèmes de stockage d'objets et de fichiers, que vos données soient hébergées dans Cloud Storage, des fournisseurs cloud tiers ou sur site.
Le service de transfert de stockage permet d'accélérer les transferts de grands ensembles de données, en gérant des centaines de téraoctets de données ou plus. Déplacez vos grands ensembles de données vers le cloud pour profiter des opérations d'analyse et de machine learning disponibles dans les instances Compute Engine sous-jacentes où vos instances Filestore sont installées.
Avec le service de transfert de stockage, vous pouvez créer des transferts gérés par Google ou configurer des transferts auto-hébergés pour contrôler entièrement 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:
- configurer votre environnement ;
- Configurez Filestore.
- Configurez le service de transfert de stockage.
- Créez et lancez la tâche de transfert.
Les sections suivantes vous expliquent comment effectuer chaque tâche.
Configurer votre environnement
Sélectionnez ou créez un projet.
Pour les besoins de ce guide, assurez-vous que vos ressources source 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 comptez pas 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, ce qui supprime toutes les ressources qui lui sont associées.
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.
-
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
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:
gcloud components update
Créez un compte de service. Dans la section Grant this service account access to project (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
Copiez et enregistrez le nom du compte de service que vous avez créé pour une étape ultérieure.
Créez une clé de compte de service pour le compte que vous venez de créer. Pour les besoins de ce guide, ne créez qu'une seule clé. Téléchargez le fichier de clé et enregistrez-le pour une utilisation ultérieure.
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
Créez une instance Filestore. Lorsque vous créez l'instance, appliquez les spécifications suivantes:
Assurez-vous que le bucket Cloud Storage, la VM cliente et l'instance Filestore se trouvent dans la même région.
Sélectionnez un type d'instance régional ou entreprise.
Facultatif: Pour des ensembles de données plus volumineux, demandez une augmentation de quota.
Copiez le nom et l'adresse IP de l'instance, puis enregistrez-les pour une étape ultérieure.
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 au nom des quatre machines clientes. Trois agents service de transfert de stockage sont installés sur chaque machine cliente.
Créez une instance de VM Compute Engine avec accès à d'autres services Google Cloud.
Configurez une VM avec les spécifications suivantes:
Lorsque vous spécifiez un emplacement, assurez-vous que le bucket Google Cloud, la VM cliente et l'instance Filestore se trouvent tous dans la même région.
Chaque agent du service de transfert de stockage nécessite 4 vCPU 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
.Dans la section Identité et accès à l'API, spécifiez les éléments suivants:
- Dans le menu déroulant Service accounts (Comptes de service), sélectionnez le compte de service que vous venez de créer.
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, recherchez l'instance que vous avez créée, puis cliquez sur SSH.
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
.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 à utilisergcloud
:gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
où :
ACCOUNT est 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. Exemple :
sa-key.json
Toujours depuis la ligne de commande SSH, installez NFS:
sudo apt-get -y update && sudo apt-get install nfs-common
Créez un répertoire local à mapper au partage de fichiers Filestore. Lorsque vous répétez ces étapes pour les instances de VM Compute Engine suivantes, 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 de l'instance de VM Compute Engine. Exemple :
/usr/local/my_dir
- MY_DIRECTORY est le nom du répertoire POSIX local de l'instance de VM Compute Engine. Exemple :
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 obtenir les meilleures performances, consultez les recommandations d'installation NFS dans la section Installer un partage de fichiers sur une instance de VM Compute Engine:sudo mount -o rw 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. Exemple :
my_fs_instance
MY_DIRECTORY est le nom du répertoire auquel vous avez mappé à l'étape précédente. Il s'agit d'un répertoire sur l'instance de VM Compute Engine dans lequel vous souhaitez installer l'instance Filestore.
Confirmez le point d'installation:
mount -l | grep nfs
La réponse est semblable à la suivante:
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
La réponse est semblable à la suivante:
Filesystem Size Used Avail Use% Mounted on 10.66.55.194:/my_fs_instance 1.0T 0 1.0T 0% /home/usr/my_dir
Notez le chemin d'accès au répertoire POSIX local et enregistrez-le pour une étape ultérieure.
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 dans chaque VM.
Configurer le service de transfert de stockage
Autorisez l'agent de service pour toutes les fonctionnalités du service de transfert de stockage.
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. Exemple :
sa-key.json
Notez la notification renvoyée concernant l'agent de service et enregistrez l'adresse e-mail associée pour l'étape suivante.
- KEY_FILE est le chemin d'accès local relatif au fichier de clé que vous avez copié précédemment. Exemple :
Après quelques minutes, l'agent de service devrait 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
Installez les agents de transfert.
Chaque agent du service de transfert de stockage nécessite 4 vCPU et 8 Go de RAM.
Nous vous recommandons d'installer plusieurs agents pour maximiser la tolérance aux pannes et profiter de la mise à l'échelle dynamique proposée par le service de transfert de stockage. L'exemple suivant montre comment installer trois agents sur une machine cliente. À partir de 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 correspond au nom du pool d'agents que vous avez précédemment créé. Exemple :
my-agent-pool
MY_SERVICE_ACCOUNT_KEY_FILE est le chemin d'accès relatif à la clé du compte de service. Exemple :
/relative/path/to/service-account-key.json
.
Répétez ces étapes pour chaque machine cliente.
Créer et lancer la tâche de transfert
- Créez une tâche de transfert pour déplacer les données de votre bucket Cloud Storage vers votre instance Filestore.
Référencez le répertoire POSIX local que vous avez enregistré précédemment pour spécifier le chemin de destination. Par exemple,
/home/usr/my_dir
.
Surveiller l'état du transfert
Console
Surveillez l'état de votre transfert depuis la page Tâches 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 tâche de transfert. Exemple :
transferJobs/OPI6300379522015192941
.
La réponse affiche ce qui suit ou quelque chose de semblable:
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 Détails du transfert du système de fichiers.
Étape suivante
- Améliorer les performances de toutes les ressources Google Cloud
- Créez une instance de VM Compute Engine avec accès à d'autres services Google Cloud.