Ce document décrit les options de configuration avancées du service de transfert des données sur site, telles que les suivantes :
- Copier des données sur des volumes CIFS ou SMB
- Utiliser les identifiants du compte de service
- Ajuster la mémoire maximale de l'agent
- Restreindre l'accès au répertoire des agents
- Coordonner les agents avec Kubernetes
Copier des données sur des volumes CIFS ou SMB
Les agents de transfert sur site ne sont pas compatibles directement avec les serveurs Windows. Cependant, vous pouvez déplacer des données stockées sur n'importe quel système de fichiers compatible avec POSIX en les installant sur une machine virtuelle (VM) ou sur un serveur Linux, puis en exécutant un agent à partir de la VM ou du serveur Linux pour copier vos données dans Cloud Storage.
Pour transférer des données depuis un volume CIFS ou SMB, procédez comme suit :
Provisionnez une VM ou un serveur Linux.
Pour connaître les systèmes d'exploitation compatibles, consultez la section Prérequis.
Exécutez la commande suivante sur la VM ou le serveur Linux que vous avez provisionné pour installer le volume :
sudo mount -t cifs -o username=WINDOWS-SHARE-USER,password=WINDOWS-SHARE-PASSWORD //IP-ADDRESS/SHARE-NAME /mnt
Où :
IP-ADDRESS
: adresse IP du serveur Microsoft Windows sur lequel se trouve le volume CIFS ou SMBSHARE-NAME
: nom du partage que vous installezWINDOWS-SHARE-USER
: utilisateur autorisé à accéder au volume CIFS ou SMBWINDOWS-SHARE-PASSWORD
: mot de passe de l'utilisateur autorisé du volume CIFS ou SMB
Vérifiez que le volume CIFS est bien installé en exécutant la commande suivante :
findmnt -l
Vérifiez que l'utilisateur qui exécutera l'agent peut répertorier et copier des fichiers sur le volume installé en exécutant les commandes suivantes :
sudo -u USERNAME cp /mnt/FILE1 /mnt/FILE2
Où :
USERNAME
: utilisateur qui exécutera l'agentFILE1
: fichier à copierFILE2
: nom du fichier vers lequel effectuer la copie
Utiliser les identifiants du compte de service
Vous pouvez utiliser les identifiants du compte de service pour exécuter l'agent. L'utilisation des identifiants du compte de service vous permet d'authentifier l'agent de transfert sans compter sur un seul compte utilisateur. Pour plus d'informations sur les types de compte, consultez la page Comptes principaux.
Avant d'utiliser les identifiants du compte de service avec vos agents, assurez-vous que le service de transfert des données sur site est prêt en vérifiant que les conditions suivantes sont remplies :
La configuration initiale est terminée.
Pour utiliser les identifiants du compte de service avec vos agents, procédez comme suit :
Créez des clés de compte de service. Pour plus d'informations, consultez la page Créer et gérer les clés de comptes de service.
Démarrez le conteneur Docker de l'agent en exécutant la commande suivante :
sudo docker run --ulimit memlock=64000000 -d --rm -v /:/transfer_root
gcr.io/cloud-ingest/tsop-agent:latest
--enable-mount-directory
--project-id=PROJECT-ID
--creds-file=CREDENTIAL-FILE
--hostname=$(hostname)
--agent-id-prefix=AGENT-ID-PREFIXoù :
PROJECT-ID
est l'ID du projet qui héberge le transfert, et où les ressources Pub/Sub sont créées et facturées.CREDENTIAL-FILE
est un fichier d'identifiants de compte de service au format JSON. Pour plus d'informations sur la génération d'un fichier d'identifiants de compte de service, consultez la page Créer et gérer les clés de comptes de service.ID-PREFIX
est un préfixe ajouté à l'ID de l'agent pour aider à identifier cet agent ou sa machine dans Google Cloud Console. Lorsqu'un préfixe est utilisé, l'ID de l'agent possède le format suivant :prefix + hostname + Docker container ID
.
Ajuster la mémoire maximale de l'agent
Le service de transfert des agents de données sur site utilise par défaut une mémoire système maximale de 8 Gio. Vous pouvez ajuster la mémoire maximale utilisée par les agents en fonction de votre environnement en transmettant --max-physical-mem=MAXIMUM-MEMORY
, et en remplaçant MAXIMUM-MEMORY
par une valeur adaptée à votre environnement.
- Mémoire minimale : 1 Gio
- Mémoire minimale pour effectuer des importations hautes performances : 6 Gio
Nous recommandons une valeur par défaut de 8 Gio.
Le tableau suivant décrit des exemples de formats acceptables pour MAXIMUM-MEMORY
:
Valeur max-physical-memory |
Paramètre de mémoire maximale |
---|---|
6g |
6 gigaoctets |
6gb |
6 gigaoctets |
6GiB |
6 gibioctets |
Restreindre l'accès au répertoire des agents
Pour spécifier les répertoires auxquels l'agent peut accéder lors d'un transfert, transmettez -v HOST-DIRECTORY:CONTAINER-DIRECTORY
à l'agent, où :
HOST-DIRECTORY
est le répertoire de la machine hôte à partir duquel vous souhaitez effectuer la copie.CONTAINER-DIRECTORY
est le répertoire mappé dans le conteneur de l'agent.
Vous pouvez utiliser plusieurs options -v
pour préciser davantage les répertoires à partir desquels effectuer la copie. Exemple :
sudo docker run --ulimit memlock=64000000 -d -rm --volumes-from gcloud-config \ -v /usr/local/research:/usr/local/research \ -v /usr/local/billing:/usr/local/billing \ -v /tmp:/tmp \ gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT-ID \ --hostname=$(hostname) \ --agent-id-prefix=ID-PREFIX
Si vous utilisez un compte de service, veillez à installer le fichier d'identifiants dans le conteneur et à transmettre --creds-file=CREDENTIAL-FILE
. Exemple :
sudo docker run --ulimit memlock=64000000 -d -rm \ -v HOST-DIRECTORY:container-directory \ -v /tmp:/tmp -v FULL-CREDENTIAL-FILE-PATH:FULL-CREDENTIAL-FILE-PATH gcr.io/cloud-ingest/tsop-agent:latest \ --project-id=PROJECT-ID \ --creds-file=CREDENTIAL-FILE \ --hostname=$(hostname) \ --agent-id-prefix=AGENT-PREFIX
Coordonner les agents avec Kubernetes
Docker est un environnement d'exécution de conteneur compatible avec Kubernetes. Vous pouvez utiliser Kubernetes pour orchestrer le démarrage et l'arrêt de nombreux agents simultanément. Du point de vue de Kubernetes, le conteneur de l'agent est considéré comme une application sans état. Vous pouvez donc suivre les instructions Kubernetes concernant le déploiement d'une application sans état.
Utiliser des points de terminaison d'API privées dans Cloud Interconnect
Pour utiliser des points de terminaison d'API privées dans Cloud Interconnect, procédez comme suit :
Connectez-vous à l'hôte sur site sur lequel vous souhaitez exécuter l'agent.
Configurez l'accès privé à Google. Pour plus d'informations, consultez la section Configurer l'accès privé à Google pour les hôtes sur site.
Vérifiez que vous pouvez vous connecter aux API Cloud Storage et Pub/Sub :
- Pour les API Cloud Storage, exécutez la commande suivante à partir de la même machine que l'agent de transfert pour tester le déplacement d'un fichier dans votre bucket Cloud Storage :
gsutil cp test.txt gs://MY-BUCKET
, oùMY-BUCKET
est le nom de votre bucket Cloud Storage. Si le transfert fonctionne, le test est réussi. - Pour les API Pub/Sub, exécutez la commande suivante à partir de la même machine que l'agent de transfert pour vérifier que vous pouvez trouver des sujets Pub/Sub existants :
gcloud pubsub topics list --project=PROJECT-ID
, oùPROJECT-ID
est le nom du projet Google Cloud. Si la liste des sujets Pub/Sub s'affiche, le test est réussi.
- Pour les API Cloud Storage, exécutez la commande suivante à partir de la même machine que l'agent de transfert pour tester le déplacement d'un fichier dans votre bucket Cloud Storage :