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 manifestesBackupPlanavec 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 manifestesBackupPlan.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
Secretcontenant 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
- Créez un compte de service pour ajouter des sauvegardes au bucket.
- Accordez le rôle Identity and Access Management
roles/storage.objectAdminau compte de service dans le bucket. - Générez une clé de compte de service au format JSON.
- Encodez le contenu du fichier de clé JSON téléchargé en base64. Exécutez
base64 -w 0ou assurez-vous que le texte encodé est sur une seule ligne continue. Créez un fichier manifeste de ressource
Secret. Le nom de clé dans la sectiondatadoit êtrekey.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 ressourceSecret.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
- Encodez en base64 l'ID de votre clé d'accès S3.
- Encodez votre clé d'accès secrète S3 en base64.
Créez un fichier manifeste de ressource
Secret. Les noms de clés de la sectiondatadoivent êtreaccess-key-idetaccess-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 ressourceSecret.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 ressourcesSecretque vous avez créé.
Ansible
Pour appliquer le fichier manifeste de ressources Secret à l'aide d'Ansible, procédez comme suit :
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.backupRemplacez 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.
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 ressourceSecret.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 ressourcesSecretque vous avez créé.
Créer un plan de sauvegarde
Créez un fichier manifeste
BackupPlanen utilisant le format de votre option de stockage :Cloud Storage
Le champ
gcsOptionsest 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 manifesteBackupPlan. 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 ressourceSecretqui 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
s3Optionsest 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 manifesteBackupPlan. 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:9000Pour 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 ressourceSecretque vous avez créée précédemment et qui contient votreACCESS_KEY_IDet votreSECRET_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 * * *.
Appliquez le plan de sauvegarde à l'aide de l'une des méthodes suivantes :
alloydbctlAppliquez 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 manifesteBackupPlanque vous avez créé précédemment.
Vérifiez que le champ d'état
status.phasede votre fichier manifesteBackupPlanest défini surReady. 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
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.backupRemplacez les variables suivantes :
BACKUP_PLAN_PLAYBOOK_NAME: nom de votre playbook Ansible. Exemple :My BackupPlanNotez 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.
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 manifesteBackupPlan.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 manifesteBackupPlanque vous avez créé précédemment.
Créez un playbook
status.yamlsi 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.Vérifiez que le champ d'état
status.phasede votre fichier manifesteBackupPlanest défini surReady. 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.
Ouvrez le fichier manifeste
BackupPlanque vous avez créé dans Créer un plan de sauvegarde.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 sectionspecet définissez-le surtrue. Pour reprendre les sauvegardes, définissez le champ surfalseou supprimez-le.
Par exemple, l'exemple suivant met à jour le nombre de jours de conservation sur
30, modifie les planningsfulletdifferential, ajoute un planningincrementalet 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- Pour mettre à jour les plannings de sauvegarde, modifiez les expressions cron sous
Appliquez le plan de sauvegarde mis à jour à l'aide de l'une des méthodes suivantes :
alloydbctlAppliquez 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 manifesteBackupPlanque vous avez modifié.
Vérifiez que le champ d'état
status.phasede votre fichier manifesteBackupPlanest défini surReady. 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
Appliquez votre ressource
BackupPlanmise à 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 manifesteBackupPlan.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 manifesteBackupPlanque vous avez modifié.
Créez un playbook
status.yamlsi 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.Vérifiez que le champ d'état
status.phasede votre fichier manifesteBackupPlanest défini surReady. 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_NAMERemplacez 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 manifesteBackupPlanà supprimer.
Ansible
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.deleteRemplacez 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.
Exécutez
ansible-playbookpour supprimer le fichier manifesteBackupPlan.ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAMERemplacez les variables suivantes :
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: chemin d'accès au playbook que vous avez créé pour supprimer le fichier manifesteBackupPlanà 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 manifesteBackupPlanà supprimer.
Créer une sauvegarde
Pour créer et lancer une sauvegarde, utilisez l'une des méthodes suivantes :
alloydbctl
Créez un fichier manifeste
Backupau format suivant :Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullRemplacez les variables suivantes :
BACKUP_NAME: nom du fichier manifesteBackup. Par exemple,my-backup-1.BACKUP_PLAN_NAME: nom du fichier manifesteBackupPlanque 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 surfull,diffouincr. La valeur par défaut estfull.
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 manifesteBackupque vous avez créé précédemment.
Vérifiez que le champ d'état
status.phasede votre fichier manifesteBackupest défini surSucceeded. 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 yamlVérifiez que les fichiers de sauvegarde sont disponibles dans votre bucket en vérifiant si le dossier
/backup/dbexiste.
Ansible
Créez un fichier manifeste
Backupau format suivant :Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullRemplacez les variables suivantes :
BACKUP_NAME: nom du fichier manifesteBackup. Par exemple,my-backup-1.BACKUP_PLAN_NAME: nom du fichier manifesteBackupPlanque 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 surfull,diffouincr. La valeur par défaut estfull.
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.backupRemplacez les variables suivantes :
BACKUP_PLAYBOOK_NAME: nom de votre playbook Ansible. Exemple :My BackupANSIBLE_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.
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 manifesteBackupcréé 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 manifesteBackupque vous avez créé précédemment.
Créez un playbook
status.yamlsi 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.Vérifiez que le champ d'état
status.phasede votre fichier manifesteBackupest défini surSucceeded. 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_NAMEVérifiez que les fichiers de sauvegarde sont disponibles dans votre bucket en vérifiant si le dossier
/backup/dbexiste.
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_NAMERemplacez 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 manifesteBackupà supprimer.
Ansible
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.deleteRemplacez 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.
Exécutez
ansible-playbookpour supprimer le fichier manifesteBackup.ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMERemplacez les variables suivantes :
BACKUP_DELETE_PLAYBOOK: chemin d'accès au playbook que vous avez créé pour supprimer le fichier manifesteBackupà 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 manifesteBackupà 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
Créez un fichier manifeste
Restoreau format suivant :- Pour restaurer à partir d'une sauvegarde nommée spécifique :
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEPour 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 manifesteRestore. 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 manifesteBackupterminé à 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
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 manifesteRestoreque vous avez créé à l'étape 1.
Vérifiez que
status.phasepour votre fichier manifesteRestorepasse àSucceeded:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml
Ansible
Créez un fichier manifeste
Restoreau format suivant :- Pour restaurer à partir d'une sauvegarde nommée spécifique :
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEPour 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 manifesteRestore. 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 manifesteBackupterminé à 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
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.restoreRemplacez 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.
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 manifesteRestoreà 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 manifesteRestoreque vous avez créé à l'étape 1.
Créez un playbook
status.yamlsi 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.Vérifiez que
status.phasepour votre fichier manifesteRestorepasse à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_TYPEPour 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 yamlRemplacez 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 surBackupPlan,BackupouRestore.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.
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.statusRemplacez 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.
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_TYPEPour afficher l'état d'une ressource spécifique, exécutez le playbook avec les variables
resource_typeetresource_name:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \ -e resource_name=RESOURCE_NAMERemplacez 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 surBackupPlan,BackupouRestore.RESOURCE_NAME: nom de la ressource dont vous souhaitez afficher l'état.
Limites
- Si l'état
BackupPlanafficheConfigurationFailedavecfailed to create stanza(code de sortie39), vous pouvez reprendre la réconciliation en accordant le rôleroles/storage.objectAdminsur le bucket et en réappliquant le fichier manifeste. Il n'est pas nécessaire de supprimerBackupPlan.