Cómo configurar ubicaciones de creación y restablecimiento para instantáneas centradas en regiones


De forma predeterminada, las instantáneas se crean con un alcance global. Las instantáneas con alcance global se almacenan en una ubicación de almacenamiento específica y se pueden restablecer (usar para crear un disco nuevo) en cualquier región o zona. Para obtener un control de aislamiento adicional basado en la ubicación, puedes crear instantáneas con alcance regional. Las instantáneas con alcance regional almacenan todos los datos y metadatos de la instantánea en la región con alcance. Con las instantáneas con alcance regional, también puedes restringir las regiones en las que puedes crear y restablecer instantáneas.

En este documento, se explica cómo establecer las ubicaciones permitidas para la creación y la restauración de instantáneas regionales.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras 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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

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

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Si deseas obtener más información, consulta Autentica para usar REST en la Google Cloud documentación de autenticación.

Limitaciones

Roles y permisos requeridos

Para obtener los permisos que necesitas para establecer ubicaciones de almacenamiento y restauración para las instantáneas con alcance regional, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para establecer las ubicaciones de creación y restablecimiento de instantáneas. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Cómo establecer ubicaciones permitidas para la creación de instantáneas

De forma predeterminada, puedes crear instantáneas en todas las regiones. Para restringir los lugares donde puedes crear instantáneas con alcance regional, establece ubicaciones de acceso permitidas a nivel del proyecto. Una vez que establezcas las ubicaciones de acceso, podrás crear instantáneas con alcance regional para el proyecto solo en esas ubicaciones.

gcloud

Para permitir que los discos zonales de la zona A creen instantáneas 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 instantáneas 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 instantáneas 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

Reemplaza lo siguiente:

  • ZONE_A: Es la zona de los discos que pueden crear instantáneas en cualquier región.
  • REGION_A: Es la región de todos los discos (en un proyecto) que requieren restricciones de creación de instantáneas con alcance regional.
  • REGION_B: Es una región permitida para la creación de instantáneas con alcance regional. Puedes establecer 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.

REST

Para permitir que los discos zonales de la zona A creen instantáneas en cualquier región, realiza 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, realiza 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"}
      }
    }
  }

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • ZONE_A: la zona del disco.
  • REGION_A: Es la región del disco.
  • REGION_B: Es una región permitida para la creación de instantáneas. Puedes establecer 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.

Cómo establecer ubicaciones permitidas para restablecer instantáneas

De forma predeterminada, puedes restablecer instantáneas con alcance regional y global en cualquier región. Para configurar las ubicaciones de restauración de tus instantáneas con alcance regional, establece las ubicaciones de acceso permitidas a nivel del proyecto. Debes establecer las ubicaciones de acceso permitidas para cada proyecto de forma individual. Una vez que establezcas las ubicaciones de acceso, solo podrás restablecer las instantáneas con alcance regional del proyecto en esas ubicaciones.

gcloud

Para permitir que se restablezcan las instantáneas de un proyecto en la región A 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 permitir que las instantáneas de un proyecto en la región A se restablezcan solo 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

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • REGION_A: Es la región en la que se almacenan las instantáneas con alcance regional.
  • REGION_B: Es una región permitida en la que se pueden restablecer instantáneas con alcance regional. Puedes establecer varias regiones como ubicaciones de restablecimiento permitidas.

REST

Para permitir que se restablezcan las instantáneas de un proyecto en la región A en todas las regiones, realiza 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 permitir que las instantáneas de un proyecto en la región A se restablezcan solo en la región B, realiza 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"}
        }
    }
  }

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • REGION_A: Es la región en la que se almacenan las instantáneas con alcance regional.
  • REGION_B: Es una región permitida en la que se pueden restablecer instantáneas con alcance regional. Puedes establecer varias regiones como ubicaciones de restablecimiento permitidas.

Cómo editar las ubicaciones de restablecimiento de instantáneas permitidas

gcloud

Para ver las ubicaciones de restablecimiento permitidas para las instantáneas 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 restablecimiento permitidas para las instantáneas 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

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • REGION_A: Es la región en la que se almacenan las instantáneas con alcance regional.
  • REGION_B: Es la región en la que deseas quitar el acceso de restauración para las instantáneas con alcance regional.

REST

Para ver las ubicaciones de restablecimiento permitidas para las instantáneas de un proyecto almacenado en la región A, realiza 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 restablecimiento permitidas para las instantáneas de un proyecto almacenado en la región A, realiza 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":{}}
    }
  }

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • REGION_A: Es la región en la que se almacenan las instantáneas con alcance regional.
  • REGION_B: Es la región en la que deseas quitar el acceso de restauración para las instantáneas con alcance regional.