Remarques :

Effectuer une synchronisation bidirectionnelle inter-région dans Oracle Cloud Infrastructure à l'aide de la synchronisation

Introduction

La synchronisation inter-région du stockage d'objets est essentielle pour diverses charges de travail cloud, notamment la sauvegarde de données, la récupération après sinistre et l'accès multi-région. Bien qu'Oracle Cloud Infrastructure (OCI) fournisse des fonctionnalités de réplication pour OCI Object Storage, il ne propose pas de solution de synchronisation bidirectionnelle native. Cette limitation signifie que les utilisateurs doivent s'appuyer sur des implémentations personnalisées pour synchroniser les fichiers entre les régions.

Syncthing, un outil de synchronisation de fichiers décentralisé open source, fournit une synchronisation bidirectionnelle continue qui fonctionne en temps réel. Contrairement à OCI Functions, qui s'appuie sur un modèle orienté événement pour la réplication d'objet, la synchronisation synchronise efficacement des structures de fichiers entières entre des machines virtuelles tout en prenant en charge les répertoires locaux et montés OCI Object Storage.

Dans ce tutoriel, nous allons déployer la synchronisation sur les instances OCI Compute dans deux régions à l'aide d'une pile OCI Resource Manager, ce qui permet une synchronisation bidirectionnelle automatique entre le stockage de machine virtuelle local et les répertoires montés OCI Object Storage.

Points à prendre en compte

Lorsque vous montez la synchronisation avec OCI Object Storage à l'aide de s3fs :

Quand la synchronisation est-elle une bonne idée ?

Objectifs

Prérequis

Tâche 1 : préparation des informations nécessaires au déploiement de la machine virtuelle

  1. Téléchargez la pile OCI Resource Manager. Cette pile automatise le déploiement d'une machine virtuelle exécutant Oracle Linux 8 sur un fichier VM.Standard.E5. Forme flexible. Il installe la synchronisation à l'aide de CloudInit, monte un bucket OCI existant et configure l'accès à l'aide de s3fs. La machine virtuelle est provisionnée avec un accès SSH, une adresse IP publique et balisée pour une identification facile. Pour plus d'informations, reportez-vous à Pile OCI Resource Manager.

  2. Créez un VCN avec un sous-réseau public dans les deux régions cible.

    La pile sera déployée dans les deux emplacements pour provisionner une machine virtuelle avec la synchronisation pour la synchronisation de stockage bidirectionnelle inter-région. Une fois déployée, la synchronisation est accessible dans le navigateur à l'aide de l'adresse IP publique de la machine virtuelle.

  3. Assurez-vous qu'un bucket OCI Object Storage existe dans chaque région où les tests seront effectués. La visibilité du bucket peut être privée.

  4. Créez une clé secrète client pour le montage s3fs. La clé secrète client sera utilisée pour accéder à OCI Object Storage.

    1. Connectez-vous à la console OCI, accédez à Profil, cliquez sur votre nom utilisateur et sur Clés secrètes client.

      Profil - Clé secrète du client

    2. Cliquez sur Générer une clé secrète et entrez un nom, tel que s3fs-access.

    3. Veillez à copier la clé générée telle que nous l'utiliserons ultérieurement dans la tâche 2.

      Clé d'accès secrète client

    4. Cliquez sur Clé d'accès et copiez la valeur telle que nous l'utiliserons ultérieurement dans la tâche 2.

      Clé d'accès secrète client

    5. Copiez l'espace de noms à partir de la page Détails du bucket que nous utiliserons ultérieurement dans la tâche 2.

      Espace de noms de bucket Object Storage

Tâche 2 : appliquer la pile

  1. Connectez-vous à la console OCI, accédez à Services de développeur, à Gestionnaire de ressources et cliquez sur Piles.

    Piles OCI Resource Manager

  2. Créez la pile OCI Resource Manager Terraform. Pour plus d'informations, reportez-vous à la section Creating a Stack from a Zip File.

    1. Cliquez sur Créer une pile.

    2. Sélectionnez le fichier .zip et ajoutez la pile.

    3. Entrez la clé de balise.

    4. Fournissez les informations relatives au jeu de transport, puis cliquez sur Suivant.

  3. Sur la page Configurer les variables, entrez les informations suivantes.

    • Compartiment : entrez le compartiment.
    • VCN et sous-réseau : sélectionnez un VCN existant et un sous-réseau public.
    • Modifiez le nom d'affichage vm si vous le souhaitez.
    • Clé SSH publique : entrez la clé SSH publique de la machine virtuelle.
    • Domaine de disponibilité : sélectionnez un domaine de disponibilité.
    • OCID de clé secrète client et clé d'accès de clé secrète client : entrez l'OCID de clé secrète client et la clé d'accès de clé secrète client créés dans la tâche 1.
    • Nom de la catégorie : entrez le nom de la catégorie.
    • Espace de noms Object Storage : sélectionnez l'espace de noms Object Storage.
  4. Cliquez sur Suivant et vérifiez les informations. Si tout est correct, sélectionnez Exécuter l'application et cliquez sur Créer.

    Pile OCI ORM Apply

    Une fois le travail d'application terminé, il doit renvoyer les adresses IP publiques et privées de la machine virtuelle nouvellement créée.

    Sortie de la pile ORM

  5. Répétez les étapes dans une région secondaire pour y créer la deuxième machine virtuelle.

  6. Vérifiez que les buckets OCI Object Storage sont montés vers /home/opc/logging au niveau de la machine virtuelle, en vous connectant via SSH à l'aide des commandes suivantes.

    mount | grep s3fs
    

    Si le bucket est monté correctement, la sortie doit se présenter comme suit :

    Informations sur le bucket de montage

    Cela confirme que s3fs a monté le bucket sur /home/opc/logging sur l'une des machines virtuelles.

Tâche 3 : configurer la synchronisation

Une fois que les deux machines virtuelles sont déployées dans les deux régions, configurez la synchronisation sur chaque machine virtuelle en suivant les étapes ci-dessous pour synchroniser le stockage entre elles.

  1. Copiez l'adresse IP publique de la machine virtuelle dans la première région et utilisez-la dans le navigateur pour accéder à l'interface de synchronisation. Entrez l'URL suivante.

    http://<vm1-public-ip>:8384
    
  2. Après avoir accédé à l'interface, vous verrez l'interface de synchronisation qui sera similaire à l'image suivante. Les zones Dossiers et Dispositifs distants sont les zones que vous allez configurer pour la synchronisation à l'étape suivante.

    Ecran de synchronisation

    Remarque : vous pouvez définir un nom d'utilisateur et un mot de passe dans Paramètres sous la section GUI pour supprimer les avertissements.

  3. Dans la section Dossiers, cliquez sur Ajouter un dossier pour créer ou inclure un dossier de machine virtuelle local dans l'interface d'administration de synchronisation.

    Synchronisation du dossier d'ajout

  4. Entrez les informations suivantes pour configurer un dossier local et cliquez sur Enregistrer.

    • Libellé du dossier : nom convivial permettant d'identifier le dossier. Par exemple, local_VM1.
    • Chemin du dossier : chemin du répertoire du dossier local. Par exemple, ~/local_VM1.

    Synchronisation du dossier local

    Vous pouvez réinsérer le terminal de machine virtuelle créé par le dossier local_VM1.

  5. Répétez les étapes 1 à 4 dans la machine virtuelle à partir de la région secondaire et ajoutez le dossier local_VM2 dans l'interface de synchronisation VM2.

  6. Configurez la connexion de synchronisation inter-région entre les deux machines virtuelles, en commençant par VM1.

    1. Dans la section Périphériques distants de la première machine virtuelle de synchronisation, cliquez sur Ajouter un périphérique distant pour inclure un dossier distant de la deuxième région.

      Ajouter un appareil distant

    2. Dans Général, entrez les informations suivantes.

      • ID de périphérique : ID du deuxième périphérique de synchronisation. Sur VM2, ouvrez l'interface de synchronisation, accédez à Actions, à Afficher l'ID, copiez la valeur affichée et collez-la dans ce champ.

        Périphérique distant - Afficher l'ID

      • Nom du périphérique : entrez un nom pertinent, tel que remote_VM2.

        Périphérique distant - onglet Général

    3. Dans Partage, sélectionnez local_VM1 à partager avec le périphérique distant.

      Appareil distant - onglet partage

    4. Dans Avancé, entrez tcp://<vm2-public-ip>:22000 dans Adresses, 22000 est le port TCP utilisé pour la synchronisation des données.

    5. Cliquez sur Enregistrer.

  7. A ce stade, sur la synchronisation VM1, le dossier local local_VM1 doit apparaître en vert Up to Date et le périphérique distant remote_VM2 affichera Disconnected.

    Pour terminer la connexion, effectuez les mêmes étapes sur la synchronisation VM2, en utilisant les données équivalentes collectées à partir de la synchronisation VM1, entrez ID de périphérique, tcp://<vm1-public-ip>:22000 en tant qu'adresses et nom de périphérique, tel que remote_VM1.

    Remarque : assurez-vous que le port 22000 est ouvert dans la liste de sécurité des réseaux cloud virtuels.

  8. Après les configurations équivalentes, vous devez être invité dans chaque interface de synchronisation à accepter l'ajout du dossier distant. Cliquez sur Ajouter.

    Accepter le dossier distant

  9. Vous serez invité à l'enregistrer localement avec des détails spécifiques. Par exemple, sur VM1, vous serez invité à enregistrer le fichier local_VM2 entrant. Vous pouvez modifier le nom de ce dernier sur VM1 en remote_VM2 pour un affichage plus clair. Vous avez également la possibilité de le mettre en correspondance avec un chemin VM1 local. Il peut s'agir de n'importe quel chemin ; un nouveau dossier est créé s'il n'existe pas. Vous pouvez également sélectionner ~/local_VM1, ce qui signifie que le contenu des deux dossiers des deux machines virtuelles sera fusionné au même emplacement. Dans notre exemple, entrez le chemin ~/remote_VM2.

  10. Effectuez la même étape sur VM2 par rapport au dossier local_VM1 entrant et mettez-le en correspondance en tant que remote_VM1.

  11. A présent, les deux machines virtuelles doivent être synchronisées et les dossiers gérés par Syncthing ; sur VM1, local_VM1 et remote_VM2 ; sur VM2, local_VM2 et remote_VM1.

    Dossiers synchronisés

Tâche 4 : tester la synchronisation du stockage local

Pour tester la synchronisation de synchronisation, connectez-vous à chaque machine virtuelle à l'aide de SSH. Dans le répertoire de base opc, vous trouverez deux dossiers.

Pour vérifier la synchronisation, nous allons ajouter ou modifier un fichier dans le dossier local sur une machine virtuelle et vérifier si les modifications apparaissent dans le dossier correspondant sur la machine virtuelle distante. En outre, nous surveillerons l'interface de synchronisation ou les journaux pour confirmer la synchronisation réussie entre les deux régions OCI.

  1. Connectez-vous via SSH à VM1.

    ssh opc@<vm1-public-ip>
    
  2. Exécutez la commande suivante pour accéder au dossier local_VM1 partagé de synchronisation local.

    cd ~/local_VM1
    
  3. Exécutez la commande suivante pour créer un fichier de test.

    echo "testing sync" > testVM1.txt
    
  4. Ouvrez un nouveau terminal et SSH dans VM2.

    ssh opc@<vm2-public-ip>
    
  5. Exécutez la commande suivante pour accéder au dossier partagé sur VM2.

    cd ~/remote_VM1
    
  6. Exécutez les commandes suivantes pour vérifier si le fichier apparaît.

    ls -l
    cat testVM1.txt
    
  7. Suivez les mêmes étapes sur VM2 et vérifiez qu'un fichier apparaît sur VM1 dans le dossier remote_VM2.

  8. Vérifiez le statut de synchronisation dans l'interface de synchronisation. Ouvrez http://<vm1-public-ip>:8384 et http://<vm2-public-ip>:8384 dans un navigateur pour vérifier les journaux et le statut de synchronisation.

    Fichiers synchronisés

Tâche 5 : tester la synchronisation du contenu de bucket OCI Object Storage

Les buckets sont montés sur les machines virtuelles déployées dans le répertoire /home/opc/logging. Pour tester et synchroniser les fichiers situés dans les buckets montés, vous devez répéter les étapes précédentes afin d'ajouter le répertoire de machine virtuelle logging en tant que dossier local, puis le partager à partir des appareils distants. Vous verrez quelque chose de semblable à ceci :

Créez ensuite un fichier dans le répertoire logging qui apparaîtra dans le bucket OCI et sera synchronisé avec le répertoire VM2 logging s'il est correctement configuré, et donc dans le second bucket à partir de la région croisée.

Synchronisation de bucket

Tâche 6 : effectuer d'autres tests

Il existe deux points que vous pouvez facilement tester avec le même dossier et les mêmes périphériques partagés que ceux configurés précédemment.

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.