Defina localizações de criação e restauro para instantâneos com âmbito regional


Por predefinição, as capturas instantâneas são criadas com um âmbito global. As imagens instantâneas com âmbito global são armazenadas numa localização de armazenamento específica e podem ser restauradas (usadas para criar um novo disco) em qualquer região ou zona. Para um controlo de isolamento adicional baseado na localização, pode criar instantâneos com âmbito regional. As capturas de ecrã com âmbito regional armazenam todos os dados e metadados das capturas de ecrã em conjunto na região com âmbito. Com os instantâneos com âmbito regional, também pode restringir as regiões onde pode criar e restaurar instantâneos.

Este documento explica como definir localizações permitidas para a criação e o restauro de instantâneos regionais.

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Limitações

  • A definição de um âmbito regional substitui todas as definições de localização de armazenamento predefinidas para o projeto.
  • A definição de um âmbito regional aplica-se apenas a novos instantâneos regionais.
  • Não pode converter uma captura instantânea com âmbito global numa captura instantânea com âmbito regional. Tem de criar um novo resumo com o âmbito adequado.

Funções e autorizações necessárias

Para receber as autorizações necessárias para definir localizações de armazenamento e restauro para instantâneos com âmbito regional, peça ao seu administrador que lhe conceda as seguintes funções do IAM no projeto:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para definir a criação de instantâneos e restaurar localizações. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:

Defina localizações permitidas para a criação de instantâneos

Por predefinição, pode criar instantâneos em todas as regiões. Para restringir onde pode criar instantâneos com âmbito regional, defina localizações de acesso permitidas ao nível do projeto. Depois de definir as localizações de acesso, pode criar instantâneos com âmbito regional para o projeto apenas nestas localizações.

gcloud

Para permitir que os discos zonais na zona A criem instantâneos em qualquer região, use o comando gcloud beta compute disk-settings update:

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

Para permitir que os discos regionais na região A criem instantâneos em qualquer região, use o comando gcloud beta compute disk-settings update:

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

Para permitir que os discos na região A criem instantâneos apenas na região B, use o 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

Substitua o seguinte:

  • ZONE_A: A zona dos discos que podem criar cópias instantâneas em qualquer região.
  • REGION_A: a região de todos os discos (num projeto) que requerem restrições de criação de instantâneos com âmbito regional.
  • REGION_B: uma região permitida para a criação de instantâneos com âmbito regional. Pode definir várias regiões como localizações de acesso permitidas. Tem de incluir a região na qual o disco de origem está armazenado como uma das regiões permitidas.

REST

Para permitir que os discos zonais na zona A criem instantâneos em qualquer região, faça um pedido ao método diskSettings.patch:PATCH

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

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

Para permitir que os discos regionais na região A criem instantâneos apenas na região B, faça um pedido PATCH ao 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"}
      }
    }
  }

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto.
  • ZONE_A: a zona do disco.
  • REGION_A: a região do disco.
  • REGION_B: uma região permitida para a criação de instantâneos. Pode definir várias regiões como localizações de acesso permitidas. Tem de incluir a região na qual o disco de origem está armazenado como uma das regiões permitidas.

Defina localizações de restauro de instantâneos permitidas

Por predefinição, pode restaurar snapshots com âmbito regional e global para qualquer região. Para configurar localizações de restauro para as suas cópias de segurança instantâneas com âmbito regional, defina localizações de acesso permitido ao nível do projeto. Tem de definir localizações de acesso permitidas para cada projeto individualmente. Depois de definir as localizações de acesso, só pode restaurar instantâneos com âmbito regional para o projeto nestas localizações.

gcloud

Para permitir que os resumos de um projeto na região A sejam restaurados em todas as regiões, use o 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 as imagens instantâneas de um projeto na região A sejam restauradas apenas na região B, use o 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

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto.
  • REGION_A: a região onde as capturas de ecrã com âmbito regional são armazenadas.
  • REGION_B: uma região permitida onde é possível restaurar instantâneos com âmbito regional. Pode definir várias regiões como localizações de restauro permitidas.

REST

Para permitir que as imagens instantâneas de um projeto na região A sejam restauradas em todas as regiões, faça um PATCH pedido ao 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 as imagens instantâneas de um projeto na região A sejam restauradas apenas na região B, faça um pedido ao método PATCH: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"}
        }
    }
  }

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto.
  • REGION_A: a região onde as capturas de ecrã com âmbito regional são armazenadas.
  • REGION_B: uma região permitida onde é possível restaurar instantâneos com âmbito regional. Pode definir várias regiões como localizações de restauro permitidas.

Edite as localizações de restauro de instantâneos permitidas

gcloud

Para ver as localizações de restauro permitidas para instantâneos de um projeto armazenado na região A, use o comando gcloud beta compute snapshot-settings describe:

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

Para remover a região B da lista de localizações de restauro permitidas para instantâneos de um projeto armazenado na região A, use o 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

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto.
  • REGION_A: a região onde as capturas de ecrã com âmbito regional são armazenadas.
  • REGION_B: a região onde quer remover/restaurar o acesso aos instantâneos com âmbito regional.

REST

Para ver as localizações de restauro permitidas para instantâneos de um projeto armazenado na região A, faça um pedido GET ao método regionSnapshotSettings.get:

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

Para remover a região B da lista de localizações de restauro permitidas para instantâneos de um projeto armazenado na região A, faça um pedido PATCH ao 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":{}}
    }
  }

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto.
  • REGION_A: a região onde as capturas de ecrã com âmbito regional são armazenadas.
  • REGION_B: a região onde quer remover/restaurar o acesso aos instantâneos com âmbito regional.