Comment transférer des espaces DigitalOcean entre des régions à l’aide de Rclone

introduction

DigitalOcean Spaces est un service de stockage d'objets conçu pour rendre facile et rentable le stockage et la diffusion de grandes quantités de données.

Dans ce guide, nous expliquerons comment migrer des données entre les régions Spaces, en utilisantRclone pour transférer des données entre deux Spaces. Nous montrerons comment installer Rclone, les paramètres de configuration nécessaires pour accéder à plusieurs régions et les commandes que vous pouvez utiliser pour synchroniser vos fichiers entre des régions et vérifier leur intégrité.

Création de clés API et recherche d'espaces Informations sur les points de terminaison

Avant de commencer à installer et à configurer Rclone pour copier nos objets entre espaces, nous avons besoin d'informations sur notre compte DigitalOcean Spaces. Nous aurons besoin d'une clé API Spaces et nous aurons besoin de connaître les régions et les noms de nos espaces source et de destination.

Génération d'une clé API DigitalOcean Spaces

Pour créer une clé API DigitalOcean Spaces, suivez la section «Créer une clé d'accès» de notre documentation deHow To Create a DigitalOcean Space API Key.

Enregistrez l'ID de la clé d'accès et la clé secrète. Nous les utiliserons plus tard pour configurer Rclone pour accéder à notre compte.

Recherche des points d'extrémité compatibles S3

Ensuite, nous devons trouver le point de terminaison pour chaque espace. Vous pouvez afficher le point de terminaison de l’espace dans le panneau de configuration DigitalOcean en sélectionnant l’espace et en affichant l’ongletSettings:

DigitalOcean Spaces endpoint

Le point final sera toujours la région dans laquelle vous avez créé l'espace, suivi de.digitaloceanspaces.com. Notez le point final pour vos deux espaces. Allons-nous utiliser ces informations lors de la création de notre configurationrclone.

Installer Rclone

Vous êtes maintenant prêt à installerRclone. Vous pouvez le faire sur votre ordinateur local ou, si vous êtes limité en bande passante, vous souhaiterez peut-être installer Rclone sur un droplet situé dans la région des espaces source ou cible.

Visitez la sectionDownloads du site Web du projet pour trouver les binaires de l'utilitaire compilé pour différentes plates-formes. Téléchargez le fichier binaire compressé correspondant au système d'exploitation de votre ordinateur pour commencer.

Une fois le fichier zip Rclone téléchargé sur votre ordinateur, suivez la section ci-dessous qui correspond à votre plate-forme.

Linux

Avant de pouvoir extraire l'archive, nous devrons nous assurer que l'utilitaireunzip est disponible.

Si vous exécutezUbuntu ouDebian, vous pouvez mettre à jour l'index du package local et installerunzip en tapant:

sudo apt update
sudo apt install unzip

Si vous exécutezCentOS ouFedora, vous pouvez installerunzip en tapant:

sudo yum install unzip

Une foisunzip installé, accédez au répertoire dans lequel vous avez téléchargé le fichier zip derclone:

cd ~/Downloads

Ensuite, décompressez l'archive et accédez au répertoire nouvellement créé:

unzip rclone*
cd rclone-v*

De là, nous pouvons copier le binaire dans le répertoire/usr/local/bin afin qu'il soit disponible à l'échelle du système:

sudo cp rclone /usr/local/bin

Ensuite, nous ajoutons la page de manuel à notre système, de manière à pouvoir obtenir facilement de l’aide sur la syntaxe de la commande et les options disponibles. Assurez-vous que le répertoire manuel local est disponible, puis copiez le fichierrclone.1:

sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1

Puis mettez à jour la base de donnéesman pour ajouter la nouvelle page de manuel au système:

sudo mandb

Enfin, nous pouvons créer le répertoire de configuration Rclone et ouvrir un fichier de configuration:

mkdir -p ~/.config/rclone
nano ~/.config/rclone/rclone.conf

Cela ouvrira votre éditeur de texte avec un nouveau fichier vierge. Passez à la section surConfiguring Rclone pour continuer.

macOS

Si vous exécutez macOS, commencez par naviguer dans le terminal jusqu'au répertoire où vous avez téléchargé le fichier zip derclone:

cd ~/Downloads

Ensuite, décompressez le fichier et déplacez-vous dans le répertoire nouvellement créé:

unzip -a rclone*
cd rclone-v*

Ensuite, assurez-vous que le répertoire/usr/local/bin est disponible, puis copiez-y le binairerclone:

sudo mkdir -p /usr/local/bin
sudo cp rclone /usr/local/bin

Enfin, nous pouvons créer le répertoire de configuration et ouvrir un fichier de configuration:

mkdir -p ~/.config/rclone
nano ~/.config/rclone/rclone.conf

Cela ouvrira votre éditeur de texte avec un nouveau fichier vierge. Passez à la section surConfiguring Rclone pour continuer.

les fenêtres

Si vous utilisez Windows, commencez par naviguer dans le répertoire Téléchargements de l'explorateur de fichiers Windows. Sélectionnez le fichier zip dercloneet cliquez avec le bouton droit de la souris. Dans le menu contextuel qui apparaît, cliquez surExtract All…:

Windows extract rclone zip file

Suivez les instructions pour extraire les fichiers de l’archive zip.

L'utilitairerclone.exe doit être exécuté à partir de la ligne de commande. Ouvrez une nouvelle fenêtreCommand Prompt (le programmecmd.exe) en cliquant sur le bouton Windows dans le coin inférieur gauche, en tapantcmd et en sélectionnantCommand Prompt.

À l'intérieur, accédez au cheminrclone que vous avez extrait en tapant:

cd "%HOMEPATH%\Downloads\rclone*\rclone*"

Répertoriez le contenu du répertoire pour vérifier que vous êtes au bon endroit:

dir
Output10/23/2017  01:02 PM              .
10/23/2017  01:02 PM              ..
10/23/2017  01:02 PM                17 git-log.txt
10/23/2017  01:02 PM           296,086 rclone.1
10/23/2017  01:02 PM        16,840,192 rclone.exe
10/23/2017  01:02 PM           315,539 README.html
10/23/2017  01:02 PM           261,497 README.txt
               5 File(s)     17,713,331 bytes
               2 Dir(s)  183,296,266,240 bytes free

Vous devrez être dans ce répertoire chaque fois que vous voudrez utiliser la commanderclone.exe.

[.note] #Note: Sous macOS et Linux, nous exécutons l'outil en tapantrclone, mais sous Windows, la commande s'appellerclone.exe. Tout au long du reste de ce guide, nous fournirons des commandes en tant querclone, alors assurez-vous de remplacerrclone.exe à chaque fois lors de l'exécution sous Windows.
#

Ensuite, nous pouvons créer le répertoire de configuration et ouvrir un fichier de configuration pour définir nos informations d'identification S3 et Spaces:

mkdir "%HOMEPATH%\.config\rclone"
notepad "%HOMEPATH%\.config\rclone\rclone.conf"

Cela ouvrira votre éditeur de texte avec un nouveau fichier vierge. Continuez à l'avance pour apprendre à définir vos régions Spaces dans le fichier de configuration.

Configuration de Rclone

Nous allons configurer nos deux régions DigitalOcean Spaces en tant que «télécommandes» Rclone dans le fichier de configuration Rclone. Collez la section suivante dans le fichier de configuration pour définir la première région:

~/.config/rclone/rclone.conf

[spaces-sfo2]
type = s3
env_auth = false
access_key_id = your_spaces_access_key
secret_access_key = your_spaces_secret_key
endpoint = sfo2.digitaloceanspaces.com
acl = private

Ici, nous définissons un nouveaurclone «distant» nomméspaces-sfo2. Changez le nom de la région pour qu'elle corresponde à la région Spaces que vous configurez.

Nous définissons letype surs3 afin querclone connaisse la manière appropriée d'interagir avec et de gérer la ressource de stockage distant. Nous définirons les informations d'identification d'accès aux espaces dans ce fichier de configuration, afin que nous puissions définirenv_auth surfalse.

Ensuite, nous définissons les variablesaccess_key_id etsecret_access_key sur notre clé d'accès Spaces et notre clé secrète, respectivement. Veillez à remplacer les valeurs par les informations d'identification associées à votre compte.

Nous définissons lesendpoint sur le point de terminaison Spaces que nous avons recherché plus tôt.

Enfin, nous définissons lesacl surprivate pour protéger nos actifs jusqu'à ce que nous voulions les partager.

Ensuite, faites une copie du bloc de configuration que vous venez de créer, puis mettez à jour le nom et la région de noeud final pour refléter votre deuxième région:

~/.config/rclone/rclone.conf

. . .

[spaces-nyc3]
type = s3
env_auth = false
access_key_id = your_spaces_access_key
secret_access_key = your_spaces_secret_key
endpoint = nyc3.digitaloceanspaces.com
acl = private

Le reste de la configuration doit rester identique à celui de la première région. Enregistrez et fermez le fichier lorsque vous avez terminé.

Sous macOS et Linux, assurez-vous de verrouiller les autorisations du fichier de configuration car nos informations d'identification sont à l'intérieur:

chmod 600 ~/.config/rclone/rclone.conf

Sous Windows, les autorisations sont refusées aux utilisateurs non-administrateurs, sauf autorisation explicite. Nous ne devrions donc pas avoir à ajuster les accès manuellement.

Ensuite, nous utiliseronsrclone pour explorer nos espaces et synchroniser les données entre eux.

Copier des objets de S3 vers des espaces

Maintenant que notre configuration est terminée, nous sommes prêts à transférer nos fichiers.

Commencez par vérifier les télécommandes configuréesrclone:

rclone listremotes
Outputspaces-nyc3:
spaces-sfo2:

Les deux régions que nous avons définies sont affichées.

Nous pouvons voir les espaces disponibles en demandant àrclone de lister les «répertoires» associés aux télécommandes (assurez-vous d'ajouter les deux points à la fin du nom distant):

rclone lsd spaces-sfo2:
Output          -1 2019-09-23 13:07:54        -1 source-space

La sortie ci-dessus indique qu'un espace, appelésource-space a été trouvé dans la régionsfo2.

Vous pouvez répéter la procédure pour voir l’autre région:

rclone lsd spaces-nyc3:
Output          -1 2019-09-23 13:08:28        -1 destination-space

Pour afficher le contenu d'un espace, vous pouvez utiliser la commandetree. Entrez le nom distant, suivi de deux points et du nom du “répertoire” que vous souhaitez lister (le nom de l’espace):

rclone tree spaces-sfo2:source-space
Output/
├── Photos
│   ├── 2019.01.24-23.10.27.png
│   ├── 2019.01.24-23.11.39.png
│   ├── 2019.01.24-23.18.00.png
│   ├── 2019.01.24-23.18.18.png
│   ├── 2019.01.24-23.18.30.png
│   ├── 2019.01.24-23.19.32.png
│   ├── 2019.01.24-23.23.06.png
│   ├── 2019.01.24-23.23.53.png
│   ├── 2019.01.24-23.25.14.png
│   ├── 2019.01.24-23.26.22.png
│   ├── 2019.01.25-12.43.35.png
│   ├── 2019.03.13-14.35.34.png
│   └── 2019.03.13-14.40.52.png
└── Photos.zip

1 directories, 14 files

Lorsque vous êtes prêt, vous pouvez copier les fichiers entre les espaces en tapant:

rclone sync spaces-sfo2:source-space spaces-nyc3:destination-space

En supposant que tout s'est bien passé,rclone commencera à copier des objets entre les deux espaces.

[.note] #Note: Si vous n’avez pas encore créé l’espace de destination dans la région spécifiée,rclone tentera de vous en créer un avec le nom donné. Cela échouera si le nom fourni est déjà utilisé par un autre compte ou si le nom ne répond pas aux exigences de dénomination pour les espaces DigitalOcean (lettres minuscules, chiffres et tirets uniquement).
#

Lorsque le transfert est terminé, vous pouvez vérifier que les objets ont été transférés en les visualisant avec la sous-commandetree:

rclone tree spaces-nyc3:destination-space
Output/
├── Photos
│   ├── 2019.01.24-23.10.27.png
│   ├── 2019.01.24-23.11.39.png
│   ├── 2019.01.24-23.18.00.png
│   ├── 2019.01.24-23.18.18.png
│   ├── 2019.01.24-23.18.30.png
│   ├── 2019.01.24-23.19.32.png
│   ├── 2019.01.24-23.23.06.png
│   ├── 2019.01.24-23.23.53.png
│   ├── 2019.01.24-23.25.14.png
│   ├── 2019.01.24-23.26.22.png
│   ├── 2019.01.25-12.43.35.png
│   ├── 2019.03.13-14.35.34.png
│   └── 2019.03.13-14.40.52.png
└── Photos.zip

1 directories, 14 files

Pour une vérification plus robuste, utilisez la sous-commandecheck pour comparer les objets dans les deux régions:

rclone check spaces-sfo2:source-space spaces-nyc3:destination-space
Output2019/09/23 14:29:11 NOTICE: S3 bucket destination-space: 0 differences found
2019/09/23 14:29:11 NOTICE: S3 bucket destination-space: 14 matching files

Cela permettra de comparer les valeurs de hachage de chaque objet dans les deux télécommandes. Il se peut que vous receviez un message indiquant que certains hachages ne peuvent pas être comparés. Dans ce cas, vous pouvez réexécuter la commande avec l'indicateur--size-only (qui se compare simplement en fonction de la taille du fichier) ou l'indicateur--download (qui télécharge chaque objet des deux télécommandes pour comparer localement) pour vérifier le transfert intégrité.

Conclusion

Dans ce guide, nous avons expliqué comment transférer des objets entre deux régions DigitalOcean Spaces. Nous avons rassemblé les informations d'identification d'API et les informations de point de terminaison du service Spaces, installé et configuré l'utilitairerclone sur notre ordinateur local, puis copié tous les objets d'un espace source vers un espace de destination.

Le clientrclone peut être utilisé pour de nombreuses autres tâches de gestion de stockage d'objets, notamment le téléchargement ou le téléchargement de fichiers, le montage d'espaces sur le système de fichiers local et la création ou la suppression d'espaces supplémentaires. Consultez la pageman pour en savoir plus sur les fonctionnalités fournies par l'outil.

Related