Sauvegarder et restaurer des données à l'aide de RPM Orchestrator

Sélectionnez une version de la documentation :

Pour protéger vos données, AlloyDB Omni fournit une sauvegarde et une récupération automatiques des données à l'aide de fichiers manifestes déclaratifs. L'orchestrateur AlloyDB Omni fonctionne avec alloydbctl et Ansible pour appliquer ces configurations de fichier manifeste et automatiser les sauvegardes vers Cloud Storage, les buckets Amazon S3 standards ou les logiciels compatibles avec S3 tels que MinIO.

Pour activer la sauvegarde et la récupération continues d'AlloyDB Omni, vous devez créer un plan de sauvegarde pour chaque cluster de bases de données. Les sauvegardes sont effectuées en fonction des plannings de sauvegarde définis dans la ressource BackupPlan. Vous pouvez effectuer une restauration à l'aide d'une ressource de sauvegarde ou de n'importe quel code temporel de la fenêtre de récupération, avec une précision à la seconde près.

AlloyDB Omni gère les sauvegardes et la récupération automatiques à l'aide de fichiers manifestes :

  • BackupPlan : chaque cluster de bases de données peut comporter un ou plusieurs manifestes BackupPlan avec des configurations et des plannings différents pour les niveaux de sauvegarde.
  • Backup : lance des sauvegardes complètes, différentielles ou incrémentielles en fonction de vos fichiers manifestes BackupPlan.
  • Restore : lance une restauration sur place de votre cluster de bases de données à l'aide d'une sauvegarde ou d'un point dans le temps spécifiques.

Avant de commencer

Avant de configurer votre forfait de sauvegarde, assurez-vous de disposer des éléments suivants :

  • Emplacement de stockage de vos sauvegardes : AlloyDB Omni stocke les sauvegardes dans l'une des options de stockage suivantes :

    • Cloud Storage : bucket Cloud Storage. Pour savoir comment créer des buckets, consultez Créer un bucket.
    • Amazon S3 : bucket Amazon S3. Pour savoir comment créer des buckets S3, consultez Créer un bucket.
    • Stockage compatible S3 : bucket dans un logiciel compatible S3, tel que MinIO. Pour savoir comment créer des buckets MinIO, consultez la documentation MinIO.
  • Identifiants d'authentification : si votre option de stockage nécessite des clés d'authentification telles qu'Amazon S3, MinIO ou Cloud Storage avec un compte de service spécifique, vous devez créer une ressource Secret contenant ces identifiants avant de créer le plan de sauvegarde. Pour obtenir des instructions, consultez Créer une ressource Secret pour authentifier le stockage.

Créer une ressource Secret pour authentifier le stockage

Si le stockage que vous utilisez nécessite une authentification, vous devez créer une ressource Secret avant de créer le plan de sauvegarde.

Créer une ressource Secret pour Cloud Storage

  1. Créez un compte de service pour ajouter des sauvegardes au bucket.
  2. Accordez le rôle Identity and Access Management roles/storage.objectAdmin au compte de service dans le bucket.
  3. Générez une clé de compte de service au format JSON.
  4. Encodez le contenu du fichier de clé JSON téléchargé en base64. Exécutez base64 -w 0 ou assurez-vous que le texte encodé est sur une seule ligne continue.
  5. Créez un fichier manifeste de ressource Secret. Le nom de clé dans la section data doit être key.json.

    Secret:
      metadata:
        name: SECRET_NAME
      spec:
        type: Opaque
        data:
          key.json: "BASE64_ENCODED_JSON_KEY"
    

    Remplacez les éléments suivants :

    • SECRET_NAME : nom de votre ressource Secret.
    • BASE64_ENCODED_JSON_KEY : contenu encodé en base64 du fichier de clé JSON de votre compte de service.

Créer une ressource Secret pour le stockage S3 ou compatible avec S3

  1. Encodez en base64 l'ID de votre clé d'accès S3.
  2. Encodez votre clé d'accès secrète S3 en base64.
  3. Créez un fichier manifeste de ressource Secret. Les noms de clés de la section data doivent être access-key-id et access-key.

    Secret:
      metadata:
        name: SECRET_NAME
      spec:
        type: Opaque
        data:
          access-key-id: "BASE64_ENCODED_ACCESS_KEY_ID"
          access-key: "BASE64_ENCODED_SECRET_ACCESS_KEY"
    

    Remplacez les éléments suivants :

    • SECRET_NAME : nom de votre ressource Secret.
    • BASE64_ENCODED_ACCESS_KEY_ID : ID de clé d'accès S3 encodé en base64.
    • BASE64_ENCODED_SECRET_ACCESS_KEY : clé d'accès secrète S3 encodée en base64.

Appliquer la ressource Secret

Appliquez le fichier manifeste de ressources Secret avant d'appliquer le fichier manifeste BackupPlan. Vous pouvez appliquer le fichier manifeste de ressources Secret à l'aide de l'une des méthodes suivantes :

alloydbctl

Pour appliquer le fichier manifeste de ressources Secret à l'aide de alloydbctl, exécutez la commande suivante :

alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"

Remplacez les variables suivantes :

  • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.
  • SECRET_MANIFEST : chemin d'accès au fichier manifeste de ressources Secret que vous avez créé.

Ansible

Pour appliquer le fichier manifeste de ressources Secret à l'aide d'Ansible, procédez comme suit :

  1. Créez un playbook pour le fichier manifeste de votre ressource Secret :

    - name: Create Secret
      hosts: localhost
      become: true
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
        - role: google.alloydbomni_orchestrator.backup
    

    Remplacez les variables suivantes :

    • ANSIBLE_USER : utilisateur de l'OS qu'Ansible utilise pour se connecter à vos nœuds AlloyDB Omni.
    • ANSIBLE_SSH_PRIVATE_KEY_FILE : clé privée utilisée par Ansible pour se connecter à vos nœuds AlloyDB Omni à l'aide de SSH.
  2. Appliquez le fichier manifeste de ressources Secret :

    ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
      -e resource_spec="SECRET_MANIFEST"

    Remplacez les variables suivantes :

    • SECRET_PLAYBOOK : chemin d'accès au playbook que vous avez créé pour le fichier manifeste de votre ressource Secret.
    • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.
    • SECRET_MANIFEST : chemin d'accès au fichier manifeste de ressources Secret que vous avez créé.

Créer un plan de sauvegarde

  1. Créez un fichier manifeste BackupPlan en utilisant le format de votre option de stockage :

    Cloud Storage

    Le champ gcsOptions est obligatoire.

    BackupPlan:
      metadata:
        name: BACKUP_PLAN_NAME
      spec:
        dbclusterRef: DBCLUSTER_NAME
        backupLocation:
          type: GCS
          gcsOptions:
            bucket: BUCKET_NAME
            key: BUCKET_PATH
            secretRef:
              name: SECRET_NAME
        backupRetainDays: RETAIN_DAYS
        backupSchedules:
          full: "FULL_SCHEDULE"
          differential: "DIFF_SCHEDULE"
          incremental: "INC_SCHEDULE"
    

    Remplacez les variables suivantes :

    • BACKUP_PLAN_NAME : nom du fichier manifeste BackupPlan. Par exemple, my-backup-plan-1.

    • DBCLUSTER_NAME : nom du cluster de base de données que vous avez défini dans Créer un cluster.

    • BUCKET_NAME : nom du bucket Cloud Storage que vous avez créé.

    • BUCKET_PATH : chemin d'accès au répertoire dans Cloud Storage dans lequel les sauvegardes doivent être écrites. Vous devez fournir un chemin absolu commençant par /. Par exemple, /backups.

    • SECRET_NAME (Facultatif) : nom de la ressource Secret qui stocke les clés d'authentification.

    • RETAIN_DAYS (facultatif) : nombre de jours de conservation des sauvegardes avant leur suppression automatique.

    • FULL_SCHEDULE (facultatif) : expression de planification Cron pour les sauvegardes complètes. Exemple : 0 2 * * *.

    • DIFF_SCHEDULE (facultatif) : expression de planification Cron pour les sauvegardes différentielles. Exemple : 0 2 * * *.

    • INC_SCHEDULE (facultatif) : expression de planification Cron pour les sauvegardes incrémentielles. Exemple : 0 2 * * *.

    Amazon S3 ou conforme à S3

    Le champ s3Options est obligatoire.

    BackupPlan:
      metadata:
        name: BACKUP_PLAN_NAME
      spec:
        dbclusterRef: DBCLUSTER_NAME
        backupLocation:
          type: S3
          s3Options:
            bucket: BUCKET_NAME
            key: BUCKET_PATH
            endpoint: ENDPOINT_URL
            region: REGION
            secretRef:
              name: SECRET_NAME
        backupRetainDays: RETAIN_DAYS
        backupSchedules:
          full: "FULL_SCHEDULE"
          differential: "DIFF_SCHEDULE"
          incremental: "INC_SCHEDULE"
    

    Remplacez les variables suivantes :

    • BACKUP_PLAN_NAME : nom du fichier manifeste BackupPlan. Par exemple, my-backup-plan-1.

    • DBCLUSTER_NAME : nom du cluster de base de données que vous avez défini dans Créer un cluster.

    • BUCKET_NAME : nom du bucket S3 que vous avez créé.

    • BUCKET_PATH : chemin d'accès au répertoire du bucket S3 dans lequel les sauvegardes doivent être écrites. Vous devez fournir un chemin absolu commençant par /. Exemple : /backups.

    • ENDPOINT_URL : URL de point de terminaison personnalisé pour se connecter à un logiciel compatible avec S3, tel que MinIO. Exemple :http://minio.example.com:9000 Pour les buckets Amazon S3, vous n'avez pas besoin de fournir d'URL de point de terminaison.

    • REGION_ (facultatif) : région du bucket de stockage. Obligatoire lorsque vous vous connectez à des buckets Amazon S3 standards ou à un logiciel conforme à S3 où la validation de la région est appliquée.

    • SECRET_NAME : référence à une ressource Secret que vous avez créée précédemment et qui contient votre ACCESS_KEY_ID et votre SECRET_ACCESS_KEY.

    • RETAIN_DAYS (facultatif) : nombre de jours de conservation des sauvegardes avant leur suppression automatique.

    • FULL_SCHEDULE (facultatif) : expression de planification Cron pour les sauvegardes complètes. Exemple : 0 2 * * *.

    • DIFF_SCHEDULE (facultatif) : expression de planification Cron pour les sauvegardes différentielles. Exemple : 0 2 * * *.

    • INC_SCHEDULE (facultatif) : expression de planification Cron pour les sauvegardes incrémentielles. Exemple : 0 2 * * *.

  2. Appliquez le plan de sauvegarde à l'aide de l'une des méthodes suivantes :

    alloydbctl

    1. Appliquez votre ressource BackupPlan :

      alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"

      Remplacez les variables suivantes :

      • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

      • BACKUP_PLAN_MANIFEST : chemin d'accès au fichier manifeste BackupPlan que vous avez créé précédemment.

    2. Vérifiez que le champ d'état status.phase de votre fichier manifeste BackupPlan est défini sur Ready. Si le fichier manifeste n'est pas prêt, attendez qu'il le soit :

      alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml

    Ansible

    1. Créez un playbook pour votre fichier manifeste BackupPlan :

      - name: BACKUP_PLAN_PLAYBOOK_NAME
        hosts: localhost
        vars:
          ansible_user: ANSIBLE_USER
          ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
        roles:
          - role: google.alloydbomni_orchestrator.backup
      

      Remplacez les variables suivantes :

      • BACKUP_PLAN_PLAYBOOK_NAME : nom de votre playbook Ansible. Exemple :My BackupPlan Notez le chemin d'accès au playbook, car vous en aurez besoin à l'étape suivante.

      • ANSIBLE_USER : nom de l'utilisateur de l'OS qu'Ansible utilise pour se connecter à vos nœuds AlloyDB Omni.

      • ANSIBLE_SSH_PRIVATE_KEY_FILE : clé privée utilisée par Ansible pour se connecter à vos nœuds AlloyDB Omni à l'aide de SSH.

    2. Appliquez votre ressource BackupPlan :

      ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
        -e resource_spec="BACKUP_PLAN_MANIFEST"

      Remplacez les variables suivantes :

      • BACKUP_PLAN_PLAYBOOK : chemin d'accès au playbook que vous avez créé précédemment pour votre fichier manifeste BackupPlan.

      • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

      • BACKUP_PLAN_MANIFEST : chemin d'accès au fichier manifeste BackupPlan que vous avez créé précédemment.

    3. Créez un playbook status.yaml si vous ne l'avez pas déjà fait. Pour savoir comment créer le playbook, consultez Afficher l'état et lister les ressources de sauvegarde.

    4. Vérifiez que le champ d'état status.phase de votre fichier manifeste BackupPlan est défini sur Ready. Si le fichier manifeste n'est pas prêt, attendez qu'il le soit :

      ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \
        -e resource_name=BACKUP_PLAN_NAME

Mettre à jour un plan de sauvegarde

Pour modifier un plan de sauvegarde afin de changer la programmation des sauvegardes, modifier la durée de conservation ou suspendre les sauvegardes planifiées, modifiez le fichier manifeste BackupPlan, puis réappliquez-le.

  1. Ouvrez le fichier manifeste BackupPlan que vous avez créé dans Créer un plan de sauvegarde.

  2. Modifiez les champs que vous souhaitez mettre à jour.

    • Pour mettre à jour les plannings de sauvegarde, modifiez les expressions cron sous backupSchedules.
    • Pour modifier la période de conservation, modifiez backupRetainDays.
    • Pour suspendre les sauvegardes planifiées, ajoutez le champ paused à la section spec et définissez-le sur true. Pour reprendre les sauvegardes, définissez le champ sur false ou supprimez-le.

    Par exemple, l'exemple suivant met à jour le nombre de jours de conservation sur 30, modifie les plannings full et differential, ajoute un planning incremental et suspend le plan de sauvegarde :

    BackupPlan:
      metadata:
        name: BACKUP_PLAN_NAME
      spec:
        dbclusterRef: DBCLUSTER_NAME
        backupLocation:
          type: GCS
          gcsOptions:
            bucket: BUCKET_NAME
            key: BUCKET_PATH
            secretRef:
              name: SECRET_NAME
        backupRetainDays: 30
        backupSchedules:
          full: "0 4 * * *"
          differential: "0 0 * * 0"
          incremental: "0 12 * * *"
        paused: true
    
  3. Appliquez le plan de sauvegarde mis à jour à l'aide de l'une des méthodes suivantes :

    alloydbctl

    1. Appliquez votre ressource BackupPlan :

      alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"

      Remplacez les variables suivantes :

      • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

      • BACKUP_PLAN_MANIFEST : chemin d'accès au fichier manifeste BackupPlan que vous avez modifié.

    2. Vérifiez que le champ d'état status.phase de votre fichier manifeste BackupPlan est défini sur Ready. Si le fichier manifeste n'est pas prêt, attendez qu'il le soit :

      alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml

    Ansible

    1. Appliquez votre ressource BackupPlan mise à jour à l'aide du playbook que vous avez créé dans Créer un plan de sauvegarde :

      ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
        -e resource_spec="BACKUP_PLAN_MANIFEST"

      Remplacez les variables suivantes :

      • BACKUP_PLAN_PLAYBOOK : chemin d'accès au playbook que vous avez créé pour votre fichier manifeste BackupPlan.

      • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

      • BACKUP_PLAN_MANIFEST : chemin d'accès au fichier manifeste BackupPlan que vous avez modifié.

    2. Créez un playbook status.yaml si vous ne l'avez pas déjà fait. Pour savoir comment créer le playbook, consultez Afficher l'état et lister les ressources de sauvegarde.

    3. Vérifiez que le champ d'état status.phase de votre fichier manifeste BackupPlan est défini sur Ready. Si le fichier manifeste n'est pas prêt, attendez qu'il le soit avant de le valider :

      ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \
        -e resource_name=BACKUP_PLAN_NAME

Supprimer un plan de sauvegarde

Pour supprimer un plan de sauvegarde, utilisez l'une des méthodes suivantes :

alloydbctl

alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME

Remplacez les variables suivantes :

  • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

  • BACKUP_PLAN_NAME : nom du fichier manifeste BackupPlan à supprimer.

Ansible

  1. Créez un playbook pour supprimer le fichier manifeste BackupPlan.

    - name: BACKUP_PLAN_DELETE_PLAYBOOK_NAME
      hosts: localhost
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
        - role: google.alloydbomni_orchestrator.delete
    

    Remplacez les variables suivantes :

    • BACKUP_PLAN_DELETE_PLAYBOOK_NAME : nom de votre playbook Ansible.

    • ANSIBLE_USER : utilisateur de l'OS qu'Ansible utilise pour se connecter à vos nœuds AlloyDB Omni.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE : clé privée utilisée par Ansible pour se connecter à vos nœuds AlloyDB Omni à l'aide de SSH.

  2. Exécutez ansible-playbook pour supprimer le fichier manifeste BackupPlan.

    ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \
      -e resource_name=BACKUP_PLAN_NAME

    Remplacez les variables suivantes :

    • BACKUP_PLAN_DELETE_PLAYBOOK_NAME : chemin d'accès au playbook que vous avez créé pour supprimer le fichier manifeste BackupPlan à l'étape précédente.

    • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

    • BACKUP_PLAN_NAME : nom du fichier manifeste BackupPlan à supprimer.

Créer une sauvegarde

Pour créer et lancer une sauvegarde, utilisez l'une des méthodes suivantes :

alloydbctl

  1. Créez un fichier manifeste Backup au format suivant :

    Backup:
      metadata:
        name: BACKUP_NAME
      spec:
        backupPlanRef: BACKUP_PLAN_NAME
        dbclusterRef: DBCLUSTER_NAME
        type: full
    

    Remplacez les variables suivantes :

    • BACKUP_NAME : nom du fichier manifeste Backup. Par exemple, my-backup-1.

    • BACKUP_PLAN_NAME : nom du fichier manifeste BackupPlan que vous avez créé précédemment. Exemple : my-backup-plan-1.

    • DBCLUSTER_NAME : nom du cluster de base de données que vous avez défini dans Créer un cluster.

    • type (facultatif) : type d'exécution de la sauvegarde, qui peut être défini sur full, diff ou incr. La valeur par défaut est full.

  2. Appliquez votre fichier manifeste Backup :

    alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"

    Remplacez les variables suivantes :

    • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

    • BACKUP_MANIFEST : chemin d'accès au fichier manifeste Backup que vous avez créé précédemment.

  3. Vérifiez que le champ d'état status.phase de votre fichier manifeste Backup est défini sur Succeeded. Si le fichier manifeste n'a pas été créé, attendez qu'il le soit :

    alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yaml
  4. Vérifiez que les fichiers de sauvegarde sont disponibles dans votre bucket en vérifiant si le dossier /backup/db existe.

Ansible

  1. Créez un fichier manifeste Backup au format suivant :

    Backup:
      metadata:
        name: BACKUP_NAME
      spec:
        backupPlanRef: BACKUP_PLAN_NAME
        dbclusterRef: DBCLUSTER_NAME
        type: full
    

    Remplacez les variables suivantes :

    • BACKUP_NAME : nom du fichier manifeste Backup. Par exemple, my-backup-1.

    • BACKUP_PLAN_NAME : nom du fichier manifeste BackupPlan que vous avez créé précédemment. Exemple : my-backup-plan-1.

    • DBCLUSTER_NAME : nom du cluster de base de données que vous avez défini dans Créer un cluster.

    • type (facultatif) : type d'exécution de la sauvegarde, qui peut être défini sur full, diff ou incr. La valeur par défaut est full.

  2. Créez un playbook pour votre fichier manifeste Backup :

    - name: BACKUP_PLAYBOOK_NAME
      hosts: localhost
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
        - role: google.alloydbomni_orchestrator.backup
    

    Remplacez les variables suivantes :

    • BACKUP_PLAYBOOK_NAME : nom de votre playbook Ansible. Exemple :My Backup

    • ANSIBLE_USER : nom de l'utilisateur du système d'exploitation qu'Ansible utilise pour se connecter à vos nœuds AlloyDB Omni.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE : clé privée utilisée par Ansible pour se connecter à vos nœuds AlloyDB Omni à l'aide de SSH.

  3. Appliquez votre fichier manifeste Backup :

    ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
      -e resource_spec="BACKUP_MANIFEST"

    Remplacez les variables suivantes :

    • BACKUP_PLAYBOOK : chemin d'accès au playbook que vous avez créé pour votre fichier manifeste Backup créé précédemment.

    • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

    • BACKUP_MANIFEST : chemin d'accès au fichier manifeste Backup que vous avez créé précédemment.

  4. Créez un playbook status.yaml si vous ne l'avez pas déjà fait. Pour savoir comment créer le playbook, consultez Afficher l'état et lister les ressources de sauvegarde.

  5. Vérifiez que le champ d'état status.phase de votre fichier manifeste Backup est défini sur Succeeded. Si le fichier manifeste n'a pas été importé correctement, attendez qu'il le soit avant de procéder à la validation :

    ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \
      -e resource_name=BACKUP_NAME
  6. Vérifiez que les fichiers de sauvegarde sont disponibles dans votre bucket en vérifiant si le dossier /backup/db existe.

Supprimer une sauvegarde

Pour supprimer une sauvegarde, exécutez l'une des commandes suivantes :

alloydbctl

alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME

Remplacez les variables suivantes :

  • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

  • BACKUP_NAME : nom du fichier manifeste Backup à supprimer.

Ansible

  1. Créez un playbook pour supprimer le fichier manifeste Backup.

    - name: BACKUP_DELETE_PLAYBOOK_NAME
      hosts: localhost
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
        - role: google.alloydbomni_orchestrator.delete
    

    Remplacez les variables suivantes :

    • BACKUP_DELETE_PLAYBOOK_NAME : nom de votre playbook Ansible.

    • ANSIBLE_USER : utilisateur de l'OS qu'Ansible utilise pour se connecter à vos nœuds AlloyDB Omni.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE : clé privée utilisée par Ansible pour se connecter à vos nœuds AlloyDB Omni à l'aide de SSH.

  2. Exécutez ansible-playbook pour supprimer le fichier manifeste Backup.

    ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \
      -e resource_name=BACKUP_NAME

    Remplacez les variables suivantes :

    • BACKUP_DELETE_PLAYBOOK : chemin d'accès au playbook que vous avez créé pour supprimer le fichier manifeste Backup à l'étape précédente.

    • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

    • BACKUP_NAME : nom du fichier manifeste Backup à supprimer.

Restaurer à partir d'une sauvegarde ou d'un point de récupération dans le temps

Pour restaurer des données à partir d'une sauvegarde, appliquez un fichier manifeste Restore. L'orchestrateur RPM effectue la récupération sur place, ce qui modifie directement votre cluster de base de données cible sans créer de cluster cloné ni nécessiter l'exécution manuelle de scripts.

Pour restaurer à partir d'une sauvegarde, utilisez l'une des méthodes suivantes :

alloydbctl

  1. Créez un fichier manifeste Restore au format suivant :

    • Pour restaurer à partir d'une sauvegarde nommée spécifique :
    Restore:
      metadata:
        name: RESTORE_NAME
      spec:
        sourceDBCluster: DBCLUSTER_NAME
        backup: BACKUP_NAME
    
    • Pour effectuer une restauration à un moment précis :

      Restore:
        metadata:
          name: RESTORE_NAME
        spec:
          sourceDBCluster: DBCLUSTER_NAME
          pointInTime: "TIMESTAMP"
      

    Remplacez les variables suivantes :

    • RESTORE_NAME : nom de ce fichier manifeste Restore. Par exemple, my-restore-1.

    • DBCLUSTER_NAME : nom du cluster de bases de données cible à récupérer sur place.

    • BACKUP_NAME : nom du fichier manifeste Backup terminé à partir duquel effectuer la restauration.

    • TIMESTAMP : code temporel RFC 3339 identifiant le point exact dans le temps auquel effectuer la récupération. Exemple :2026-06-19T14:30:00Z

  2. Appliquez votre fichier manifeste Restore :

    alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"

    Remplacez les variables suivantes :

    • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.

    • RESTORE_MANIFEST : chemin d'accès au fichier de spécification du manifeste Restore que vous avez créé à l'étape 1.

  3. Vérifiez que status.phase pour votre fichier manifeste Restore passe à Succeeded :

    alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml

Ansible

  1. Créez un fichier manifeste Restore au format suivant :

    • Pour restaurer à partir d'une sauvegarde nommée spécifique :
    Restore:
      metadata:
        name: RESTORE_NAME
      spec:
        sourceDBCluster: DBCLUSTER_NAME
        backup: BACKUP_NAME
    
    • Pour effectuer une restauration à un moment précis :

      Restore:
        metadata:
          name: RESTORE_NAME
        spec:
          sourceDBCluster: DBCLUSTER_NAME
          pointInTime: "TIMESTAMP"
      

    Remplacez les variables suivantes :

    • RESTORE_NAME : nom de ce fichier manifeste Restore. Par exemple, my-restore-1.

    • DBCLUSTER_NAME : nom du cluster de bases de données cible à récupérer sur place.

    • BACKUP_NAME : nom du fichier manifeste Backup terminé à partir duquel effectuer la restauration.

    • TIMESTAMP : code temporel RFC 3339 identifiant le point exact dans le temps auquel effectuer la récupération. Exemple :2026-06-19T14:30:00Z

  2. Créez un playbook pour votre fichier manifeste Restore :

    - name: RESTORE_PLAYBOOK_NAME
      hosts: localhost
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
        - role: google.alloydbomni_orchestrator.restore
    

    Remplacez les variables suivantes :

    • RESTORE_PLAYBOOK_NAME : nom de votre playbook Ansible.

    • ANSIBLE_USER : utilisateur de l'OS qu'Ansible utilise pour se connecter à vos nœuds AlloyDB Omni.

    • ANSIBLE_SSH_PRIVATE_KEY_FILE : clé privée utilisée par Ansible pour se connecter à vos nœuds AlloyDB Omni à l'aide de SSH.

  3. Appliquez votre fichier manifeste Restore :

    ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \
      -e resource_spec="RESTORE_MANIFEST"

    Remplacez les variables suivantes :

    • RESTORE_PLAYBOOK : chemin d'accès au playbook que vous avez créé pour votre fichier manifeste Restore à l'étape 2.

    • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement.

    • RESTORE_MANIFEST : chemin d'accès au fichier de spécification du manifeste Restore que vous avez créé à l'étape 1.

  4. Créez un playbook status.yaml si vous ne l'avez pas déjà fait. Pour savoir comment créer le playbook, consultez Afficher l'état et lister les ressources de sauvegarde.

  5. Vérifiez que status.phase pour votre fichier manifeste Restore passe à Succeeded :

    ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \
      -e resource_name=RESTORE_NAME

Afficher l'état et lister les ressources de sauvegarde

Pour afficher l'état ou la liste de vos ressources BackupPlan, Backup et Restore, utilisez l'une des méthodes suivantes :

alloydbctl

Pour lister toutes les ressources d'un type spécifique, exécutez la commande alloydbctl get :

alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE

Pour afficher l'état d'une ressource spécifique, exécutez la commande alloydbctl get avec le nom de la ressource et le format de sortie défini sur yaml :

alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yaml

Remplacez les variables suivantes :

  • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement.
  • RESOURCE_TYPE : type de ressource. Définissez ce paramètre sur BackupPlan, Backup ou Restore.
  • RESOURCE_NAME : nom de la ressource dont vous souhaitez afficher l'état.

Ansible

Pour afficher l'état des ressources ou les lister à l'aide d'Ansible, utilisez le rôle google.alloydbomni_orchestrator.status.

  1. Créez un playbook, par exemple status.yaml, en utilisant le format suivant :

    - name: Get resource status
      hosts: localhost
      vars:
        ansible_user: ANSIBLE_USER
        ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE
      roles:
      - role: google.alloydbomni_orchestrator.status
    

    Remplacez les variables suivantes :

    • ANSIBLE_USER : utilisateur du système d'exploitation qu'Ansible utilise pour se connecter à vos nœuds.
    • ANSIBLE_SSH_PRIVATE_KEY_FILE : clé privée utilisée par Ansible pour se connecter à vos nœuds à l'aide de SSH.
  2. Exécutez le playbook.

    Pour lister toutes les ressources d'un type spécifique, exécutez le playbook avec la variable resource_type :

    ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE

    Pour afficher l'état d'une ressource spécifique, exécutez le playbook avec les variables resource_type et resource_name :

    ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \
      -e resource_name=RESOURCE_NAME

    Remplacez les variables suivantes :

    • DEPLOYMENT_SPEC_PATH : chemin d'accès à la spécification de déploiement.
    • RESOURCE_TYPE : type de ressource. Définissez ce paramètre sur BackupPlan, Backup ou Restore.
    • RESOURCE_NAME : nom de la ressource dont vous souhaitez afficher l'état.

Limites

  • Si l'état BackupPlan affiche ConfigurationFailed avec failed to create stanza (code de sortie 39), vous pouvez reprendre la réconciliation en accordant le rôle roles/storage.objectAdmin sur le bucket et en réappliquant le fichier manifeste. Il n'est pas nécessaire de supprimer BackupPlan.