Imposta le posizioni di creazione e ripristino per gli snapshot a livello regionale


Per impostazione predefinita, gli snapshot vengono creati con un ambito globale. Gli snapshot con ambito globale vengono archiviati in una posizione di archiviazione specifica e possono essere ripristinati (utilizzati per creare un nuovo disco) in qualsiasi regione o zona. Per un ulteriore controllo dell'isolamento basato sulla località, puoi creare snapshot a livello regionale. Gli snapshot con ambito regionale memorizzano tutti i dati e i metadati degli snapshot insieme nella regione con ambito. Con gli snapshot a livello regionale, puoi anche limitare le regioni in cui puoi creare e ripristinare gli snapshot.

Questo documento spiega come impostare le località consentite per la creazione e il ripristino di snapshot regionali.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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

        Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

          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.

        Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Limitazioni

  • L'impostazione di un ambito regionale sostituisce tutte le impostazioni della posizione di archiviazione predefinita per il progetto.
  • L'impostazione di un ambito regionale si applica solo ai nuovi snapshot regionali.
  • Non puoi convertire uno snapshot con ambito globale in uno snapshot con ambito regionale. Devi creare un nuovo snapshot con l'ambito appropriato.

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per impostare le posizioni di archiviazione e ripristino per gli snapshot a livello regionale, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per impostare la creazione di snapshot e le posizioni di ripristino. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Imposta le posizioni di creazione degli snapshot consentite

Per impostazione predefinita, puoi creare snapshot in tutte le regioni. Per limitare le posizioni in cui puoi creare snapshot a livello regionale, imposta le posizioni di accesso consentite a livello di progetto. Una volta impostate le posizioni di accesso, puoi creare snapshot con ambito regionale per il progetto solo in queste posizioni.

gcloud

Per consentire ai dischi a livello di zona nella zona A di creare snapshot in qualsiasi regione, utilizza il comando gcloud beta compute disk-settings update:

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

Per consentire ai dischi regionali nella regione A di creare snapshot in qualsiasi regione, utilizza il comando gcloud beta compute disk-settings update:

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

Per consentire ai dischi nella regione A di creare snapshot solo nella regione B, utilizza il 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

Sostituisci quanto segue:

  • ZONE_A: La zona dei dischi che possono creare snapshot in qualsiasi regione.
  • REGION_A: La regione di tutti i dischi (in un progetto) che richiedono limitazioni alla creazione di snapshot con ambito regionale.
  • REGION_B: Una regione consentita per la creazione di snapshot con ambito regionale. Puoi impostare più regioni come posizioni di accesso consentite. Devi includere la regione in cui è archiviato il disco di origine tra le regioni consentite.

REST

Per consentire ai dischi di zona nella zona A di creare snapshot in qualsiasi regione, invia una richiesta PATCH al metodo diskSettings.patch:

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

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

Per consentire ai dischi regionali nella regione A di creare snapshot solo nella regione B, invia una richiesta PATCH al metodo 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"}
      }
    }
  }

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto.
  • ZONE_A: la zona del disco.
  • REGION_A: La regione del disco.
  • REGION_B: Una regione consentita per la creazione di snapshot. Puoi impostare più regioni come posizioni di accesso consentito. Devi includere la regione in cui è archiviato il disco di origine tra le regioni consentite.

Imposta le posizioni di ripristino degli snapshot consentite

Per impostazione predefinita, puoi ripristinare gli snapshot a livello regionale e globale in qualsiasi regione. Per configurare le posizioni di ripristino per gli snapshot con ambito regionale, imposta le posizioni di accesso consentite a livello di progetto. Devi impostare le posizioni di accesso consentite per ogni progetto singolarmente. Una volta impostate le posizioni di accesso, puoi ripristinare gli snapshot con ambito regionale per il progetto solo in queste posizioni.

gcloud

Per consentire il ripristino degli snapshot per un progetto nella regione A in tutte le regioni, utilizza il comando gcloud beta compute snapshot-settings update:

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

Per consentire il ripristino degli snapshot per un progetto nella regione A solo nella regione B, utilizza il 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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto.
  • REGION_A: la regione in cui vengono archiviati gli snapshot con ambito regionale.
  • REGION_B: Una regione consentita in cui è possibile ripristinare gli snapshot con ambito regionale. Puoi impostare più regioni come posizioni di ripristino consentite.

REST

Per consentire il ripristino degli snapshot per un progetto nella regione A in tutte le regioni, invia una richiesta PATCH al metodo regionSnapshotSettings.patch:

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

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

Per consentire il ripristino degli snapshot per un progetto nella regione A solo nella regione B, invia una richiesta PATCH al metodo 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"}
        }
    }
  }

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto.
  • REGION_A: la regione in cui vengono archiviati gli snapshot con ambito regionale.
  • REGION_B: Una regione consentita in cui è possibile ripristinare gli snapshot con ambito regionale. Puoi impostare più regioni come posizioni di ripristino consentite.

Modifica le posizioni di ripristino degli snapshot consentite

gcloud

Per visualizzare le posizioni di ripristino consentite per gli snapshot di un progetto archiviato nella regione A, utilizza il comando gcloud beta compute snapshot-settings describe:

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

Per rimuovere la regione B dall'elenco delle posizioni di ripristino consentite per gli snapshot per un progetto archiviato nella regione A, utilizza il 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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto.
  • REGION_A: la regione in cui vengono archiviati gli snapshot con ambito regionale.
  • REGION_B: la regione in cui vuoi rimuovere l'accesso al ripristino per gli snapshot con ambito regionale.

REST

Per visualizzare le posizioni di ripristino consentite per gli snapshot di un progetto archiviato nella regione A, invia una richiesta GET al metodo regionSnapshotSettings.get:

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

Per rimuovere la regione B dall'elenco delle località di ripristino consentite per gli snapshot per un progetto archiviato nella regione A, invia una richiesta PATCH al metodo 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":{}}
    }
  }

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto.
  • REGION_A: la regione in cui vengono archiviati gli snapshot con ambito regionale.
  • REGION_B: la regione in cui vuoi rimuovere l'accesso al ripristino per gli snapshot con ambito regionale.