Definir las ubicaciones de creación y restauración de las capturas con ámbito regional


De forma predeterminada, las capturas se crean con un ámbito global. Las capturas de ámbito global se almacenan en una ubicación de almacenamiento específica y se pueden restaurar (usar para crear un disco) en cualquier región o zona. Para tener más control sobre el aislamiento basado en la ubicación, puedes crear instantáneas con ámbito regional. Las capturas de ámbito regional almacenan todos los datos y metadatos de las capturas en la región correspondiente. Con las capturas de ámbito regional, también puedes restringir las regiones en las que puedes crear y restaurar capturas.

En este documento se explica cómo definir las ubicaciones permitidas para la creación y la restauración de copias de seguridad regionales.

Antes de empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Limitaciones

  • Si defines un ámbito regional, se anulará toda la configuración de ubicación de almacenamiento predeterminada del proyecto.
  • El ámbito regional solo se aplica a las nuevas capturas regionales.
  • No puedes convertir una captura de ámbito global en una captura de ámbito regional. Debes crear una nueva captura con el ámbito adecuado.

Roles y permisos necesarios

Para obtener los permisos que necesitas para definir ubicaciones de almacenamiento y restauración de capturas de ámbito regional, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para definir la creación de copias de seguridad y restaurar ubicaciones. Para ver los permisos exactos que se necesitan, despliega la sección Permisos obligatorios:

Definir las ubicaciones permitidas para crear capturas

De forma predeterminada, puedes crear capturas en todas las regiones. Para restringir dónde puedes crear capturas de ámbito regional, define las ubicaciones de acceso permitidas a nivel de proyecto. Una vez que hayas definido las ubicaciones de acceso, podrás crear capturas de ámbito regional para el proyecto solo en esas ubicaciones.

gcloud

Para permitir que los discos zonales de la zona A creen capturas en cualquier región, usa el comando gcloud beta compute disk-settings update:

  gcloud beta compute disk-settings update \
      --zone=ZONE_A \
      --access-location-policy=all-regions \

Para permitir que los discos regionales de la región A creen capturas en cualquier región, usa el comando gcloud beta compute disk-settings update:

  gcloud beta compute disk-settings update \
      --region=REGION_A \
      --access-location-policy=all-regions

Para permitir que los discos de la región A creen capturas solo en la región B, usa el comando gcloud beta compute disk-settings update:

  gcloud beta compute disk-settings update \
      --access-location-policy=specific-regions \
      --region=REGION_A \
      --add-access-locations=REGION_B

Haz los cambios siguientes:

  • ZONE_A: la zona de los discos que pueden crear instantáneas en cualquier región.
  • REGION_A: la región de todos los discos (de un proyecto) que requieran restricciones de creación de instantáneas con ámbito regional.
  • REGION_B: región permitida para la creación de instantáneas con ámbito regional. Puedes definir varias regiones como ubicaciones de acceso permitido. Debes incluir la región en la que se almacena el disco de origen como una de las regiones permitidas.

REST

Para permitir que los discos de zona de la zona A creen capturas en cualquier región, haz una solicitud PATCH al método diskSettings.patch:

  PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE_A/diskSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"ALL_REGIONS"
    }
  }

Para permitir que los discos regionales de la región A creen instantáneas solo en la región B, haz una solicitud PATCH al método regionDiskSettings.patch:

  PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION_A/diskSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"SPECIFIC_REGIONS",
      "locations":
      {
        "REGION_B":{"region":"REGION_B"}
      }
    }
  }

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto.
  • ZONE_A: la zona del disco.
  • REGION_A: la región del disco.
  • REGION_B: una región permitida para crear instantáneas. Puedes definir varias regiones como ubicaciones de acceso permitidas. Debes incluir la región en la que se almacena el disco de origen como una de las regiones permitidas.

Definir las ubicaciones de restauración de instantáneas permitidas

De forma predeterminada, puedes restaurar capturas con ámbito regional y global en cualquier región. Para configurar las ubicaciones de restauración de tus capturas con ámbito regional, define las ubicaciones de acceso permitidas a nivel de proyecto. Debes definir las ubicaciones de acceso permitidas para cada proyecto por separado. Una vez que hayas definido las ubicaciones de acceso, solo podrás restaurar las capturas de ámbito regional del proyecto en esas ubicaciones.

gcloud

Para permitir que las capturas de un proyecto de la región A se restauren en todas las regiones, usa el comando gcloud beta compute snapshot-settings update:

  gcloud beta compute snapshot-settings update \
      --project=PROJECT_ID \
      --region=REGION_A \
      --access-location-policy=all-regions

Para que las capturas de un proyecto de la región A solo se puedan restaurar en la región B, usa el comando gcloud beta compute snapshot-settings update:

  gcloud beta compute snapshot-settings update \
      --project=PROJECT_ID \
      --access-location-policy=specific-regions \
      --region=REGION_A \
      --add-access-locations=REGION_B

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto.
  • REGION_A: la región en la que se almacenan las capturas con ámbito regional.
  • REGION_B: una región permitida en la que se pueden restaurar las copias de seguridad de ámbito regional. Puedes definir varias regiones como ubicaciones de restauración permitidas.

REST

Para permitir que las capturas de un proyecto de la región A se restauren en todas las regiones, haz una solicitud PATCH al método regionSnapshotSettings.patch:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"ALL_REGIONS"
    }
  }

Para que las capturas de un proyecto de la región A solo se puedan restaurar en la región B, haz una solicitud PATCH al método regionSnapshotSettings.patch:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"SPECIFIC_REGIONS",
      "locations":
        {"REGION_B":
          {"region":"REGION_B"}
        }
    }
  }

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto.
  • REGION_A: la región en la que se almacenan las capturas con ámbito regional.
  • REGION_B: una región permitida en la que se pueden restaurar las copias de seguridad de ámbito regional. Puedes definir varias regiones como ubicaciones de restauración permitidas.

Editar ubicaciones de restauración de instantáneas permitidas

gcloud

Para ver las ubicaciones de restauración permitidas de las capturas de un proyecto almacenado en la región A, usa el comando gcloud beta compute snapshot-settings describe:

  gcloud beta compute snapshot-settings describe \
      --project=PROJECT_ID \
      --region=REGION_A

Para quitar la región B de la lista de ubicaciones de restauración permitidas para las capturas de un proyecto almacenado en la región A, usa el comando gcloud beta compute snapshot-settings update:

  gcloud beta compute snapshot-settings update \
      --project=PROJECT_ID \
      --access-location-policy=specific-regions \
      --remove-access-locations=REGION_B \
      --region=REGION_A

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto.
  • REGION_A: la región en la que se almacenan las capturas con ámbito regional.
  • REGION_B: la región en la que quieres quitar el acceso de restauración de las instantáneas con ámbito regional.

REST

Para ver las ubicaciones de restauración permitidas de las capturas de un proyecto almacenado en la región A, haz una solicitud GET al método regionSnapshotSettings.get:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings

Para quitar la región B de la lista de ubicaciones de restauración permitidas de las capturas de un proyecto almacenado en la región A, haz una solicitud PATCH al método regionSnapshotSettings.patch:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_A/snapshotSettings?updateMask=accessLocation

  {
    "accessLocation":
    {
      "policy":"SPECIFIC_REGIONS",
      "locations":
        {"REGION_B":{}}
    }
  }

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto.
  • REGION_A: la región en la que se almacenan las capturas con ámbito regional.
  • REGION_B: la región en la que quieres quitar el acceso de restauración de las instantáneas con ámbito regional.