Avant de créer une tâche de transfert de système de fichiers, vous devez activer les API requises et installer Docker.
Si vous recevez des messages d'erreur lors de la configuration initiale, vérifiez que l'utilisateur avec lequel vous vous êtes connecté dispose des autorisations nécessaires pour effectuer la configuration. Dans de nombreux cas, ces autorisations ne sont pas disponibles pour tous les utilisateurs et vous devrez peut-être contacter un administrateur de projet pour obtenir de l'aide.
Configuration requise
Pour utiliser le service de transfert de stockage pour les transferts du système de fichiers, vous avez besoin des éléments suivants:
Une source et/ou une destination compatibles avec POSIX.
Un bucket Cloud Storage sans règle de conservation Pour transférer vers un bucket avec une règle de conservation, consultez la section Transférer vers un bucket avec une règle de conservation.
Le port TCP 443 (HTTPS) est ouvert pour les connexions sortantes.
Les exigences de la machine de l'agent de transfert sont répertoriées ci-dessous:
Un serveur ou une machine virtuelle Linux 64 bits compatible avec Docker qui peut accéder aux données que vous prévoyez de transférer. Docker Community Edition, compatible avec les systèmes d'exploitation CentOs, Debian, Fedora et Ubuntu.
Pour utiliser d'autres systèmes d'exploitation Linux, consultez la page sur Docker Enterprise.
Au minimum 8 Go de mémoire par conteneur et au moins quatre processeurs pour être plus efficace.
Toutes les contraintes au niveau du système ou de l'utilisateur concernant le nombre d'ID de processus autorisés, telles que celles configurées avec
ulimit -u, doivent tenir compte du nombre d'agents que vous prévoyez d'exécuter. Chaque processus d'agent peut créer jusqu'à plusieurs centaines de threads. Nous vous recommandons de supprimer les limites d'ID de processus lorsque vous exécutez des agents de transfert.Les clients qui utilisent Podman pour créer des conteneurs d'agent de service doivent spécifier une
--pids-limitvaleur suffisamment élevée pour prendre en charge les threads d'agent de service du service de transfert de stockage. La valeur par défaut de--pids-limitest 2048, ce qui peut entraîner des problèmes lors de l'exécution de plusieurs agents. Nous vous recommandons de définir--pids-limit=-1pour autoriser un nombre illimité d'ID de processus par conteneur.
Points de terminaison obligatoires
Les points de terminaison DNS suivants doivent être accessibles à l'agent de transfert. Bien qu'un agent ne puisse utiliser qu'un sous-ensemble de ces points de terminaison en fonction de sa configuration, tous les points de terminaison doivent être autorisés pour garantir une fonctionnalité complète.
Points de terminaison Google
Cette liste de points de terminaison obligatoires est susceptible d'être modifiée. Pour éviter les interruptions de transfert, nous vous recommandons d'autoriser le domaine de base googleapis.com et gcr.io, à condition que les règles de sécurité de votre organisation le permettent.
| Point de terminaison | Service | Objectif |
|---|---|---|
storagetransfer.googleapis.com |
Service de transfert de stockage | Utilisé par l'agent pour se connecter au service de transfert de stockage, recevoir des tâches de transfert et signaler son état de santé. |
storage.googleapis.com |
Cloud Storage | Utilisé pour effectuer des opérations de transfert de données de base, y compris la liste, la lecture et l'écriture d'objets dans vos buckets Cloud Storage. |
www.googleapis.com |
API Google | Utilisé pour télécharger les mises à jour de version de l'agent de transfert. |
monitoring.googleapis.com |
Cloud Monitoring | Utilisé pour exporter les métriques sur les performances de transfert et l'état de santé de l'agent. |
logging.googleapis.com |
Cloud Logging | Utilisé pour publier les journaux d'activité et du système de l'agent. |
oauth2.googleapis.com |
Google OAuth 2.0 | Utilisé pour échanger des identifiants de manière sécurisée et récupérer des jetons d'accès à courte durée de vie pour l'autorisation de l'API. |
iamcredentials.googleapis.com |
Identifiants du compte de service IAM | Utilisé pour générer des identifiants temporaires lorsque l'agent est configuré pour emprunter l'identité d'un compte de service spécifique. |
cloudresourcemanager.googleapis.com |
Resource Manager | Utilisé lors de l'installation et de la configuration de l'agent pour vérifier la configuration et les autorisations du projet. |
gcr.io |
Container Registry | Utilisé pour télécharger l'image de conteneur de l'agent de service de transfert de stockage lors de l'installation. |
Pour optimiser les performances de transfert, l'agent peut utiliser différents protocoles HTTP, y compris HTTP/1.1 et HTTP/2 au minimum, lorsqu'il communique avec différents points de terminaison. Assurez-vous que vos proxys ou pare-feu configurés sont correctement compatibles et performants pour tous ces types de protocole.
Points de terminaison régionaux
Si vous avez configuré vos agents pour qu'ils utilisent
des points de terminaison régionaux
(par exemple, storage.REGION.rep.googleapis.com),
ces noms de domaine spécifiques doivent être autorisés par vos règles de proxy ou de pare-feu
au lieu du point de terminaison storage.googleapis.com standard.
Points de terminaison de stockage source et de destination
L'agent nécessite également un accès réseau aux systèmes de stockage source et de destination spécifiques, tels que les API compatibles avec S3, les clusters HDFS ou NFS pour POSIX.
Restrictions liées au scaling des tâches et des agents
Le service de transfert de stockage présente les restrictions de scaling suivantes pour les agents et les tâches de transfert :
- Le nombre de fichiers par tâche doit être inférieur à un milliard.
- La limite de bande passante doit être supérieure à 1 Mbit/s.
- Jusqu'à 100 agents par pool d'agents
- Jusqu'à 800 pools d'agents par projet
Activer les API
-
Activez l'API Google Storage Transfer.
Rôles requis pour activer les API
Pour activer les API, vous avez besoin de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation via le rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation via le rôle Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.
Installer Docker
Si vous utilisez Google Cloud CLI ou Docker pour installer et exécuter des agents de transfert, installez Docker Engine sur une machine Linux physique ou virtuelle.
Si vous utilisez Podman pour installer et exécuter des agents de transfert, passez directement à the instructions d'installation spécifiques à Podman.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now
Si des erreurs se produisent pendant l'installation, consultez la section Dépannage.
Autoriser Docker à s'authentifier
Pour que le conteneur Docker puisse s'authentifier avec vos identifiants par défaut gcloud, exécutez la commande suivante afin de créer un volume Docker contenant un fichier qui inclut les identifiants par défaut de l'application :
sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login
Étape suivante
- Configurer les autorisations Google Cloud
- Créer un pool d'agents
- Installer les agents de transfert
- Créer une tâche de transfert
- Maximiser les performances de l'agent de transfert