Realizar copias de seguridad entre proyectos


En esta página se describe cómo realizar una copia de seguridad entre proyectos en Google Kubernetes Engine (GKE) mediante el servicio Backup for GKE.

Información general

Las copias de seguridad entre proyectos te permiten desacoplar el ciclo de vida del proyecto de copia de seguridad del proyecto de clúster. Puedes obtener copias de seguridad con control de acceso por separado en un proyecto diferente al del clúster.

Limitaciones

No puedes migrar planes de copias de seguridad para realizar copias de seguridad entre proyectos.

Precios

Para obtener información sobre los precios, consulta Precios de las copias de seguridad y restauraciones entre proyectos.

Antes de empezar

  1. Antes de empezar, asegúrate de haber realizado las siguientes tareas:

    • Habilita la API de Google Kubernetes Engine.
    • Habilitar la API de Google Kubernetes Engine
    • Si quieres usar Google Cloud CLI para esta tarea, instálala y, a continuación, inicialízala. Si ya has instalado la gcloud CLI, obtén la versión más reciente ejecutando gcloud components update.
  2. Habilita la API Backup for GKE en el proyecto que contiene el clúster del que quieras crear una copia de seguridad y en el proyecto en el que quieras almacenar la copia de seguridad. Para obtener más información, consulta Habilitar la API Backup for GKE.

  3. Habilita el complemento Backup for GKE en el clúster del que quieras crear una copia de seguridad. Para obtener más información, consulta Habilitar Copia de seguridad de GKE en un clúster.

Roles obligatorios

Para obtener los permisos que necesitas para crear y gestionar una copia de seguridad entre proyectos, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador alternativo de la función de copia de seguridad de GKE (roles/gkebackup.backupAdmin), que es un subconjunto del rol Administrador de la función de copia de seguridad de GKE (roles/gkebackup.admin) en tu proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Configurar cuentas de servicio

Si es necesario, cree cuentas de servicio por proyecto para realizar operaciones en sus proyectos.

Con la CLI de Google Cloud, ejecuta los siguientes comandos para configurar una cuenta de servicio:

  1. Crea una cuenta de servicio ejecutando el comando gcloud beta services identity create:

      gcloud beta services identity create \
        --service=gkebackup.googleapis.com \
        --project=CLUSTER_PROJECT_ID
      gcloud projects add-iam-policy-binding CLUSTER_PROJECT_ID \
        --member=serviceAccount:service-CLUSTER_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \
        --role=roles/gkebackup.serviceAgent \
    
      gcloud beta services identity create \
        --service=gkebackup.googleapis.com \
        --project=BACKUP_PROJECT_ID
      gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID \
        --member=serviceAccount:service-BACKUP_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \
        --role=roles/gkebackup.serviceAgent
    

    Haz los cambios siguientes:

    • CLUSTER_PROJECT_ID: el nombre alfanumérico del proyecto Google Cloud que quieras crear. Por ejemplo, cluster-project-id.

    • CLUSTER_PROJECT_NUMBER: el identificador numérico único de tu proyecto de Google Cloud . Por ejemplo, 123456789012.

    • BACKUP_PROJECT_ID: el nombre alfanumérico del proyectoGoogle Cloud en el que se almacenará tu copia de seguridad. Por ejemplo, backup-project-id.

    • BACKUP_PROJECT_NUMBER: el identificador numérico único del proyecto en el que se almacenará tu copia de seguridad. Por ejemplo, 123456789012.

  2. Permite que la cuenta de servicio del proyecto de copia de seguridad realice copias de seguridad en el proyecto del clúster ejecutando el comando gcloud projects add-iam-policy-binding:

      gcloud projects add-iam-policy-binding CLUSTER_PROJECT_ID \
       --member=serviceAccount:service-BACKUP_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \
       --role=roles/gkebackup.serviceAgent
    

    Haz los cambios siguientes:

    • CLUSTER_PROJECT_ID: el nombre alfanumérico de tu proyecto deGoogle Cloud . Por ejemplo, cluster-project-id.

    • BACKUP_PROJECT_NUMBER: el identificador numérico único del proyecto en el que se almacenará tu copia de seguridad. Por ejemplo, 123456789012.

  3. Permite que el agente del proyecto del clúster acceda a gkebackup.googleapis.com en el proyecto de copia de seguridad ejecutando el comando gcloud projects add-iam-policy-binding:

      gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID \
       --member serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com \
       --role "roles/gkebackup.crossProjectServiceAgent"
    

    Haz los cambios siguientes:

    • BACKUP_PROJECT_ID: el nombre alfanumérico del proyectoGoogle Cloud en el que se almacenará tu copia de seguridad. Por ejemplo, backup-project-id.

    • CLUSTER_PROJECT_NUMBER: el identificador numérico único de tu proyecto de Google Cloud . Por ejemplo, 123456789012.

Crear un canal alternativo

Después de configurar las cuentas de servicio, debes crear un canal de copia de seguridad en el mismo proyecto y región que el clúster del que quieras crear una copia de seguridad. Después de crear un canal de copia de seguridad, puedes crear copias de seguridad de los clústeres del proyecto y la región en el proyecto de destino.

gcloud

Para crear un canal de copia de seguridad, ejecuta el comando gcloud beta container backup-restore backup-channels create con la CLI de Google Cloud:

gcloud beta container backup-restore backup-channels create BACKUP_CHANNEL_NAME \
 --project=CLUSTER_PROJECT_ID \
 --location=CLUSTER_LOCATION \
 --destination-project=projects/BACKUP_PROJECT_NUMBER

Haz los cambios siguientes:

  • BACKUP_CHANNEL_NAME: el nombre del canal de respaldo que quieras crear. Por ejemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: el nombre alfanumérico de tu proyecto deGoogle Cloud en el que se encuentra el clúster. Por ejemplo, cluster-project-id.

  • CLUSTER_LOCATION: la región en la que se encuentra el clúster. Por ejemplo, us-central1.

  • BACKUP_PROJECT_NUMBER: identificador numérico único del proyecto en el que se almacenará la copia de seguridad.

Consola

Para crear un canal de copia de seguridad en la consola Google Cloud , sigue estas instrucciones:

  1. En la Google Cloud consola, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú Gestión de recursos, haz clic en Copia de seguridad de GKE.

  3. Haga clic en la pestaña Canales de reserva.

  4. En la pestaña Canales de reserva, haz clic en Crear un canal de reserva.

  5. En el campo Proyecto de clúster, asegúrate de haber seleccionado el proyecto de clúster correcto.

  6. En el menú Región, selecciona la región en la que se encuentran tus clústeres.

  7. En el campo Proyecto de copia de seguridad, selecciona el proyecto al que quieras permitir copias de seguridad.

  8. En el campo Nombre del canal de reserva, introduce un nombre para tu canal de reserva.

  9. Opcional: en el campo Descripción del canal de respaldo, escribe una breve descripción del canal de respaldo.

  10. Haz clic en Siguiente.

  11. Valida los permisos de la cuenta de servicio en los proyectos de clúster y de copia de seguridad.

  12. Haz clic en Crear.

Crear plan de copia de seguridad

Después de crear un canal de copia de seguridad, debes crear el plan de copia de seguridad. Si el clúster del que se va a crear una copia de seguridad se encuentra en otro proyecto, el plan de copias de seguridad se vincula automáticamente a un canal de copias de seguridad. El campo backup_channel del plan de copia de seguridad muestra el canal de copia de seguridad al que está vinculado el plan.

Antes de empezar

Antes de crear un plan de copias de seguridad, consulta Planificar un conjunto de copias de seguridad.

Crear plan de copia de seguridad

Para crear un plan de copia de seguridad en el proyecto de copia de seguridad mediante la Google Cloud consola, sigue estas instrucciones:

  1. En la Google Cloud consola, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú Gestión de recursos, haz clic en Copia de seguridad de GKE.

  3. Abre el proyecto de copia de seguridad en el que quieras crear el plan de copia de seguridad.

  4. Haz clic en Crear un plan de copia de seguridad.

  5. Seleccione la casilla Configurar copias de seguridad entre proyectos.

  6. En el campo Proyecto de clúster, elija el proyecto que contenga el clúster de origen.

  7. En el menú Clúster, selecciona la región del clúster.

  8. En el campo Nombre del plan de copia de seguridad, introduce un nombre para el plan de copia de seguridad.

  9. En el campo Proyecto de copia de seguridad, introduce el nombre del proyecto de copia de seguridad en el que quieras almacenar las copias de seguridad.

  10. En el campo Región, introduce la ubicación en la que se almacenarán las copias de seguridad. Si no se encuentra ningún canal de respaldo, haz clic en Crear canal de respaldo, sigue las indicaciones para crear uno y haz clic en Crear.

  11. Haz clic en Ver detalles del canal de respaldo.

  12. Haz clic en Validar permisos.

  13. Completa los pasos restantes que se describen en el artículo Crear plan de copia de seguridad.

  14. Haga clic en Crear plan.

Ver un canal de respaldo

Sigue las instrucciones de las secciones siguientes para ver los canales de copia de seguridad.

Ver todos los canales de copia de seguridad de un proyecto y una región

gcloud

Para ver todos los canales de copia de seguridad de un proyecto y una región, ejecuta el comando gcloud beta container backup-restore backup-channels list con la CLI de Google Cloud:

  gcloud beta container backup-restore backup-channels list \
    --project=CLUSTER_PROJECT_ID \
    --location=CLUSTER_LOCATION

Haz los cambios siguientes:

  • CLUSTER_PROJECT_ID: el nombre alfanumérico de tu proyecto deGoogle Cloud en el que se encuentra el clúster. Por ejemplo, cluster-project-id.

  • CLUSTER_LOCATION: la región en la que se encuentra el clúster. Por ejemplo, us-central1.

Consola

Para ver todos los canales de copia de seguridad de un proyecto y una región en laGoogle Cloud consola, sigue estas instrucciones:

  1. En la Google Cloud consola de tu proyecto de clúster, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú Gestión de recursos, haz clic en Copia de seguridad de GKE.

  3. Haga clic en la pestaña Canales de reserva.

  4. Usa el menú de proyecto y región para filtrar la lista de canales de copia de seguridad.

En la lista filtrada se muestran todos los canales de copia de seguridad del proyecto y la región seleccionados.

Ver los detalles de un canal de copia de seguridad

gcloud

Para ver los detalles de un canal de copia de seguridad, ejecuta el comando gcloud beta container backup-restore backup-channels describe con Google Cloud CLI:

  gcloud beta container backup-restore backup-channels describe BACKUP_CHANNEL_NAME \
  --project=CLUSTER_PROJECT_ID \
  --location=CLUSTER_LOCATION

Haz los cambios siguientes:

  • BACKUP_CHANNEL_NAME: el nombre del canal de reserva que quieras ver. Por ejemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: el nombre alfanumérico de tu proyecto deGoogle Cloud en el que se encuentra el clúster. Por ejemplo, cluster-project-id.

  • CLUSTER_LOCATION: la región en la que se encuentra el clúster. Por ejemplo, us-central1.

Consola

Para ver los detalles de un canal de respaldo en la consola Google Cloud , sigue estas instrucciones:

  1. En la Google Cloud consola de tu proyecto de clúster, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú Gestión de recursos, haz clic en Copia de seguridad de GKE.

  3. Haga clic en la pestaña Canales de reserva.

  4. Usa el menú de proyecto y región para filtrar la lista de canales de copia de seguridad.

  5. Haz clic en el nombre del canal de respaldo que quieras ver. Se abrirá una página con los detalles de ese canal de respaldo.

Ver los planes de copia de seguridad vinculados a un canal de copia de seguridad

Para ver los planes de copias de seguridad vinculados a un canal de copias de seguridad, ejecuta el comando gcloud beta container backup-restore backup-plan-bindings list con la CLI de Google Cloud:

   gcloud beta container backup-restore backup-plan-bindings list \
    --backup-channel=BACKUP_CHANNEL_NAME \
    --project=CLUSTER_PROJECT_ID \
    --location=CLUSTER_LOCATION

Haz los cambios siguientes:

  • BACKUP_CHANNEL_NAME: el nombre del canal de respaldo que quieras ver. Por ejemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: el nombre alfanumérico de tu proyecto de Google Cloud en el que se encuentra el clúster. Por ejemplo, cluster-project-id.

  • CLUSTER_LOCATION: la región en la que se encuentra el clúster. Por ejemplo, us-central1.

Gestionar canales alternativos

En las siguientes secciones se describe cómo gestionar los canales de copia de seguridad después de crearlos.

Actualizar un canal de copia de seguridad

Sigue estas instrucciones para actualizar un canal secundario. Ten en cuenta que solo puedes modificar la descripción de un canal de copia de seguridad. No se pueden modificar los demás campos.

gcloud

Para actualizar la descripción de un canal de copia de seguridad, ejecuta el comando gcloud beta container backup-restore backup-channels update con Google Cloud CLI:

gcloud beta container backup-restore backup-channels update BACKUP_CHANNEL_NAME \
  --project=CLUSTER_PROJECT_ID \
  --location=CLUSTER_LOCATION \
  --description=DESCRIPTION

Haz los cambios siguientes:

  • BACKUP_CHANNEL_NAME: el nombre del canal de reserva que quieras actualizar. Por ejemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: el nombre alfanumérico de tu proyecto deGoogle Cloud en el que se encuentra el clúster. Por ejemplo, cluster-project-id.

  • CLUSTER_LOCATION: la región en la que se encuentra el clúster. Por ejemplo, us-central1.

  • DESCRIPTION: la descripción que quieras actualizar.

Consola

Para actualizar un canal de respaldo en la consola de Google Cloud , sigue estas instrucciones:

  1. En la Google Cloud consola de tu proyecto de clúster, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú Gestión de recursos, haz clic en Copia de seguridad de GKE.

  3. Haga clic en la pestaña Canales de reserva.

  4. En la página Canales de respaldo, haz clic en el canal de respaldo que quieras actualizar. Ten en cuenta que solo puedes actualizar la descripción de un canal de respaldo. El resto de los campos no se pueden modificar.

    Se mostrará la página Detalles del canal de copia de seguridad.

  5. Haz clic en Validar permisos.

  6. En las secciones Detalles del canal de respaldo, haz clic en el icono Editar descripción.

    Se mostrará el cuadro de diálogo Editar descripción.

  7. En el campo Descripción, introduce la descripción actualizada y haz clic en Guardar cambios.

Eliminar un canal de copia de seguridad

Solo puedes eliminar un canal de copia de seguridad si no contiene ningún plan de copia de seguridad activo. Si hay planes de copia de seguridad activos vinculados a él, primero debes desactivarlos o eliminarlos para poder eliminar el canal de copia de seguridad.

gcloud

Para eliminar un canal de copia de seguridad, ejecuta el comando gcloud beta container backup-restore backup-channels delete con la CLI de Google Cloud:

  gcloud beta container backup-restore backup-channels delete BACKUP_CHANNEL_NAME \
    --project=CLUSTER_PROJECT_ID \
    --location=CLUSTER_LOCATION

Haz los cambios siguientes:

  • BACKUP_CHANNEL_NAME: el nombre del canal de copia de seguridad que quieras eliminar. Por ejemplo, my-backup-channel-name.

  • CLUSTER_PROJECT_ID: el nombre alfanumérico de tu proyecto deGoogle Cloud en el que se encuentra el clúster. Por ejemplo, cluster-project-id.

  • CLUSTER_LOCATION: la región en la que se encuentra el clúster. Por ejemplo, us-central1.

Consola

Para eliminar un canal de copia de seguridad en la consola de Google Cloud , sigue estas instrucciones:

  1. En la Google Cloud consola de tu proyecto de clúster, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. En el menú Gestión de recursos, haz clic en Copia de seguridad de GKE.

  3. Haga clic en la pestaña Canales de reserva.

  4. En la página Canales de copia de seguridad, haz clic en el canal de copia de seguridad que quieras eliminar.

  5. Haz clic en Eliminar canal.

    Aparecerá un cuadro de diálogo en el que se te pedirá que confirmes que quieres eliminar el canal de copia de seguridad.

  6. En el campo Nombre del canal de copia de seguridad, introduce el nombre del canal de copia de seguridad para confirmar la eliminación.

  7. Haz clic en Confirmar.

Siguientes pasos