Configuration des sauvegardes de base de données de gestion

Configurez votre sous-système de gestion pour effectuer des sauvegardes de base de données planifiées régulières et activez les sauvegardes de base de données à la demande.

A propos de cette tâche

  • La commande apicup permet de configurer les paramètres de sauvegarde de base de données pour le sous-système de gestion.
  • Les sauvegardes de base de données peuvent être planifiées ou générées manuellement (à la demande).
  • Vous devez sauvegarder simultanément les bases de données de gestion et de portail pour garantir la synchronisation entre les services.
  • Vous devez disposer d'un serveur SFTP distant ou d'une librairie S3-compatible disponible pour stocker vos sauvegardes de base de données de gestion.

    L'authentification par clé OpenSSH pour SFTP est prise en charge.

    Types de librairies pris en charge:
    • IBM Cloud Object Storage.
    • AWS S3.
    • Tout S3personnalisé, tel que minIO.

  • Le certificat public sur le fournisseur de magasin d'objets doit être signé par une autorité de certification connue et reconnue par votre sous-système de gestion. L'utilisation d'une autorité non sécurisée peut provoquer l'erreur suivante lors du téléchargement de la sauvegarde: x509: certificate signed by unknown authority.
  • La restauration d'une sauvegarde de base de données restaure les données d'identification d'enregistrement (client_ID, client_secret) qui étaient utilisées au moment de la création de la sauvegarde sélectionnée. Pour plus d'informations sur les données d'identification d'enregistrement, voir Modification des valeurs client_id et client_secret d'enregistrement pour les applications.
  • Vous pouvez modifier les paramètres de sauvegarde à tout moment, mais si vous modifiez les paramètres database-backup-auth-user ou database-backup-auth-pass , vous devez exécuter:
    apicup subsys db-reload <subsystem_name>
    après l'application des nouveaux paramètres avec:
    apicup subsys install <subsystem_name>
Important: Une sauvegarde de base de données de gestion seule ne peut pas être utilisée pour la reprise après incident. Vérifiez également que vous disposez toujours d'une sauvegarde de répertoire de projetà jour.

Procédure

  1. Utilisez apicup pour spécifier les paramètres de sauvegarde:
    apicup subsys set <subsystem_name> <setting>=<value>
    Tableau 1. Paramètres de configuration pour la sauvegarde de base de données du sous-système de gestion
    Paramètre Description
    database-backup-auth-pass Mot de passe ou clé d'accès du serveur SFTP ou de la librairie que vous avez spécifié dans database-backup-host. Le mot de passe est converti et stocké au format codé Base64 .

    Par exemple :

    apicup subsys set <subsystem_name> database-backup-auth-pass '<password>'
    
    Remarque: Vous ne pouvez pas utiliser le signe `=` pour affecter le mot de passe à database-backup-auth-pass.
    Si vous modifiez cette valeur ultérieurement, pour appliquer la modification, vous devez exécuter
    apicup subsys db-reload <subsystem_name>
    Une fois que vous avez exécuté :
    apicup subsys install <subsystem_name>
    database-backup-auth-ssh-key

    S'applique à SFTP uniquement.

    Clé privée OpenSSH . La modification de cette valeur redémarre la base de données de gestion.

    Important :
    • Utilisez apicup certs pour définir cette valeur. N'utilisez pas apicup subsys.
    • Seules les clés OpenSSH sont prises en charge.1
    apicup certs set <subsystem_name> database-backup-auth-ssh-key <ssh private key filepath>
    database-backup-auth-user Nom d'utilisateur ou ID de clé secrète pour l'hôte que vous spécifiez dans database-backup-host.
    apicup subsys set <subsystem_name> database-backup-auth-user <username>
    
    Si vous modifiez cette valeur ultérieurement, pour appliquer la modification, vous devez exécuter
    apicup subsys db-reload <subsystem_name>
    Une fois que vous avez exécuté :
    apicup subsys install <subsystem_name>
    database-backup-host

    Non requis si database-backup-protocol=local.

    Indiquez le nom d'hôte du serveur SFTP ou le noeud final de magasin d'objets avec la région de magasin d'objets correspondante au format <S3endpoint>/<S3region>. Exemples :
    • apicup subsys set <subsystem_name> database-backup-host=sftp.example.com
    • apicup subsys set <subsystem_name> database-backup-host=s3.ibm.com/eu-west-2
    • apicup subsys set <subsystem_name> database-backup-host=s3.eu-gb.cloud-object-storage.appdomain.cloud/eu-standard
    database-backup-path

    Non requis si database-backup-protocol=local.

    Chemin d'accès à l'emplacement de la sauvegarde.
    • SFTP: chemin d'accès absolu du dossier sur le serveur SFTP, commençant par /.
      apicup subsys set mgmt database-backup-path=<full path to backups directory>
    • Conteneur d'objets: compartiment de votre conteneur d'objets, au format bucket-name/folder. L'utilisation de sous-répertoires dans le nom de compartiment n'est pas prise en charge.

      Vérifiez que le compartiment est vide.

      Lorsque votre déploiement inclut un sous-système de gestion dans deux clusters différents (avec des bases de données actives), les deux sous-systèmes de gestion ne peuvent pas utiliser le même nom de compartiment de magasin d'objets dans les configurations de sauvegarde de base de données. Chaque sous-système de gestion doit utiliser un nom de compartiment de magasin d'objets unique.

      apicup subsys set <subsystem_name> database-backup-path=<bucket-name/folder>
    database-backup-port

    S'applique à SFTP uniquement.

    Port du protocole permettant de se connecter à database-backup-host. La valeur par défaut est 22.
    apicup subsys set mgmt database-backup-port=<port_number>
    database-backup-protocol

    Définissez la valeur sur objstore, sftpou local.

    La valeur par défaut est local.

    apicup subsys set <subsystem_name> database-backup-protocol=<protocol>
    database-backup-schedule
    Planification cron pour l'exécution des sauvegardes de base de données. Le format de la planification est le suivant :
    * * * * * *
    - - - - - -
    | | | | | |
    | | | | | +----- day of week (0 - 6) (Sunday=0)
    | | | | +------- month (1 - 12)
    | | | +--------- day of month (1 - 31)
    | | +----------- hour (0 - 23)
    | +------------- min (0 - 59)
    +-------------- sec (0 - 59)

    La valeur par défaut est une chaîne vide, ce qui signifie qu'aucune sauvegarde n'est effectuée.

    Le fuseau horaire des sauvegardes est UTC.

    Cet exemple planifie l'exécution d'une sauvegarde tous les jours à 01:00:
    apicup subsys set <subsystem_name> database-backup-schedule="0 0 1 * * *"
    database-backup-certs

    S'applique uniquement à la librairie.

    Si votre magasin d'objets possède un certificat d'autorité de certification personnalisé, vous devez configurer votre sous-système de gestion pour qu'il fasse confiance à ce certificat.

    1. Pour créer un secret du certificat personnalisé, exécutez l'une des commandes suivantes :
      Important : utilisez apicup certs pour définir cette valeur. Ne pas utiliser apicup subsys.
      ./apicup certs set <mgmt subsystem> database-backup-custom-credential --encoded-string <base64 encoding of the custom certificate file>
      Ou
      ./apicup certs set <mgmt subsystem> database-backup-custom-credential <path-to-custom-cert-file>
    2. Pour créer le secret, exécutez la commande suivante :
      ./apicup subsys install 
    database-backup-s3-uri-style

    S'applique uniquement à la librairie.

    Facultatif : indique si l'URI est au format host ou path.
    apicup subsys set <subsystem_name> database-backup-s3-uri-style='<host|path>'

    Valeurs prises en charge :

    • host
    • path
    database-backup-repo-retention-full

    Nombre de jours de sauvegarde à conserver.

    Par exemple, si database-backup-repo-retention-full est défini sur 30, les sauvegardes des 30 derniers jours sont conservées. Les sauvegardes plus anciennes sont supprimées.

    Après une restauration, le décompte du nombre de jours est remis à zéro.

    Valeur minimale: 1 Valeur maximale: 9999999 Valeur par défaut: aucune

  2. Vérifiez que la validation des paramètres de sauvegarde a abouti:
    • Pour afficher tous les paramètres de sous-système à l'exception de database-backup-auth-ssh-key:
      apicup subsys get <subsystem name> --validate
    • Pour afficher database-backup-auth-ssh-key:
      apicup certs get <subsystem name> database-backup-auth-ssh-key --type key
    Si vous configurez les paramètres de sauvegarde avant l'installation, ignorez les étapes restantes et poursuivez le processus d'installation. Vérifiez que vos sauvegardes fonctionnent après l'installation.

  3. Appliquez les paramètres :
    apicup subsys install <subsystem name>
  4. Vérifiez que les modifications ont été appliquées correctement :
    apicup subsys health-check <subsystem name>
  5. Effectuez une nouvelle sauvegarde de votre répertoire de projet.

    Vos paramètres de configuration de sauvegarde sont stockés dans votre répertoire de projet. Effectuez une nouvelle sauvegarde de votre répertoire de projet chaque fois que vous mettez à jour vos paramètres de sauvegarde ou effectuez d'autres mises à jour de configuration à l'aide de la commande apicup .

  6. Vérifiez que vos paramètres de sauvegarde sont corrects en effectuant une sauvegarde à la demande : Exécuter une sauvegarde à la demande de la base de données de gestion.