Cette page vous explique comment créer et démarrer des tâches de transfert depuis Amazon S3 vers Cloud Storage.
Configurer les autorisations
Avant de créer un transfert, vous devez configurer les autorisations sur votre Amazon S3 bucket. Pour en savoir plus, consultez Configurer l'accès à une source: Amazon S3.
Vous devez également configurer les autorisations pour les éléments suivants : Entités Google Cloud:
Compte utilisateur utilisé pour créer le transfert. Il s'agit de la connecté à la console Google Cloud ou au compte spécifiée lors de l'authentification auprès de la CLI "gcloud". Le compte utilisateur peut soit un compte utilisateur standard, soit un compte de service géré par l'utilisateur. | |
Le compte de service géré par Google, également appelé "service
utilisé par le service de transfert de stockage. Ce compte est généralement identifié par
son adresse e-mail, qui utilise le format
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com
|
Voir Autorisations de transfert sans agent pour instructions.
Options de sortie
Le service de transfert de stockage fournit plusieurs options pour transférer vos données S3 dans Cloud Storage.
Option de sortie | Description |
---|---|
Sans agent par défaut | Cette option utilise un transfert géré sans agent
de S3. Le trafic sortant vous est facturé par Amazon.
Suivez les instructions de cette page pour l'utiliser . |
Distribution CloudFront | Utiliser une distribution Amazon CloudFront en tant que sortie
chemin d'accès. Les transferts de données via CloudFront peuvent
bénéficier de coûts de sortie AWS réduits
le transfert directement
à partir de S3. Voir
Tarifs de CloudFront et frais de sortie S3
pour en savoir plus.
Suivez les instructions fournies dans l'article Transférez du code depuis S3 via CloudFront pour configurer votre distribution et créez un transfert. |
Réseau privé géré | Transférez vos données via un
réseau. Aucuns frais de sortie S3 ne vous sont facturés.
frais ; À la place, vous payez un tarif par Gio
Google Cloud. Consultez la page Tarifs.
pour en savoir plus. Des frais peuvent vous être facturés
frais d'exploitation d'AWS (par exemple, LIST ou GET
appels) ; consultez leur tarif pour plus de détails.
Tous les projets les transferts via le réseau privé géré la même bande passante. En période de forte utilisation, le transfert peut lents. Les transferts comportant des fichiers volumineux sont davantage affectés que avec de petits fichiers. Suivez les instructions de cette page pour utiliser cette option. Préciser l'option Réseau privé géré dans la console Google Cloud ou le champ managedPrivateNetwork dans l'API REST. gcloud CLI
ne sont pas compatibles avec les réseaux privés gérés
transferts. Consultez le
régions dans lesquelles le service est disponible. |
Basé sur des agents | Valable pour tout stockage compatible S3, y compris Amazon S3. Par
installer un logiciel agent sur les machines avec accès
à vos buckets S3, vous pouvez contrôler
le chemin d'accès et la bande passante. Cette option nécessite des agents
et des pools d'agents.
Suivez les instructions fournies sur la page Transférez du contenu à partir de sources compatibles S3 à utiliser cette option. |
Régions où le service est disponible
Le service de transfert de stockage est compatible avec les régions Amazon S3 suivantes:
af-south-1 ap-east-1 ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ap-southeast-3 |
ap-southeast-4 ca-central-1 ca-west-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2
|
eu-west-3 il-central-1 me-central-1 me-south-1 sa-east-1 us-east-1 us-east-2 us-west-1 us-west-2
|
Les transferts utilisant le réseau privé géré sont compatibles avec les régions AWS suivantes:
us-east-1 us-east-2 us-west-1 us-west-2 ca-west-1 ca-central-1 |
Options de transfert
Les fonctionnalités suivantes du service de transfert de stockage sont disponibles pour les transferts depuis S3 vers Cloud Storage
- Transférer des fichiers spécifiques à l'aide d'un fichier manifeste
- Vous pouvez transmettre une liste de fichiers sur lesquels le service de transfert de stockage doit agir. Voir Transférer des fichiers ou à l'aide d'un fichier manifeste.
- Spécifier la classe de stockage
- Vous pouvez spécifier le
Classe de stockage Cloud Storage à utiliser pour vos données dans la destination
bucket. Consultez le
<ph type="x-smartling-placeholder"></ph>
StorageClass
pour les détails REST, ou utilisez la <ph type="x-smartling-placeholder"></ph>--custom-storage-class
à l'aide de la Google Cloud CLI.Notez que tous les paramètres de classe de stockage sont ignorés si la destination la classe Autoclass est activée sur ce bucket. Si La classe automatique est activée, les objets transférés dans le bucket sont initialement défini sur "Stockage standard".
- Conservation des métadonnées
-
Lorsque vous transférez des fichiers à partir de S3, le service de transfert de stockage Vous pouvez éventuellement conserver certains attributs en tant que métadonnées personnalisées.
Consultez la section Amazon S3 vers Cloud Storage de <ph type="x-smartling-placeholder"></ph> Conservation des métadonnées pour en savoir plus sur les métadonnées qui peuvent être préservés et comment configurer votre transfert.
- Transferts basés sur des événements
- Le service de transfert de stockage peut écouter les notifications d'événements Amazon S3 envoyées à Amazon SQS pour transférer automatiquement les données ajoutées ou mises à jour à l'emplacement source. Voir En fonction des événements transferts pour plus d'informations.
- Journalisation et surveillance
- Les transferts provenant de S3 peuvent être visualisés dans Cloud Logging et Cloud Monitoring. Voir Cloud Logging pour le service de transfert de stockage Surveiller le transfert jobs pour en savoir plus. Vous pouvez également configurer Pub/Sub notifications.
Créer un transfert
Le service de transfert de stockage fournit plusieurs interfaces pour créer transfert de données.
N'incluez pas d'informations sensibles, telles que des informations permettant d'identifier personnellement l'utilisateur. ou de sécurité dans le nom de votre job de transfert. Les noms de ressources peuvent être propagés vers les noms d'autres ressources Google Cloud et peuvent être exposés aux systèmes internes de Google, en dehors de votre projet.
console Google Cloud
Accédez à la page Service de transfert de stockage dans Google Cloud Console.
Cliquez sur Créer une tâche de transfert. La page Créer une tâche de transfert s'affiche.
Sous Type de source, sélectionnez Amazon S3.
Pour Type de destination, sélectionnez Google Cloud Storage.
Sélectionnez votre mode de planification. Les transferts par lot s'exécutent ponctuelles ou planifiées. Transferts basés sur des événements en continu surveiller la source et transférer les données lorsqu'elles sont ajoutées ou modifiées.
Pour configurer un transfert basé sur des événements, suivez les instructions disponibles sur la page Transferts basés sur des événements.
Cliquez sur Étape suivante.
Dans le champ Nom du bucket ou du dossier, saisissez le bucket source. son nom.
Le nom du bucket est celui qui apparaît dans AWS Management Console.
Si vous utilisez une distribution CloudFront pour transférer des données depuis S3, Saisissez le nom du domaine de distribution dans le champ Domaine CloudFront. . Exemple :
https://dy1h2n3l4ob56.cloudfront.net
Voir Transférer des données depuis S3 via CloudFront pour configurer une distribution CloudFront.Pour utiliser un réseau privé géré pour ce transfert, sélectionnez le . Pour en savoir plus, consultez la section Options de sortie.
Sélectionnez votre méthode d'authentification Amazon Web Services (AWS). Voir Pour en savoir plus, configurez l'accès à une source: Amazon S3.
Clé d'accès: saisissez votre clé d'accès dansID de clé d'accès et le secret associé à votre clé d'accès dans le champs Clé d'accès du secret.
Rôle IAM AWS pour la fédération d'identité: saisissez votre ARN dans le champ AWS rôle IAM ARN (ARN du rôle IAM AWS) avec la syntaxe suivante:
arn:aws:iam::ACCOUNT:role/ROLE-NAME-WITH-PATH
Où :
ACCOUNT
: ID du compte AWS sans tiret.ROLE-NAME-WITH-PATH
: nom du rôle AWS incluant le chemin d'accès.
Pour en savoir plus sur les ARN, consultez la page ARN d'IAM.
Secret resource (Ressource de secret) : sélectionnez cette option pour utiliser des identifiants Amazon. enregistré dans Secret Manager. Sélectionnez un secret dans la liste, ou saisissez-en un manuellement au format
projects/PROJECT_NUMBER/secrets/SECRET_NAME
S'il s'agit d'un transfert basé sur des événements, saisissez la valeur ARN de file d'attente, qui prend le format suivant:
arn:aws:sqs:us-east-1:1234567890:event-queue
- Si vous le souhaitez, vous pouvez
Filtrer les objets par préfixe
ou par date de dernière modification. Si vous avez spécifié un dossier comme emplacement source, les filtres de préfixe
par rapport à ce dossier. Par exemple, si votre source est
my-test-bucket/path/
, un Le filtre "Inclure" defile
inclut tous les fichiers commençant parmy-test-bucket/path/file
Cliquez sur Étape suivante.
Dans le champ Bucket ou dossier, saisissez le nom du bucket de destination et (éventuellement) le nom du dossier, ou cliquez sur Parcourir pour sélectionner un bucket dans une liste existante de buckets de votre projet actuel. Pour créer un bucket, cliquez sur
Créer un bucket.
Cliquez sur Next step (Étape suivante).
Sélectionnez les paramètres de la tâche de transfert.
Dans le champ Description, saisissez une description du transfert. Nous vous recommandons de saisir une description pertinente et unique afin de pouvoir différencier les tâches.
Sous Options de métadonnées, choisissez d'utiliser les options par défaut, ou cliquez sur Afficher et sélectionner des options pour spécifier des valeurs pour toutes les métadonnées acceptées. Pour en savoir plus, consultez la section Conservation des métadonnées.
Sous Écrasement, sélectionnez l'une des options suivantes :
S'ils sont différents : écrase les fichiers de destination si le fichier source du même nom contient d'autres ETags ou valeurs de somme de contrôle.
Toujours : écrit toujours les fichiers de destination lorsque le fichier source porte le même nom, même s'ils sont identiques.
Sous Dans quel contexte effectuer des suppressions, sélectionnez l'une des options suivantes :
Jamais : ne supprime jamais les fichiers de la source ou de la destination.
Supprimer les fichiers de la source après leur transfert : supprime les fichiers de la source après leur transfert vers la destination.
Supprimer les fichiers de la destination s'ils ne figurent pas dans la source : si les fichiers du bucket Cloud Storage de destination ne figurent pas dans la source, supprimez-les du bucket.
Cette option garantit que le bucket Cloud Storage de destination correspond exactement à votre source.
Sous Options de notification, sélectionnez votre sujet Pub/Sub et les événements pour lesquels vous souhaitez recevoir des notifications. Pour en savoir plus, consultez la section Notifications Pub/Sub.
Cliquez sur Étape suivante.
Choisissez vos options de planification :
Dans la liste déroulante Exécuter une fois, sélectionnez l'une des options suivantes :
Exécuter une fois : exécute un seul transfert, à partir de l'heure que vous sélectionnez.
Exécuter tous les jours : exécute un transfert tous les jours, à l'heure que vous sélectionnez.
Vous pouvez saisir une date de fin (facultatif) ou laisser une date de fin. vide pour exécuter le transfert en continu.
Exécuter toutes les semaines: exécute un transfert chaque semaine, à partir d'une heure que vous sélectionnez.
Exécuter avec une fréquence personnalisée : exécute un transfert à la fréquence que vous sélectionnez. Vous pouvez choisir de répéter le transfert à des intervalles réguliers d'heures, de jours ou de semaines.
Vous pouvez saisir une date de fin (facultatif) ou laisser une date de fin. vide pour exécuter le transfert en continu.
Dans la liste déroulante À partir de maintenant, sélectionnez l'une des options suivantes :
À partir de maintenant : lance le transfert lorsque vous cliquez sur Créer.
À partir de : lance le transfert à la date et à l'heure que vous sélectionnez. Cliquez sur Agenda pour afficher un agenda et sélectionner le date de début.
Pour créer votre tâche de transfert, cliquez sur Créer.
CLI gcloud
Pour créer une tâche de transfert, utilisez la commande gcloud transfer jobs create
. La création d'une tâche lance le transfert spécifié, sauf si un calendrier ou une valeur --do-not-run
est spécifié.
La gcloud CLI n'accepte pas les transferts via CloudFront ou réseau privé géré.
gcloud transfer jobs create \
s3://S3_BUCKET_NAME gs://STORAGE_BUCKET_NAME \
--source-creds-file="relative_path/to/creds.json"
Où :
S3_BUCKET_NAME est la source de données pour ce transfert. Vous pouvez inclure éventuellement un chemin d'accès:
s3://S3_BUCKET_NAME/S3_FOLDER_PATH
STORAGE_BUCKET_NAME est le bucket Cloud Storage à transférer. . Pour effectuer un transfert dans un répertoire spécifique, spécifiez
gs://STORAGE_BUCKET_NAME/STORAGE_FOLDER_PATH/
, y compris la barre oblique finale.--source-creds-file
spécifie le chemin d'accès relatif vers un fichier local sur votre qui inclut les identifiants AWS pour la source de transfert. Contenu doit être au format JSON suivant:{ "accessKeyId": string, "secretAccessKey": string }
Des options supplémentaires vous sont proposées :
--do-not-run
empêche le service de transfert de stockage d'exécuter la tâche lors de l'envoi de la commande. Pour exécuter la tâche, mettez-la à jour pour ajouter une planification ou utilisezjobs run
pour la démarrer manuellement.--manifest-file
spécifie le chemin d'accès à un fichier CSV dans Cloud Storage contenant une liste des fichiers à transférer depuis votre source. Pour en savoir plus sur la mise en forme du fichier manifeste, consultez la section Transférer des fichiers ou objets spécifiques à l'aide d'un fichier manifeste.Informations sur la tâche: vous pouvez spécifier
--name
et--description
.Programmation: spécifiez
--schedule-starts
,--schedule-repeats-every
,--schedule-repeats-until
ou--do-not-run
.Conditions des objets: utilisez les conditions pour déterminer les objets à transférer. Cela inclut
--include-prefixes
et--exclude-prefixes
, ainsi que les conditions basées sur l'heure dans--include-modified-[before | after]-[absolute | relative]
. Si vous spécifié un dossier avec votre source, les filtres de préfixe sont relatifs à . Pour en savoir plus, consultez Filtrer les objets sources par préfixe. des informations.Options de transfert : indiquez si vous souhaitez remplacer les fichiers de destination (
--overwrite-when=different
oualways
) et si vous souhaitez supprimer certains fichiers pendant ou après le transfert (--delete-from=destination-if-unique
ousource-after-transfer
) ; indiquez quelles valeurs de métadonnées sont à conserver (--preserve-metadata
) ; et éventuellement définissez une classe de stockage sur des objets transférés (--custom-storage-class
).Notifications: configurez des notifications Pub/Sub pour les transferts avec
--notification-pubsub-topic
,--notification-event-types
et--notification-payload-format
.Cloud Logging: activez Cloud Logging avec
--log-actions
et--log-action-states
Voir Cloud Logging pour le service de transfert de stockage pour en savoir plus.
Pour afficher toutes les options, exécutez gcloud transfer jobs create --help
ou reportez-vous à la documentation de référence gcloud
.
REST
Les exemples suivants vous montrent comment utiliser le service de transfert de stockage via l'API REST API.
Lorsque vous configurez ou modifiez des tâches de transfert à l'aide du API du service de transfert de stockage, l'heure doit être au format UTC. Pour en savoir plus sur spécifiant la planification d'une tâche de transfert, consultez Programmation.
Lorsque vous créez des tâches de transfert, n'incluez pas le préfixe s3://
pour
bucketName
dans les noms sources du bucket Amazon S3.
Transfert sans agent
L'exemple suivant crée une tâche de transfert à l'aide du modèle sans agent standard configuration. Consultez le transferJobs.create pour en savoir plus.
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
Voir Configurer l'accès à une source: Amazon S3 pour connaître les autres options d'authentification.
Distribution CloudFront
Si vous effectuez un transfert depuis S3 via une distribution CloudFront, spécifiez
le nom du domaine de distribution comme valeur
Champ transferSpec.awsS3DataSource.cloudfrontDomain
:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "cloudfrontDomain": "https://dy1h2n3l4ob56.cloudfront.net", "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
Réseau privé géré
Pour transférer des données depuis S3 à l'aide d'un réseau privé géré par Google, spécifiez
Champ transferSpec.awsS3DataSource.managedPrivateNetwork
:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "managedPrivateNetwork": TRUE, "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
Bibliothèques clientes
Les exemples suivants vous montrent comment utiliser le service de transfert de stockage de manière automatisée avec Go, Java, Node.js et Python.
Lorsque vous configurez ou modifiez des tâches de transfert par programmation, l'heure doit être et le fuseau horaire UTC. Pour en savoir plus sur spécifiant la planification d'une tâche de transfert, consultez Programmation.
Pour en savoir plus sur les bibliothèques clientes du service de transfert de stockage, consultez la page Premiers pas avec les bibliothèques clientes du service de transfert de stockage.
Transférer des données depuis Amazon S3 vers Cloud Storage
Dans cet exemple, vous allez apprendre à déplacer des fichiers depuis Amazon S3 vers un bucket Cloud Storage.
Lorsque vous créez des tâches de transfert, n'incluez pas le préfixe s3://
pour
bucketName
dans les noms sources du bucket Amazon S3.
Les bibliothèques clientes du service de transfert de stockage n'acceptent pas les transferts via CloudFront ou réseau privé géré.
Go
Java
Vous recherchez des exemples plus anciens ? Consultez le guide de migration du service de transfert de stockage.
Node.js
Python
Vous recherchez des exemples plus anciens ? Consultez le guide de migration du service de transfert de stockage.