alloydbctl y Ansible para
aplicar estos parámetros de configuración de manifiestos y automatizar las copias de seguridad en Cloud Storage,
buckets de Amazon S3 estándar o software compatible con S3, como MinIO.
Para habilitar la copia de seguridad y la recuperación continuas de AlloyDB Omni, debes crear un plan de copia de seguridad para cada clúster de base de datos. Las copias de seguridad se realizan según los programas de copias de seguridad definidos en el recurso BackupPlan. Puedes restablecer con un recurso de copia de seguridad o cualquier marca de tiempo en la ventana de recuperación con un nivel de detalle de segundos.
AlloyDB Omni administra las copias de seguridad y la recuperación automáticas a través de manifiestos:
BackupPlan: Cada clúster de base de datos puede tener uno o más manifiestos deBackupPlancon diferentes configuraciones y programaciones en los distintos niveles de copias de seguridad.Backup: inicia copias de seguridad completas, diferenciales o incrementales según tus manifiestos deBackupPlan.Restore: Inicia un restablecimiento in situ de tu clúster de base de datos con una copia de seguridad específica o un momento determinado.
Antes de comenzar
Antes de configurar tu plan de copias de seguridad, asegúrate de tener lo siguiente:
Una ubicación de almacenamiento para tus copias de seguridad: AlloyDB Omni almacena las copias de seguridad en una de las siguientes opciones de almacenamiento:
- Cloud Storage: Es un bucket de Cloud Storage. Para obtener información sobre cómo crear buckets, consulta Crea un bucket.
- Amazon S3: Un bucket de Amazon S3. Para obtener información sobre cómo crear buckets de S3, consulta Crea un bucket.
- Almacenamiento compatible con S3: Un bucket en software compatible con S3, como MinIO. Para obtener información sobre cómo crear buckets de MinIO, consulta la documentación de MinIO.
Credenciales de autenticación: Si tu opción de almacenamiento requiere claves de autenticación, como Amazon S3, MinIO o Cloud Storage con una cuenta de servicio específica, debes crear un recurso
Secretque contenga estas credenciales antes de crear el plan de copias de seguridad. Para obtener instrucciones, consulta Crea un recurso Secret para autenticar el almacenamiento.
Crea un recurso Secret para autenticar el almacenamiento
Si el almacenamiento que usas requiere autenticación, debes crear un recurso Secret antes de crear el plan de copia de seguridad.
Crea un recurso Secret para Cloud Storage
- Crea una cuenta de servicio para agregar copias de seguridad al bucket.
- Otorga el rol de Identity and Access Management de
roles/storage.objectAdmina la cuenta de servicio en el bucket. - Genera una clave de cuenta de servicio en formato JSON.
- Codifica el contenido del archivo de claves JSON descargado en Base64. Ejecuta
base64 -w 0o asegúrate de que el texto codificado sea una sola línea continua. Crea un manifiesto de recursos
Secret. El nombre de la clave en la seccióndatadebe serkey.json.Secret: metadata: name: SECRET_NAME spec: type: Opaque data: key.json: "BASE64_ENCODED_JSON_KEY"Reemplaza lo siguiente:
SECRET_NAME: Es el nombre de tu recursoSecret.BASE64_ENCODED_JSON_KEY: es el contenido codificado en Base64 del archivo de claves JSON de tu cuenta de servicio.
Crea un recurso Secret para el almacenamiento compatible con S3 o S3
- Codifica tu ID de clave de acceso de S3 en base64.
- Codifica tu clave de acceso secreta de S3 en base64.
Crea un manifiesto de recursos
Secret. Los nombres de las claves en la seccióndatadeben seraccess-key-idyaccess-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"Reemplaza lo siguiente:
SECRET_NAME: Es el nombre de tu recursoSecret.BASE64_ENCODED_ACCESS_KEY_ID: es el ID de la clave de acceso de S3 codificado en Base64.BASE64_ENCODED_SECRET_ACCESS_KEY: es la clave de acceso secreta de S3 codificada en Base64.
Aplica el recurso de Secret
Aplica el manifiesto del recurso Secret antes de aplicar el manifiesto BackupPlan.
Puedes aplicar el manifiesto de recursos Secret con cualquiera de los siguientes métodos:
alloydbctl
Para aplicar el manifiesto de recursos Secret con alloydbctl, ejecuta el siguiente comando:
alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"Reemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala los componentes de AlloyDB Omni.SECRET_MANIFEST: Ruta de acceso al manifiesto de recursosSecretque creaste.
Ansible
Para aplicar el manifiesto del recurso Secret con Ansible, completa los siguientes pasos:
Crea una guía para el manifiesto de recursos de
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.backupReemplaza las siguientes variables:
ANSIBLE_USER: Es el usuario del SO que Ansible usa para acceder a tus nodos de AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: Es la clave privada que usa Ansible para conectarse a tus nodos de AlloyDB Omni a través de SSH.
Aplica el manifiesto de recursos
Secret:ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="SECRET_MANIFEST"Reemplaza las siguientes variables:
SECRET_PLAYBOOK: Ruta de acceso al manual que creaste para el manifiesto de recursosSecret.DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala los componentes de AlloyDB Omni.SECRET_MANIFEST: Ruta de acceso al manifiesto de recursosSecretque creaste.
Crear un plan de creación de copias de seguridad
Crea un manifiesto
BackupPlancon el formato de tu opción de almacenamiento:Cloud Storage
El campo
gcsOptionses obligatorio.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"Reemplaza las siguientes variables:
BACKUP_PLAN_NAME: Es el nombre del manifiesto deBackupPlan. Por ejemplo,my-backup-plan-1.DBCLUSTER_NAME: Es el nombre del clúster de la base de datos que definiste en Crea un clúster.BUCKET_NAME: Nombre del bucket de Cloud Storage que creaste.BUCKET_PATH: Ruta de acceso al directorio en Cloud Storage en el que se deben escribir las copias de seguridad. Debes proporcionar una ruta de acceso absoluta que comience con/. Por ejemplo,/backups.SECRET_NAME(opcional): Es el nombre del recurso deSecretque almacena las claves de autenticación.RETAIN_DAYS(Opcional): Es la cantidad de días que se conservarán las copias de seguridad antes de que se borren automáticamente.FULL_SCHEDULE(opcional): Es la expresión de programación cron para las copias de seguridad completas. Por ejemplo,0 2 * * *.DIFF_SCHEDULE(opcional): Es la expresión de programa cron para las copias de seguridad diferenciales. Por ejemplo,0 2 * * *.INC_SCHEDULE(opcional): Es la expresión de programación cron para las copias de seguridad incrementales. Por ejemplo,0 2 * * *.
Amazon S3 o compatible con S3
El campo
s3Optionses obligatorio.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"Reemplaza las siguientes variables:
BACKUP_PLAN_NAME: Es el nombre del manifiesto deBackupPlan. Por ejemplo,my-backup-plan-1.DBCLUSTER_NAME: Es el nombre del clúster de la base de datos que definiste en Crea un clúster.BUCKET_NAME: es el nombre del bucket de S3 que creaste.BUCKET_PATH: es la ruta de acceso al directorio en el bucket de S3 en el que se deben escribir las copias de seguridad. Debes proporcionar una ruta de acceso absoluta que comience con/. Por ejemplo:/backups.ENDPOINT_URL: Es la URL del extremo personalizado para conectarse a un software compatible con S3, como MinIO. Por ejemplo,http://minio.example.com:9000En el caso de los buckets de Amazon S3, no es necesario que proporciones ninguna URL de extremo.REGION_(opcional): Región del bucket de almacenamiento. Es obligatorio cuando te conectas a buckets estándar de Amazon S3 o a software compatible con S3 en el que se aplica la validación de la región.SECRET_NAME: Es una referencia a un recursoSecretque creaste antes y que contiene tuACCESS_KEY_IDySECRET_ACCESS_KEY.RETAIN_DAYS(Opcional): Es la cantidad de días que se conservarán las copias de seguridad antes de que se borren automáticamente.FULL_SCHEDULE(opcional): Es la expresión de programación cron para las copias de seguridad completas. Por ejemplo,0 2 * * *.DIFF_SCHEDULE(opcional): Es la expresión de programa cron para las copias de seguridad diferenciales. Por ejemplo,0 2 * * *.INC_SCHEDULE(opcional): Es la expresión de programación cron para las copias de seguridad incrementales. Por ejemplo,0 2 * * *.
Aplica el plan de copia de seguridad con cualquiera de los siguientes métodos:
alloydbctlAplica tu recurso
BackupPlan:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"Reemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala los componentes de AlloyDB Omni.BACKUP_PLAN_MANIFEST: Es la ruta de acceso al manifiestoBackupPlanque creaste antes.
Confirma que el campo de estado,
status.phase, para tu manifiesto deBackupPlanseaReady. Si el manifiesto no está listo, espera hasta que lo esté:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
Crea una guía para tu manifiesto de
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.backupReemplaza las siguientes variables:
BACKUP_PLAN_PLAYBOOK_NAME: Es el nombre de tu playbook de Ansible. Por ejemplo,My BackupPlanAnota la ruta de acceso al playbook, ya que la necesitarás en el siguiente paso.ANSIBLE_USER: Nombre del usuario del SO que Ansible usa para acceder a tus nodos de AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: Es la clave privada que Ansible usa para conectarse a tus nodos de AlloyDB Omni con SSH.
Aplica tu recurso
BackupPlan:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"Reemplaza las siguientes variables:
BACKUP_PLAN_PLAYBOOK: es la ruta de acceso a la guía que creaste para tu manifiesto deBackupPlananteriormente.DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala los componentes de AlloyDB Omni.BACKUP_PLAN_MANIFEST: Es la ruta de acceso al manifiesto deBackupPlanque creaste antes.
Si aún no lo hiciste, crea una guía de
status.yaml. Para obtener información sobre cómo crear el manual, consulta Cómo ver el estado y enumerar los recursos de copia de seguridad.Confirma que el campo de estado,
status.phase, para tu manifiesto deBackupPlanseaReady. Si el manifiesto no está listo, espera hasta que lo esté:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
Actualiza un plan de copia de seguridad
Para actualizar un plan de copia de seguridad y cambiar la programación de la copia de seguridad, modificar el período de retención o pausar las copias de seguridad programadas, modifica el manifiesto BackupPlan y, luego, vuelve a aplicarlo.
Abre el manifiesto
BackupPlanque creaste en Crea un plan de copia de seguridad.Modifica los campos que deseas actualizar.
- Para actualizar los programas de copia de seguridad, modifica las expresiones cron en
backupSchedules. - Para actualizar el período de retención, modifica
backupRetainDays. - Para pausar las copias de seguridad programadas, agrega el campo
pauseda la secciónspecy configúralo comotrue. Para reanudar las copias de seguridad, configura el campo comofalseo quítalo.
Por ejemplo, en el siguiente ejemplo, se actualizan los días de retención a
30, se modifican los programasfullydifferential, se agrega un programaincrementaly se pausa el plan de copia de seguridad: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- Para actualizar los programas de copia de seguridad, modifica las expresiones cron en
Aplica el plan de copia de seguridad actualizado con cualquiera de los siguientes métodos:
alloydbctlAplica tu recurso
BackupPlan:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"Reemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala los componentes de AlloyDB Omni.BACKUP_PLAN_MANIFEST: Es la ruta de acceso al manifiesto deBackupPlanque modificaste.
Confirma que el campo de estado,
status.phase, de tu manifiesto deBackupPlanseaReady. Si el manifiesto no está listo, espera hasta que lo esté:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
Aplica el recurso
BackupPlanactualizado con la guía que creaste en Crea un plan de creación de copias de seguridad:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"Reemplaza las siguientes variables:
BACKUP_PLAN_PLAYBOOK: es la ruta de acceso a la guía que creaste para tu manifiesto deBackupPlan.DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala los componentes de AlloyDB Omni.BACKUP_PLAN_MANIFEST: Es la ruta de acceso al manifiesto deBackupPlanque modificaste.
Crea una guía de
status.yamlsi aún no lo hiciste. Para obtener información sobre cómo crear la guía, consulta Visualiza el estado y enumera los recursos de copia de seguridad.Confirma que el campo de estado,
status.phase, para tu manifiesto deBackupPlanseaReady. Si el manifiesto no está listo, espera hasta que lo esté antes de la verificación:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
Borra un plan de copia de seguridad
Para borrar un plan de copia de seguridad, usa uno de los siguientes métodos:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAMEReemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de Deployment que creaste en Instala los componentes de AlloyDB Omni.BACKUP_PLAN_NAME: Es el nombre del manifiesto deBackupPlanque se borrará.
Ansible
Crea una guía para borrar el manifiesto
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.deleteReemplaza las siguientes variables:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: Es el nombre de tu playbook de Ansible.ANSIBLE_USER: Es el usuario del SO que Ansible usa para acceder a tus nodos de AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: Es la clave privada que Ansible usa para conectarse a tus nodos de AlloyDB Omni con SSH.
Ejecuta
ansible-playbookpara borrar el manifiestoBackupPlan.ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAMEReemplaza las siguientes variables:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: Es la ruta de acceso al playbook que creaste para borrar el manifiesto deBackupPlanen el paso anterior.DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala los componentes de AlloyDB Omni.BACKUP_PLAN_NAME: Es el nombre del manifiesto deBackupPlanque se borrará.
Crear una copia de seguridad
Para crear e iniciar una copia de seguridad, usa uno de los siguientes métodos:
alloydbctl
Crea un manifiesto
Backupcon el siguiente formato:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullReemplaza las siguientes variables:
BACKUP_NAME: Es el nombre del manifiesto deBackup. Por ejemplo,my-backup-1.BACKUP_PLAN_NAME: Es el nombre del manifiesto deBackupPlanque creaste antes. Por ejemplo,my-backup-plan-1.DBCLUSTER_NAME: Es el nombre del clúster de base de datos que definiste en Crea un clúster.type(opcional): Es el tipo de ejecución de la copia de seguridad que se puede establecer enfull,diffoincr. El valor predeterminado esfull.
Aplica tu manifiesto
Backup:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"Reemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala los componentes de AlloyDB Omni.BACKUP_MANIFEST: Es la ruta de acceso al manifiestoBackupque creaste antes.
Confirma que el campo de estado,
status.phase, para tu manifiestoBackupseaSucceeded. Si el manifiesto no se completó correctamente, espera hasta que se complete:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yamlPara confirmar que los archivos de copia de seguridad están disponibles en tu bucket, verifica si existe la carpeta
/backup/db.
Ansible
Crea un manifiesto
Backupcon el siguiente formato:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: fullReemplaza las siguientes variables:
BACKUP_NAME: Es el nombre del manifiesto deBackup. Por ejemplo,my-backup-1.BACKUP_PLAN_NAME: Es el nombre del manifiesto deBackupPlanque creaste antes. Por ejemplo,my-backup-plan-1.DBCLUSTER_NAME: Es el nombre del clúster de la base de datos que definiste en Crea un clúster.type(opcional): Es el tipo de ejecución de la copia de seguridad que se puede establecer enfull,diffoincr. El valor predeterminado esfull.
Crea una guía para tu manifiesto de
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.backupReemplaza las siguientes variables:
BACKUP_PLAYBOOK_NAME: Es el nombre de tu guía de Ansible. Por ejemplo,My BackupANSIBLE_USER: Es el nombre del usuario del SO que Ansible usa para acceder a tus nodos de AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: Es la clave privada que usa Ansible para conectarse a tus nodos de AlloyDB Omni a través de SSH.
Aplica tu manifiesto
Backup:ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_MANIFEST"Reemplaza las siguientes variables:
BACKUP_PLAYBOOK: Es la ruta de acceso al manual que creaste para el manifiesto deBackupque creaste antes.DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación que creaste en Instala componentes de AlloyDB Omni.BACKUP_MANIFEST: Es la ruta de acceso al manifiesto deBackupque creaste antes.
Si aún no lo hiciste, crea una guía de
status.yaml. Para obtener información sobre cómo crear el manual, consulta Cómo ver el estado y enumerar los recursos de copia de seguridad.Confirma que el campo de estado,
status.phase, para tu manifiestoBackupseaSucceeded. Si el manifiesto no se completó correctamente, espera hasta que lo haga antes de la verificación:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEPara confirmar que los archivos de copia de seguridad están disponibles en tu bucket, verifica si existe la carpeta
/backup/db.
Borrar una copia de seguridad
Para borrar una copia de seguridad, ejecuta uno de los siguientes comandos:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAMEReemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Ruta de acceso a la especificación de implementación que creaste en Instala componentes de AlloyDB Omni.BACKUP_NAME: Es el nombre del manifiesto deBackupque se borrará.
Ansible
Crea una guía para borrar el manifiesto
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.deleteReemplaza las siguientes variables:
BACKUP_DELETE_PLAYBOOK_NAME: Nombre de tu playbook de Ansible.ANSIBLE_USER: Es el usuario del SO que Ansible usa para acceder a tus nodos de AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: Es la clave privada que Ansible usa para conectarse a tus nodos de AlloyDB Omni con SSH.
Ejecuta
ansible-playbookpara borrar el manifiestoBackup.ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAMEReemplaza las siguientes variables:
BACKUP_DELETE_PLAYBOOK: Es la ruta de acceso al playbook que creaste para borrar el manifiesto deBackupen el paso anterior.DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de Deployment que creaste en Instala los componentes de AlloyDB Omni.BACKUP_NAME: es el nombre del manifiesto deBackupque se borrará.
Restablece desde una copia de seguridad o un momento determinado (PITR)
Para restablecer datos a partir de una copia de seguridad, aplica un manifiesto de Restore. El organizador de RPM
realiza la recuperación in situ, lo que modifica directamente el clúster de la base de datos de destino
sin iniciar un clúster clonado ni requerir la ejecución manual de secuencias de comandos.
Para restablecer desde una copia de seguridad, usa uno de los siguientes métodos:
alloydbctl
Crea un manifiesto
Restorecon el siguiente formato:- Para restablecer desde una ejecución de copia de seguridad con nombre específico, haz lo siguiente:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEPara realizar una recuperación de un momento determinado (PITR), sigue estos pasos:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
Reemplaza las siguientes variables:
RESTORE_NAME: Es el nombre de este manifiesto deRestore. Por ejemplo,my-restore-1.DBCLUSTER_NAME: Es el nombre del clúster de la base de datos de destino que se recuperará in situ.BACKUP_NAME: Nombre del manifiesto deBackupcompletado desde el que se restablecerá.TIMESTAMP: Marca de tiempo RFC 3339 que identifica el punto exacto en el tiempo al que se debe recuperar. Por ejemplo,2026-06-19T14:30:00Z
Aplica tu manifiesto
Restore:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"Reemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de Deployment que creaste en Instala los componentes de AlloyDB Omni.RESTORE_MANIFEST: Ruta de acceso al archivo de especificación del manifiestoRestoreque creaste en el paso 1.
Confirma que
status.phasepara tu manifiestoRestorecambie aSucceeded:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml
Ansible
Crea un manifiesto
Restorecon el siguiente formato:- Para restablecer desde una ejecución de copia de seguridad con nombre específico, haz lo siguiente:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAMEPara realizar una recuperación de un momento determinado (PITR), sigue estos pasos:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
Reemplaza las siguientes variables:
RESTORE_NAME: Es el nombre de este manifiesto deRestore. Por ejemplo,my-restore-1.DBCLUSTER_NAME: Es el nombre del clúster de la base de datos de destino que se recuperará in situ.BACKUP_NAME: Nombre del manifiesto deBackupcompletado desde el que se restablecerá.TIMESTAMP: Marca de tiempo RFC 3339 que identifica el punto exacto en el tiempo al que se debe recuperar. Por ejemplo,2026-06-19T14:30:00Z
Crea una guía para tu manifiesto de
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.restoreReemplaza las siguientes variables:
RESTORE_PLAYBOOK_NAME: Es el nombre de tu playbook de Ansible.ANSIBLE_USER: Es el usuario del SO que Ansible usa para acceder a tus nodos de AlloyDB Omni.ANSIBLE_SSH_PRIVATE_KEY_FILE: Es la clave privada que Ansible usa para conectarse a tus nodos de AlloyDB Omni con SSH.
Aplica tu manifiesto
Restore:ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="RESTORE_MANIFEST"Reemplaza las siguientes variables:
RESTORE_PLAYBOOK: Es la ruta de acceso a la guía que creaste para tu manifiesto deRestoreen el paso 2.DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de implementación.RESTORE_MANIFEST: es la ruta de acceso al archivo de especificación del manifiesto deRestoreque creaste en el paso 1.
Si aún no lo hiciste, crea una guía de
status.yaml. Para obtener información sobre cómo crear el manual, consulta Cómo ver el estado y enumerar los recursos de copia de seguridad.Confirma que
status.phasepara tu manifiestoRestorecambie aSucceeded:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \ -e resource_name=RESTORE_NAME
Visualiza el estado y enumera los recursos de copia de seguridad
Para ver el estado de tus recursos BackupPlan, Backup y Restore, o para enumerarlos, usa cualquiera de los siguientes métodos:
alloydbctl
Para enumerar todos los recursos de un tipo específico, ejecuta el comando alloydbctl get:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPEPara ver el estado de un recurso específico, ejecuta el comando alloydbctl get con el nombre del recurso y el formato de salida establecido en yaml:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yamlReemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de Deployment.RESOURCE_TYPE: Es el tipo de recurso. Configura esto comoBackupPlan,BackupoRestore.RESOURCE_NAME: Es el nombre del recurso cuyo estado deseas ver.
Ansible
Para ver el estado de los recursos o enumerarlos con Ansible, usa el rol google.alloydbomni_orchestrator.status.
Crea una guía, por ejemplo,
status.yaml, con el siguiente formato:- 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.statusReemplaza las siguientes variables:
ANSIBLE_USER: Es el usuario del SO que Ansible usa para acceder a tus nodos.ANSIBLE_SSH_PRIVATE_KEY_FILE: Es la clave privada que Ansible usa para conectarse a tus nodos con SSH.
Ejecuta la guía.
Para enumerar todos los recursos de un tipo específico, ejecuta el playbook con la variable
resource_type:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPEPara ver el estado de un recurso específico, ejecuta la guía con las variables
resource_typeyresource_name:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \ -e resource_name=RESOURCE_NAMEReemplaza las siguientes variables:
DEPLOYMENT_SPEC_PATH: Es la ruta de acceso a la especificación de Deployment.RESOURCE_TYPE: Es el tipo de recurso. Configura esto comoBackupPlan,BackupoRestore.RESOURCE_NAME: Es el nombre del recurso cuyo estado deseas ver.
Limitaciones
- Si un estado de
BackupPlanmuestraConfigurationFailedconfailed to create stanza(código de salida39), puedes reanudar la conciliación otorgando el rolroles/storage.objectAdminen el bucket y volviendo a aplicar el manifiesto. No es necesario borrar elBackupPlan.