Crea copias de seguridad y restablece datos con RPM Orchestrator

Selecciona una versión de la documentación:

Para proteger tus datos, AlloyDB Omni proporciona copias de seguridad y recuperación de datos automáticas con manifiestos declarativos. El organizador de AlloyDB Omni funciona con 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 de BackupPlan con 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 de BackupPlan.
  • 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 Secret que 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

  1. Crea una cuenta de servicio para agregar copias de seguridad al bucket.
  2. Otorga el rol de Identity and Access Management de roles/storage.objectAdmin a la cuenta de servicio en el bucket.
  3. Genera una clave de cuenta de servicio en formato JSON.
  4. Codifica el contenido del archivo de claves JSON descargado en Base64. Ejecuta base64 -w 0 o asegúrate de que el texto codificado sea una sola línea continua.
  5. Crea un manifiesto de recursos Secret. El nombre de la clave en la sección data debe ser key.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 recurso Secret.
    • 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

  1. Codifica tu ID de clave de acceso de S3 en base64.
  2. Codifica tu clave de acceso secreta de S3 en base64.
  3. Crea un manifiesto de recursos Secret. Los nombres de las claves en la sección data deben ser access-key-id y 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"
    

    Reemplaza lo siguiente:

    • SECRET_NAME: Es el nombre de tu recurso Secret.
    • 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 recursos Secret que creaste.

Ansible

Para aplicar el manifiesto del recurso Secret con Ansible, completa los siguientes pasos:

  1. 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.backup
    

    Reemplaza 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.
  2. 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 recursos Secret.
    • 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 recursos Secret que creaste.

Crear un plan de creación de copias de seguridad

  1. Crea un manifiesto BackupPlan con el formato de tu opción de almacenamiento:

    Cloud Storage

    El campo gcsOptions es 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 de BackupPlan. 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 de Secret que 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 s3Options es 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 de BackupPlan. 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:9000 En 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 recurso Secret que creaste antes y que contiene tu ACCESS_KEY_ID y SECRET_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 * * *.

  2. Aplica el plan de copia de seguridad con cualquiera de los siguientes métodos:

    alloydbctl

    1. Aplica 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 BackupPlan que creaste antes.

    2. Confirma que el campo de estado, status.phase, para tu manifiesto de BackupPlan sea Ready. 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

    1. 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.backup
      

      Reemplaza las siguientes variables:

      • BACKUP_PLAN_PLAYBOOK_NAME: Es el nombre de tu playbook de Ansible. Por ejemplo, My BackupPlan Anota 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.

    2. 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 de BackupPlan anteriormente.

      • 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 de BackupPlan que creaste antes.

    3. 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.

    4. Confirma que el campo de estado, status.phase, para tu manifiesto de BackupPlan sea Ready. 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.

  1. Abre el manifiesto BackupPlan que creaste en Crea un plan de copia de seguridad.

  2. 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 paused a la sección spec y configúralo como true. Para reanudar las copias de seguridad, configura el campo como false o quítalo.

    Por ejemplo, en el siguiente ejemplo, se actualizan los días de retención a 30, se modifican los programas full y differential, se agrega un programa incremental y 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
    
  3. Aplica el plan de copia de seguridad actualizado con cualquiera de los siguientes métodos:

    alloydbctl

    1. Aplica 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 de BackupPlan que modificaste.

    2. Confirma que el campo de estado, status.phase, de tu manifiesto de BackupPlan sea Ready. 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

    1. Aplica el recurso BackupPlan actualizado 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 de BackupPlan.

      • 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 de BackupPlan que modificaste.

    2. Crea una guía de status.yaml si 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.

    3. Confirma que el campo de estado, status.phase, para tu manifiesto de BackupPlan sea Ready. 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_NAME

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.

  • BACKUP_PLAN_NAME: Es el nombre del manifiesto de BackupPlan que se borrará.

Ansible

  1. 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.delete
    

    Reemplaza 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.

  2. Ejecuta ansible-playbook para borrar el manifiesto BackupPlan.

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

    Reemplaza las siguientes variables:

    • BACKUP_PLAN_DELETE_PLAYBOOK_NAME: Es la ruta de acceso al playbook que creaste para borrar el manifiesto de BackupPlan en 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 de BackupPlan que se borrará.

Crear una copia de seguridad

Para crear e iniciar una copia de seguridad, usa uno de los siguientes métodos:

alloydbctl

  1. Crea un manifiesto Backup con el siguiente formato:

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

    Reemplaza las siguientes variables:

    • BACKUP_NAME: Es el nombre del manifiesto de Backup. Por ejemplo, my-backup-1.

    • BACKUP_PLAN_NAME: Es el nombre del manifiesto de BackupPlan que 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 en full, diff o incr. El valor predeterminado es full.

  2. 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 manifiesto Backup que creaste antes.

  3. Confirma que el campo de estado, status.phase, para tu manifiesto Backup sea Succeeded. Si el manifiesto no se completó correctamente, espera hasta que se complete:

    alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yaml
  4. Para confirmar que los archivos de copia de seguridad están disponibles en tu bucket, verifica si existe la carpeta /backup/db.

Ansible

  1. Crea un manifiesto Backup con el siguiente formato:

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

    Reemplaza las siguientes variables:

    • BACKUP_NAME: Es el nombre del manifiesto de Backup. Por ejemplo, my-backup-1.

    • BACKUP_PLAN_NAME: Es el nombre del manifiesto de BackupPlan que 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 en full, diff o incr. El valor predeterminado es full.

  2. 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.backup
    

    Reemplaza las siguientes variables:

    • BACKUP_PLAYBOOK_NAME: Es el nombre de tu guía de Ansible. Por ejemplo, My Backup

    • ANSIBLE_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.

  3. 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 de Backup que 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 de Backup que creaste antes.

  4. 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.

  5. Confirma que el campo de estado, status.phase, para tu manifiesto Backup sea Succeeded. 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_NAME
  6. Para 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_NAME

Reemplaza 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 de Backup que se borrará.

Ansible

  1. 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.delete
    

    Reemplaza 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.

  2. Ejecuta ansible-playbook para borrar el manifiesto Backup.

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

    Reemplaza las siguientes variables:

    • BACKUP_DELETE_PLAYBOOK: Es la ruta de acceso al playbook que creaste para borrar el manifiesto de Backup en 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 de Backup que 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

  1. Crea un manifiesto Restore con 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_NAME
    
    • Para 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 de Restore. 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 de Backup completado 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

  2. 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 manifiesto Restore que creaste en el paso 1.

  3. Confirma que status.phase para tu manifiesto Restore cambie a Succeeded:

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

Ansible

  1. Crea un manifiesto Restore con 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_NAME
    
    • Para 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 de Restore. 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 de Backup completado 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

  2. 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.restore
    

    Reemplaza 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.

  3. 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 de Restore en 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 de Restore que creaste en el paso 1.

  4. 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.

  5. Confirma que status.phase para tu manifiesto Restore cambie a Succeeded:

    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_TYPE

Para 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 yaml

Reemplaza 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 como BackupPlan, Backup o Restore.
  • 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.

  1. 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.status
    

    Reemplaza 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.
  2. 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_TYPE

    Para ver el estado de un recurso específico, ejecuta la guía con las variables resource_type y resource_name:

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

    Reemplaza 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 como BackupPlan, Backup o Restore.
    • RESOURCE_NAME: Es el nombre del recurso cuyo estado deseas ver.

Limitaciones

  • Si un estado de BackupPlan muestra ConfigurationFailed con failed to create stanza (código de salida 39), puedes reanudar la conciliación otorgando el rol roles/storage.objectAdmin en el bucket y volviendo a aplicar el manifiesto. No es necesario borrar el BackupPlan.