Logo Cinquin Andy Signature

Comment synchroniser un bucket MinIO avec un bucket Cloudflare R2 en utilisant Rclone

Développeur Freelance - Logo

Les sites et les ressources associées

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 :

  1. Ouvrez un terminal.
  2. 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) :

  1. Ouvrez un terminal.
  2. 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)"
  1. Installez Rclone avec Homebrew :
    brew install rclone
    

Sur Windows :

  1. Visitez la page de téléchargement de Rclone : https://rclone.org/downloads/.
  2. Téléchargez le fichier d'installation pour Windows (par exemple, rclone-current-windows-amd64.msi).
  3. 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

  1. Exécutez rclone config pour ouvrir le menu de configuration interactive de Rclone.
  2. Choisissez n pour créer un nouveau remote.
  3. Donnez un nom à votre remote, par exemple "minio-andy".
  4. Choisissez "s3" comme type de stockage.
  5. Laissez le champ provider vide.
  6. Entrez l'URL de votre serveur MinIO, votre access_key_id et votre secret_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é.
  7. Laissez les autres options par défaut ou ajustez-les selon vos besoins.
  8. Choisissez y pour confirmer la création du remote.

Étape 2 : Configurer le remote Cloudflare R2

  1. Exécutez à nouveau rclone config.
  2. Choisissez n pour créer un nouveau remote.
  3. Donnez un nom à votre remote, par exemple "r2-andy".
  4. Choisissez "s3" comme type de stockage.
  5. Choisissez "Cloudflare" comme provider.
  6. Entrez votre access_key_id R2, votre secret_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é.
  7. Laissez les autres options par défaut ou ajustez-les selon vos besoins.
  8. Choisissez y pour confirmer la création du remote.

Étape 3 : Synchroniser les buckets

  1. 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"
    
    Remplacez nom-du-bucket-source par le nom de votre bucket MinIO source et nom-du-bucket-destination par le nom de votre bucket R2 de destination.
  2. 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

  1. 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"
    
    Remplacez nom-du-bucket-destination par le nom de votre bucket R2 de destination.
  2. 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 !

DÉVELOPPONS ENSEMBLE VOS PROJETS

Une idée, un projet ? Je suis là pour répondre à vos demandes et vous accompagner.
N’hésitez pas, je serais ravi d’échanger avec vous sur votre projet !
© 2024 Andy Cinquin - Tous droits réservés - Developed & Designed with ❤️ 🐝 ForHives co-founders