Remarque :

Appelez des scripts personnalisés à l'aide de la commande run avec Oracle Cloud Infrastructure Full Stack Disaster Recovery.

Introduction

Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery orchestre la transition du calcul, de la base de données et des applications entre les régions OCI du monde entier en un seul clic. Les clients peuvent automatiser les étapes nécessaires à la récupération d'un ou de plusieurs systèmes métier sans repenser ou modifier l'architecture de l'infrastructure, des bases de données ou des applications existantes, et sans avoir besoin de serveurs de gestion ou de conversion spécialisés.

OCI Full Stack Disaster Recovery offre une flexibilité exceptionnelle. Il permet d'utiliser des groupes définis par l'utilisateur dans le plan de récupération après sinistre, ce qui permet de gérer les étapes personnalisées dans le cadre du plan global de récupération après sinistre. Une fois que la récupération après sinistre de la pile complète a établi le plan de récupération après sinistre initial avec des groupes de plans et des étapes intégrés, vous pouvez intégrer des groupes de plans et des étapes supplémentaires définis par l'utilisateur. Vous pouvez appeler des scripts et des fonctions OCI avec un groupe de plans défini par l'utilisateur.

La commande OCI Compute run est exécutée à l'aide de l'agent Oracle Cloud disponible dans l'instance OCI Compute. L'agent Oracle Cloud est un processus léger qui gère les modules d'extension exécutés sur l'instance OCI Compute. Les modules d'extension collectent des mesures de performances, installez les mises à jour du système d'exploitation et effectuez d'autres tâches de gestion des instances. Pour exécuter des scripts à l'aide de la commande run, vous devez ajouter les instances de calcul (déplacement ou non) en tant que membres du groupe de protection contre la récupération après sinistre.

La récupération après sinistre complète crée une machine virtuelle dans la région de récupération après sinistre pour déplacer des instances lors de l'exécution du plan de récupération après sinistre. Une fois les machines virtuelles lancées, vous pouvez utiliser la fonctionnalité d'exécution de commande pour effectuer des étapes supplémentaires à l'aide de scripts. Exemples : modifications de la configuration de l'équilibreur de charge, connexion à une base de données et table de mise à jour, arrêt et démarrage des serveurs d'applications. En fonction de vos besoins, vous pouvez également utiliser la configuration cloud-init ou systemd dans l'instance de calcul pour démarrer vos applications ou toute autre opération lors du lancement de l'instance. L'option de commande run dans le plan de récupération après sinistre offre une plus grande flexibilité, comme l'utilisation de scripts écrits dans n'importe quel langage, et des options d'observabilité telles que la surveillance des arrêts/redémarrages/journaux sur un seul plan de verre. Pour les instances qui ne sont pas en mouvement, étant donné que les machines virtuelles sont déjà créées dans la région de récupération après sinistre, la fonctionnalité d'exécution de commande est l'option idéale pour utiliser des scripts pour démarrer/arrêter des applications, des bases de données, etc.

Dans ce tutoriel, vous découvrirez comment utiliser la fonctionnalité de commande OCI Compute run en déplaçant l'instance et en exécutant des scripts dans le cadre d'un plan de récupération après sinistre de pile complète. Groupe de plans et étapes définis par l'utilisateur.

Objectifs

Pour déplacer une instance entre deux régions OCI et appeler des scripts personnalisés à l'aide de la fonctionnalité Commande OCI Compute run dans les groupes de plans définis par l'utilisateur et les étapes dans le plan de récupération après sinistre de pile complète. La région principale est Ashburn et la région de récupération après sinistre est Phoenix.

Vous pouvez utiliser un utilisateur administrateur ou des privilèges équivalents pour créer des ressources Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) et effectuer des opérations de récupération après sinistre de pile complète avec une commande run. Vous pouvez également créer un utilisateur distinct pour l'administrateur de récupération après sinistre de pile complète et affecter les ressources OCI IAM nécessaires pour effectuer des opérations de récupération après sinistre de pile complète à l'aide de la commande d'exécution. Cet article explique comment utiliser l'accès "administrateur" pour créer des ressources OCI IAM et un administrateur de pile complète pour effectuer des opérations de récupération après sinistre de pile complète.

Le tutoriel présente les étapes nécessaires pour exécuter un script de travail à partir du groupe de plans défini par l'utilisateur de récupération après sinistre de pile complète à l'aide de la commande run.

Le même tutoriel devrait être adapté aux régions intra-région si vous configurez la réplication de blocs sur différents domaines de disponibilité.

Pour plus d'informations, reportez-vous à Exécution de commandes sur une instance.

Les étapes suivantes seront traitées dans le tutoriel

  1. Créer un utilisateur, un groupe et une stratégie pour la récupération après sinistre de pile complète
  2. Créer des groupes dynamiques et mettre à jour la stratégie pour la récupération après sinistre de pile complète et la commande run
  3. Configurer et valider la commande run dans la machine virtuelle de la région principale
  4. Créer des groupes de volumes et activer la réplication inter-région pour la machine virtuelle de la région principale
  5. Création et association de groupes de protection de récupération après sinistre (DRPG)
  6. Créer un plan de permutation dans le groupe DRPG de secours
  7. Personnaliser le plan de permutation avec des groupes de plans définis par l'utilisateur pour exécuter la commande run
  8. Exécuter des pré-vérifications et exécuter un plan de permutation

Architecture de déploiement

Architecture d'Object Storage

Prérequis

Implémentation

Pour ce tutoriel, nous avons déjà créé les ressources suivantes.

Ressources Région principale - Ashburn(IAD)
Bucket Object Storage fsdr-bucket-ash
Compartiment cmp-compute-fsdrdemo
Machine virtuelle de calcul démo-fsdr-inst
Script permettant de créer un dossier et un fichier /home/opc/scripts/testCommand.sh
#!/bin/bash
# coding: utf-8
echo "Creating Dir testDir under /home/opc"
mkdir -p "/home/opc/testDir"
echo "Creating Testfile"
echo "Contents from `run` Command!!" > /home/opc/testDir/testFile.txt
Ressources Région de secours - Phoenix(PHX)
Bucket Object Storage fsdr-bucket-phx
Compartiment cmp-compute-fsdrdemo

Tâche 1 : création d'utilisateurs, de groupes et de stratégies pour la récupération après sinistre de pile complète

  1. Connectez-vous à la console OCI avec des informations d'identification d'administrateur ou un utilisateur disposant de privilèges équivalents pour créer et modifier les ressources OCI IAM nécessaires.

  2. Dans la région principale (Ashburn) du menu latéral, accédez à Identité et sécurité, Domaines, Par défaut,Utilisateurs. Cliquez sur Créer un utilisateur, indiquez le prénom, le nom et l'ID de courriel, puis cliquez sur Créer.

    Utilisateur Full Stack Disaster Recovery

  3. Dans la région principale (Ashburn) du menu latéral, accédez à Identité et sécurité, Domaines, Par défaut, Groupes. Cliquez sur Créer un groupe, indiquez le nom du groupe "demo-fsdr-admins","description", sélectionnez les utilisateurs à affecter à ce groupe - sélectionnez l'utilisateur créé à l'étape 1.

    Groupes de récupération complète après sinistre de la pile

  4. Dans la région principale (Ashburn) du menu latéral, accédez à Identité et sécurité, Domaines, Stratégies, Créer une stratégie dans le compartiment racine ou un compartiment dans lequel vous voulez créer la stratégie. disaster-recovery-family est le type de famille pour la récupération après sinistre de pile complète.

    Stratégie complète de récupération après sinistre de la pile

    Allow group demo-fsdr-admins to manage disaster-recovery-family in compartment cmp-compute-fsdrdemo
    
  5. Pour permettre au service de récupération après sinistre de gérer les ressources OCI qui font partie de la pile d'applications, vous devez configurer un accès basé sur une stratégie pour autoriser l'accès à ces ressources. Nous avons ajouté toutes les stratégies de service OCI actuellement prises en charge en tant que type de membre. Les stratégies peuvent être modifiées en fonction des types de ressource utilisés avec la récupération après sinistre de pile complète. Ajoutez les stratégies suivantes à demo-fsdr-admin-policies comme indiqué ci-dessous.

    Allow group demo-fsdr-admins to manage buckets in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage objects in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage databases in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage autonomous-databases in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage instance-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage instance-agent-command-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to manage volume-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read virtual-network-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use subnets in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use vnics in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use network-security-groups in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use private-ips in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read fn-app in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to read fn-function in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins to use fn-invocation in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins use tag-namespaces in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read vaults in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read secret-family in compartment cmp-compute-fsdrdemo
    Allow group demo-fsdr-admins read all-resources in compartment cmp-compute-fsdrdemo
    
  6. Dans le menu, accédez à Identité et sécurité, Stratégies, sélectionnez la stratégie créée à l'étape 4, sélectionnez Modifier les instructions de stratégie, Générateur de stratégies, Avancé.

  7. Copiez la liste des stratégies ci-dessus et cliquez sur Enregistrer les modifications. Vérifiez que toutes les stratégies ajoutées sont correctement reflétées.

    Remarque : vous devez utiliser le nom de groupe correct (créé à l'étape 3) et le nom de compartiment dans la syntaxe de stratégie.

Modifier les stratégies avancées

Tâche 2 : création de groupes dynamiques et de stratégies pour la récupération après sinistre de pile complète et la commande run

  1. Connectez-vous à la console OCI avec des informations d'identification d'administrateur ou un utilisateur disposant de privilèges équivalents pour créer et modifier les ressources OCI IAM nécessaires.

  2. Pour permettre à l'instance de calcul d'effectuer des appels d'API sur les services OCI, nous devons créer des groupes dynamiques et faire des instances de calcul en tant qu'acteurs principaux. Créez un groupe dynamique dans la région principale (Ashburn) à partir du menu latéral, accédez à Identité et sécurité, Domaines, Groupes dynamiques, Créer un groupe dynamique.

    • Si le compartiment contient plusieurs instances, vous pouvez utiliser la règle All {instance.compartment.id = 'compartment OCID'}. Dans cet exemple, nous avons copié l'OCID du compartiment cmp-compute-fsdrdemo, ce qui permet à toutes les instances de ce compartiment d'utiliser les commandes run.

      Modifier les stratégies avancées

    • Vous pouvez également utiliser un groupe dynamique pour restreindre l'accès au niveau instance en ajoutant des règles sous la forme Any {instance.id='ocid....'}.

  3. Mettez à jour la stratégie demo-fsdr-admins que nous avons créée dans la tâche 1 avec la stratégie ci-dessous. Cette opération est requise pour utiliser des fonctions de commande run telles que l'exécution de commandes, l'annulation de commandes et la visualisation de la sortie de commande pour les instances d'un compartiment.

    Allow dynamic-group demofsdr-runcmd-dgp to manage instance-agent-command-execution-family in compartment cmp-compute-fsdrdemo
    

    Modifier les stratégies avancées

Remarque : si votre script interagit avec d'autres services OCI, vous devez mettre à jour les stratégies de groupe dynamique.

Tâche 3 : Configurer et valider la commande run dans la machine virtuelle source

  1. Connectez-vous à la console OCI à l'aide de l'administrateur de récupération après sinistre de pile complète que nous avons créé dans la tâche 1.

  2. Connectez-vous à la machine virtuelle de calcul (demo-fsdr-inst) en tant qu'utilisateur opc. Veillez à placer le script testCommand.sh dans le dossier /home/opc/scripts/ et à modifier les droits d'accès du fichier avec les privilèges d'exécution. Le contenu des scripts est disponible dans la section Implémentation en haut de la page.

  3. Vous devez accorder des droits d'accès d'administrateur au module d'extension de commande run de l'instance de calcul pour pouvoir exécuter la commande. Le plug-in est exécuté en tant qu'utilisateur ocarun.

  4. Créez un fichier de configuration sudoers pour le module d'extension de commande run de l'instance de calcul.

    vi ./101-oracle-cloud-agent-run-command
    

    Commande "run" - VI

  5. Pour autoriser l'utilisateur ocarun à exécuter toutes les commandes en tant que sudo, ajoutez la ligne suivante au fichier de configuration.

    ocarun ALL=(ALL) NOPASSWD:ALL
    

    Commande d'affichage - VI

    Vous pouvez également répertorier des commandes spécifiques. Pour plus d'informations, reportez-vous à la page de manuel Linux pour les sudoers.

  6. Vérifiez si la syntaxe du fichier de configuration est correcte.

    visudo -cf ./101-oracle-cloud-agent-run-command
    

    Si la syntaxe est correcte, le message suivant est renvoyé :

    ./101-oracle-cloud-agent-run-command : analyse OK

    Valider la commande - VI

  7. Ajoutez le fichier de configuration à /etc/sudoers.d.

    sudo cp ./101-oracle-cloud-agent-run-command /etc/sudoers.d/
    

    Copier commande - VI

    Remarque : les étapes d'octroi des autorisations d'administrateur dépendent du système d'exploitation. Dans cet exemple, nous avons utilisé le système d'exploitation Linux. Pour plus d'informations, reportez-vous à Exécution de commandes sur une instance.

  8. Redémarrez l'agent cloud manuellement à l'aide de la commande ci-dessous. Cette commande s'applique à Oracle Linux 7.x et Oracle Linux 8.x. Pour les autres versions et systèmes d'exploitation Linux, reportez-vous à Exécution de commandes sur une instance.

    sudo systemctl restart oracle-cloud-agent
    

    Redémarrer l'agent

  9. Connectez-vous à la console OCI, accédez à la machine virtuelle demo-fsdr-inst, sélectionnez l'onglet Agent Oracle Cloud et le statut de la commande Instance de calcul run doit afficher En cours d'exécution.

    Statut de l'agent

    Remarque : si le statut n'est pas en cours d'exécution, reportez-vous à Dépannage de l'agent Oracle Cloud pour résoudre le problème. Le statut de la commande run de l'instance de calcul doit être En cours d'exécution.

  10. Accédez à Instances, demo-fsdr-inst, run Command, Create run Command.

    Naviguer dans les commandes `run`

  11. Testez la commande run comme suit.

    Tester la commande `run`

  12. Vérifiez le statut de la commande en cliquant sur trois points dans le coin droit.

    Statut de la commande de test

  13. Vous devriez voir la sortie et le statut de la commande comme indiqué ci-dessous.

    Statut de succès de la commande de test

Pour dépanner la commande run dans la machine virtuelle, vous pouvez visualiser les journaux générés par le plug-in à l'aide de la commande suivante.

tail -f /var/log/oracle-cloud-agent/plugins/runcommand/runcommand.log

Pour connaître les erreurs et la résolution connues, reportez-vous à la section Dépannage du module d'extension de commande run de l'instance de calcul dans Exécution de commandes sur une instance.

Tâche 4 : création de groupes de volumes au niveau principal (Ashburn)

  1. Connectez-vous à la console OCI à l'aide de l'administrateur de récupération après sinistre de pile complète que nous avons créé dans la tâche 1.

  2. Dans la région principale (Ashburn) du menu latéral, accédez à Migration et récupération après sinistre, Récupération après sinistre, Groupe de protection de récupération après sinistre, Créer un groupe de protection de récupération après sinistre.

    Créer un groupe de volumes à Ashburn

  3. Ajoutez le volume d'initialisation du demo-fsdr-inst Compute.

    Choisir un volume d'initialisation à Ashburn

  4. Activer la réplication inter-région d'Ashburn vers Phoenix.

    Activer la réplication entre régions dans Ashburn

  5. Conservez la valeur None pour la stratégie de sauvegarde, cliquez sur Next et consultez le récapitulatif.

    Récapitulatif du groupe de volumes

Tâche 5 : création de groupes de protection contre la récupération après sinistre dans l'instance principale et l'instance de secours

  1. Connectez-vous à la console OCI à l'aide de l'administrateur de récupération après sinistre de pile complète que nous avons créé dans la tâche 1.

  2. Dans la région principale (Ashburn) du menu latéral, accédez à Migration et récupération après sinistre, Récupération après sinistre, Groupe de protection de récupération après sinistre, Créer un groupe de protection de récupération après sinistre.

    Créer un groupe de protection contre la récupération après sinistre à Ashburn

  3. Dans la région de secours (Phoenix) du menu Hamburger, accédez à Migration et récupération après sinistre, Récupération après sinistre, Groupe de protection de récupération après sinistre, Créer un groupe de protection de récupération après sinistre.

    Créer un groupe de protection contre la récupération après sinistre à Phoenix

    Remarque : pour cet exemple de tutoriel, nous choisissons Ashburn comme région principale et Phoenix comme région de secours.

  4. Dans la région principale (Ashburn), sélectionnez le groupe DRPG fsdr-runcmd-drpg-ash et cliquez sur Associer. Sélectionnez le rôle Principal, Région homologue Ouest des Etats-Unis (Phoenix), Groupe de protection de récupération après sinistre homologue fsdr-runcmd-drpg-phx et cliquez sur Associer.

    Associer principal et de secours

    Remarque : vérifiez le rôle d'fsdr-runcmd-drpg-ash en tant que principal et d'fsdr-runcmd-drpg-phx en tant que secours.

  5. Dans la région principale (Ashburn), sélectionnez le groupe DRPG fsdr-runcmd-drpg-ash et cliquez sur Membres, puis sur Ajouter des membres pour ajouter des groupes de volumes et une machine virtuelle.

    Membres principaux d'Ashburn

Tâche 6 : création d'un plan de permutation dans le groupe DRPG de secours (Phoenix)

Plan de permutation : type de plan de récupération après sinistre qui effectue une transition planifiée des services du groupe de protection principal de récupération après sinistre vers le groupe de protection de secours de récupération après sinistre.

  1. Connectez-vous à la console OCI à l'aide de l'administrateur de récupération après sinistre de pile complète que nous avons créé dans la tâche 1.

  2. Créez un plan de permutation dans le DRPG de secours fsdr-runcmd-drpg-phx.

  3. Sélectionnez Plans et cliquez sur Créer un plan.

  4. Indiquez le nom switchover-to-phx et choisissez le type de plan Switchover (planned).

  5. Cliquez sur Créer.

    Plan de permutation

    Remarque : veillez à créer le plan de permutation à partir du groupe DRPG de secours (Phoenix).

  6. Cliquez sur le plan et assurez-vous que les plans intégrés ont été générés comme indiqué ci-dessous.

    Plan intégré par défaut

Tâche 7 : Personnaliser le plan de permutation avec des groupes de plans définis par l'utilisateur

  1. Connectez-vous à la console OCI à l'aide de l'administrateur de récupération après sinistre de pile complète que nous avons créé dans la tâche 1.

  2. Sous Groupes de plans, cliquez sur Ajouter un groupe pour créer un groupe de plans personnalisé pour effectuer la permutation. Indiquez le nom de groupe CustGroup-Demo.

    Basculement de groupe personnalisé vers PHX

  3. Cliquez sur Ajouter une étape et ajoutez les détails ci-dessous. Nous ajouterons une étape au groupe de plans.

    Basculement de groupe personnalisé vers l'étape PHX

    • Veillez à choisir la région Ashburn. Sélectionnez l'option run local Script.

    • Etant donné que nous n'avons pas de machine virtuelle dans Phoenix lors de la création du groupe de plans défini par l'utilisateur, nous devons choisir Région en tant qu'Ashburn, qui est Principal et Instance cible en tant que machine virtuelle demo-for-inst. La récupération après sinistre de pile complète mappera automatiquement ces instances et le script sera exécuté dans la nouvelle instance lancée à Phoenix.

    • Sélectionnez l'instance cible dans le compartiment dans lequel la machine virtuelle est créée. Nous avons créé la machine virtuelle en tant que demo-fsdr-inst.

    • Entrez le paramètre de script /home/opc/scripts/testCommand.sh.

    • Entrez opc dans run en tant que champ utilisateur.

    • Cliquez sur Ajouter une étape et vérifiez l'étape ajoutée.

      Etape personnalisée de permutation vers PHX ajoutée

    • Vérifiez que l'étape est ajoutée et cliquez sur Ajouter.

  4. Vérifiez les groupes de plans de permutation dans l'ordre approprié comme indiqué ci-dessus.

Tâche 8 : Exécuter les pré-vérifications et exécuter le plan de permutation

L'option Exécuter les pré-vérifications effectue une validation rapide de toutes les étapes d'un plan de récupération après sinistre.

  1. Dans le plan de permutation switchover-to-phx, cliquez sur Run prechecks pour lancer la boîte de dialogue Run prechecks.

    Vérification préalable de la permutation

    Statut de pré-vérification pour la permutation

    Vérifiez que l'exécution s'est terminée avec succès.

  2. Dans le plan de permutation switchover-to-phx, cliquez sur Execute Disaster Recovery Plan pour exécuter le plan.

    Exécuter un plan de récupération après sinistre

  3. Vérifiez le statut du plan et assurez-vous que toutes les étapes du plan ont réussi.

    Exécuter le statut du plan de récupération après sinistre

  4. Une fois le plan de permutation exécuté, connectez-vous à l'instance à Phoenix et vérifiez que les éléments testDir et testFile ont été créés.

    Vérifier la machine virtuelle phx après la permutation

  5. Le changement de rôle se produit automatiquement dans le groupe de protection contre la récupération après sinistre. Maintenant, Phoenix aura le rôle Primary et Ashburn le rôle Standby.

Etapes suivantes

Vous avez vu comment utiliser des groupes personnalisés pour appeler des scripts avec OCI Full Stack Disaster Recovery. Dans l'idéal, vous aurez des étapes pour récupérer le calcul, la base de données et le stockage de blocs, ainsi que le stockage d'objets pour votre pile d'applications. Vous pouvez facilement utiliser ce tutoriel pour personnaliser votre plan de récupération après sinistre de pile complète si vous souhaitez ajouter un groupe défini par l'utilisateur dans le cadre d'un groupe de plans défini par l'utilisateur.

Remerciements

Auteurs - Vasudeva Manikandan (responsable de la technologie de l'implémentation - Oracle Lift Services), Suraj Ramesh (responsable produit de la récupération après sinistre complète de la pile)

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour consulter la documentation produit, consultez Oracle Help Center.