Comment synchroniser un bucket MinIO avec un bucket Cloudflare R2 en utilisant Rclone
Publié le 27 mai 2024 - par Andy Cinquin
MinIOCloudflare R2RcloneSynchronisationStockage d'objetsAPI Amazon S3SauvegardesMigrations de données
Introduction
Dans ce tutoriel, nous allons apprendre à synchroniser un bucket MinIO avec un bucket Cloudflare R2 en utilisant l'outil de ligne de commande Rclone. MinIO est un serveur de stockage objet open source compatible avec l'API Amazon S3, tandis que Cloudflare R2 est un service de stockage objet proposé par Cloudflare, également compatible avec l'API S3. La synchronisation de buckets entre ces deux services permet de créer des sauvegardes, de migrer des données ou de maintenir des copies synchronisées de vos fichiers sur plusieurs clouds.
Installation de Rclone
Avant de pouvoir synchroniser vos buckets MinIO et Cloudflare R2, vous devez installer Rclone sur votre machine locale. Voici comment procéder :
Sur Linux :
- Ouvrez un terminal.
- Exécutez la commande suivante pour télécharger et installer automatiquement la dernière version de Rclone :
curl https://rclone.org/install.sh | sudo bash
Sur macOS (en utilisant Homebrew) :
- Ouvrez un terminal.
- Si vous n'avez pas Homebrew installé, installez-le d'abord en exécutant :
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Installez Rclone avec Homebrew :
brew install rclone
Sur Windows :
- Visitez la page de téléchargement de Rclone : https://rclone.org/downloads/.
- Téléchargez le fichier d'installation pour Windows (par exemple,
rclone-current-windows-amd64.msi
). - Double-cliquez sur le fichier téléchargé et suivez les instructions de l'assistant d'installation.
Après l'installation, vous pouvez vérifier que Rclone est correctement installé en exécutant la commande suivante dans votre terminal :
rclone --version
Cela affichera la version de Rclone installée sur votre système.
Prérequis
- Un serveur MinIO avec un bucket créé. Consultez la documentation de MinIO pour savoir comment configurer un serveur et créer des buckets : https://docs.min.io/.
- Un compte Cloudflare avec R2 activé et un bucket créé. Suivez le guide de Cloudflare pour activer R2 et créer des buckets : https://developers.cloudflare.com/r2/.
- Rclone installé sur votre machine locale.
Étape 1 : Configurer le remote MinIO
- Exécutez
rclone config
pour ouvrir le menu de configuration interactive de Rclone. - Choisissez
n
pour créer un nouveau remote. - Donnez un nom à votre remote, par exemple "minio-andy".
- Choisissez "s3" comme type de stockage.
- Laissez le champ
provider
vide. - Entrez l'URL de votre serveur MinIO, votre
access_key_id
et votresecret_access_key
. Ces informations peuvent être obtenues à partir de votre interface d'administration MinIO. Assurez-vous de garder ces informations d'identification en sécurité. - Laissez les autres options par défaut ou ajustez-les selon vos besoins.
- Choisissez
y
pour confirmer la création du remote.
Étape 2 : Configurer le remote Cloudflare R2
- Exécutez à nouveau
rclone config
. - Choisissez
n
pour créer un nouveau remote. - Donnez un nom à votre remote, par exemple "r2-andy".
- Choisissez "s3" comme type de stockage.
- Choisissez "Cloudflare" comme provider.
- Entrez votre
access_key_id
R2, votresecret_access_key
R2 et l'URL de votre bucket R2. Ces informations peuvent être obtenues à partir de votre compte Cloudflare R2. Assurez-vous de garder ces informations d'identification en sécurité. - Laissez les autres options par défaut ou ajustez-les selon vos besoins.
- Choisissez
y
pour confirmer la création du remote.
Étape 3 : Synchroniser les buckets
-
Pour synchroniser votre bucket MinIO avec votre bucket R2, exécutez la commande suivante :
rclone sync "minio-andy:nom-du-bucket-source" "r2-andy:nom-du-bucket-destination"
Remplaceznom-du-bucket-source
par le nom de votre bucket MinIO source etnom-du-bucket-destination
par le nom de votre bucket R2 de destination. -
Rclone commencera à synchroniser les fichiers de votre bucket MinIO vers votre bucket R2. Il affichera la progression et un résumé à la fin.
Étape 4 : Vérifier la synchronisation
-
Pour vérifier que la synchronisation a réussi, vous pouvez lister le contenu de votre bucket R2 :
rclone ls "r2-andy:nom-du-bucket-destination"
Remplaceznom-du-bucket-destination
par le nom de votre bucket R2 de destination. -
Vous devriez voir les fichiers qui ont été synchronisés depuis votre bucket MinIO.
Explication
Rclone est un outil puissant qui permet de gérer des fichiers sur différents services de stockage cloud. Dans ce tutoriel, nous avons utilisé Rclone pour synchroniser un bucket MinIO avec un bucket Cloudflare R2.
En configurant des remotes Rclone pour MinIO et R2, nous pouvons utiliser la commande
rclone sync
pour synchroniser facilement les fichiers entre les deux buckets. Rclone compare les fichiers source et de destination et ne transfère que les fichiers qui ont été modifiés, ce qui le rend efficace pour garder plusieurs buckets synchronisés.L'utilisation de Rclone présente de nombreux avantages, notamment :
- Facilité d'utilisation : Rclone offre une interface en ligne de commande simple et intuitive pour gérer vos fichiers sur différents services de stockage cloud.
- Efficacité : Rclone optimise les transferts de fichiers en ne transférant que les fichiers modifiés, ce qui permet de gagner du temps et de la bande passante.
- Compatibilité : Rclone prend en charge un large éventail de services de stockage cloud, ce qui vous permet de synchroniser vos fichiers entre différents fournisseurs.
Conclusion
Dans ce tutoriel, nous avons appris à synchroniser des buckets MinIO et Cloudflare R2 à l'aide de Rclone. En suivant les étapes de configuration des remotes et en utilisant la commande
rclone sync
, vous pouvez facilement maintenir vos fichiers synchronisés entre ces deux services de stockage objet.En vous remerciant de votre visite, n'hésitez pas à me
contacter pour toute demande de renseignements, devis ou
proposition de collaboration. Je me ferai un plaisir de
vous répondre dans les plus brefs délais.
Vous avez aimé cet article ? N'hésitez pas à le partager !