Como criar snapshots programados de disco permanente

Neste documento, você verá como criar uma programação de snapshot para fazer backup regular e automático dos discos permanentes por zona e região. Use as programações de instantâneo como uma prática recomendada para fazer backup das cargas de trabalho do Compute Engine. Depois de criar uma programação de instantâneo, é possível aplicá-la a um ou mais discos permanentes.

Uma programação de instantâneo inclui as seguintes propriedades:

  • Nome da programação
  • Descrição da programação
  • Frequência da programação (por hora, dia, semana)
  • Política de retenção de instantâneos para determinar por quantos dias eles serão mantidos
  • Horário de início do instantâneo
  • Região onde a programação de instantâneo está disponível
  • Política de exclusão de disco de origem para processar snapshots gerados automaticamente se o disco de origem for excluído

Uma programação de snapshot também inclui uma política de retenção que define por quanto tempo manter os snapshots gerados a partir da programação do snapshot.

Antes de começar

Restrições

  • Um disco permanente pode ter apenas uma programação de snapshot por vez anexada a ele.
  • É possível criar no máximo 1.000 programações de snapshots em uso por região.
  • Talvez seja necessário solicitar um aumento na cota de recursos por meio do Console, se você precisar de mais recursos em sua região.
  • Não é possível excluir uma programação de snapshot anexada a um disco. Para excluí-la, desanexe a programação de todos os discos.
  • Depois que você criar a programação de snapshot, não será possível editá-la. Para atualizá-la, é necessário excluí-la e criar uma nova.
  • Atualmente, não é possível criar programações de snapshots para discos permanentes que usam chave de criptografia fornecida pelo cliente (CSEK, na sigla em inglês).

Frequência da programação de snapshots

Antes de criar uma programação de instantâneo, escolha o horário de início e a frequência do instantâneo. O horário de início é quando você quer que a programação de instantâneo seja iniciada. A frequência é definida por hora, dia ou semana.

Uma programação de snapshot começa dentro do horário de início especificado. Por exemplo, se o horário de início programado for às 12h, a captura de snapshots será iniciada a qualquer momento entre 12h e 12h59. A programação usa o padrão de hora UTC.

  • Definição de uma programação por hora: para configurar uma programação por hora, escolha o horário de início e especifique o intervalo do snapshot usando um número inteiro entre 1 e 23. O intervalo do instantâneo define com que frequência ele é capturado. Ao definir o intervalo, uma opção é escolher um número que seja divisor de 24. Por exemplo, ao definir o horário de início às 9h com um intervalo de seis, a programação de snapshot será executada às 9h com um intervalo a cada seis horas.

  • Definição de uma programação por dia: defina a frequência por dia para que o snapshot seja capturado uma vez por dia. Por exemplo, é possível definir uma programação de snapshot todos os dias às 9h.

  • Definição de uma programação por semana: defina a frequência por semana para capturar instantâneos vários dias da semana. Por exemplo, um horário de início às 9h com uma programação por semana definida para segunda-feira, quinta-feira e domingo indica que a programação de snapshot ocorrerá semanalmente às 9h de segunda-feira, quinta-feira e domingo. É possível também definir essa programação para dias diferentes da semana. Por exemplo, definir uma programação semanal para todas as segundas-feiras às 14h e quintas-feiras às 10h.

Política de retenção de snapshots

Uma política de retenção de instantâneos define por quanto tempo os instantâneos serão mantidos.

Se você configurar uma política de retenção, torne-a parte da programação de snapshots. Se usar a ferramenta gcloud ou o Console do Cloud, é necessário sempre definir uma política de retenção ao criar uma programação de snapshot. Se fizer uma solicitação diretamente à API, omita esse campo. Assim, os snapshots serão mantidos por tempo indefinido.

Se fizer uma solicitação à API e escolher a opção padrão para manter permanentemente todos os snapshots gerados automaticamente até que sejam excluídos manualmente, lembre-se de que serão gerados custos de armazenamento para reter esses snapshots até excluí-los manualmente.

Como prática recomendada, pense em configurar uma política de retenção para minimizar os custos de armazenamento de snapshots a longo prazo.

  • Especifique uma política de retenção de snapshot em número de dias com uma retenção mínima de um dia.
  • A política de retenção de snapshots aplica-se apenas a snapshots automáticos, não aos que são criados manualmente.
  • Não é possível aplicar uma política de retenção retroativamente. Se você criar uma programação de instantâneo sem política de retenção e, em seguida, alternar para uma programação com a política, ela será aplicada apenas aos novos instantâneos.
  • Seja qual for a política de retenção, sempre será possível excluir manualmente os snapshots gerados de modo automático ou manual.

Regra de exclusão do disco de origem

Ao criar uma programação de instantâneo, é possível também definir uma regra de exclusão do disco de origem. Essa regra controla o que acontecerá com os instantâneos se o disco de origem for excluído. Por padrão, se o disco de origem for excluído, os instantâneos gerados automaticamente com base na programação serão mantidos de modo permanente, a menos que você os exclua manualmente (independente da política de retenção original definida), exceto se especificado de outra maneira.

É possível também definir a regra para que a política de retenção de instantâneos seja aplicada aos instantâneos se o disco de origem for excluído. Por exemplo, você aplica uma política de retenção que mantém os instantâneos por uma semana após a exclusão do disco de origem.

Por exemplo, suponha que você tenha criado uma programação de instantâneo com uma política de retenção de três dias, mas prefira não a aplicar em caso de exclusão do disco de origem. Depois de aplicar a política ao disco permanente, o Compute Engine gera automaticamente snapshots, mas também exclui snapshots automaticamente após três dias, de acordo com a política de retenção. No entanto, se o disco de origem for excluído, a política de retenção não será mais aplicada e todos os instantâneos atuais criados por essa programação serão mantidos por tempo indefinido.

Como programar snapshots para instâncias do Windows

Se estiver aplicando uma programação de snapshot a discos anexados a instâncias da VM do Windows, use a opção guest-flush para permitir que o VSS gere cópias de sombra dos snapshots. Para mais informações sobre snapshots para Windows, consulte Como criar um snapshot de disco permanente do Windows.

Regras de localidade e rótulos de snapshots

Assim como nos snapshots gerados manualmente, é possível aplicar rótulos de recursos e selecionar o local de armazenamento para os snapshots gerados automaticamente. Se definir isso na programação de snapshots, qualquer snapshot gerado automaticamente com base nessa programação receberá essas propriedades. Por exemplo, se você definir uma localidade de snapshot como US, todos os snapshots gerados com base nessa programação serão armazenados nos EUA. Analise os exemplos abaixo para ver detalhes de como configurar essas opções.

Nomes de snapshots programados

Os snapshots capturados como parte da programação de snapshot têm nomes gerados automaticamente. Os nomes dos snapshots são gerados de acordo com o seguinte padrão:

[disk-name-prefix]-[scope-name]-[timestamp]-[random-chars]
  • disk-name-prefix: o nome do disco de origem. Esse campo pode ter até 20 caracteres.
  • scope-name: o nome da zona ou região do disco de origem.
  • timestamp: o carimbo de data / hora de criação UTC no formato YYYYMMDDHHMMSS.
  • random-chars: caracteres alfanuméricos gerados aleatoriamente para evitar conflitos de nome com outros snapshots.

Como criar uma programação de snapshot

Crie uma programação de snapshot para seus discos permanentes usando o Console do Google Cloud, a ferramenta de linha de comando gcloud ou o método da API do Compute Engine. Crie a programação de snapshot na mesma região do disco permanente. Por exemplo, se o disco permanente estiver na zona us-west1-a, a programação de snapshot precisará estar na região us-west1. Para mais informações, consulte Como selecionar o local de armazenamento de um snapshot.

Console

Para criar uma programação de snapshot:

  1. No Console do Google Cloud, acesse a página Snapshots.

    Acessar a página "Snapshots"

  2. Na parte superior da página, clique em Criar programação de snapshot.
  3. Digite um Nome para a programação.
  4. Selecione uma Região para a programação de snapshot. Seus discos permanentes precisam residir em zonas dentro da região que contém a programação de snapshot.
  5. Se preferir, selecione o Local do snapshot ou aceite a opção padrão.
  6. Selecione a Frequência de programação.
  7. Digite o número de dias em Excluir instantâneos automaticamente após.
  8. Selecione a Regra de exclusão para determinar o que acontecerá com os instantâneos se o disco de origem da programação for excluído.
  9. Especifique por quantos dias os snapshots gerados com base nessa programação serão mantidos.
  10. Se você usa o Windows, é possível Ativar VSS.
  11. Se preferir, especifique os rótulos relevantes que você quer aplicar a esses instantâneos.
  12. Clique em Criar para criar a programação de instantâneo.

gcloud

Para criar uma programação de snapshot para discos permanentes, use o comando compute resource-policies create snapshot-schedule da gcloud. Defina a frequência da programação por hora, dia ou semana.

  gcloud compute resource-policies create snapshot-schedule [SCHEDULE_NAME] \
      --description "[SCHEDULE_DESCRIPTION]" \
      --max-retention-days [MAX_RETENTION_DAYS] \
      --start-time [START_TIME] \
      --hourly-schedule [SNAPSHOT_INTERVAL] \
      --daily-schedule \
      --weekly-schedule [SNAPSHOT_INTERVAL] \
      --weekly-schedule-from-file [FILE_NAME] \
      --on-source-disk-delete [DELETION_OPTION]

em que:

  • [SCHEDULE_NAME] é o nome da nova programação de snapshot;
  • "[SCHEDULE_DESCRIPTION]" é uma descrição da programação do snapshot. Coloque a descrição entre aspas;
  • [MAX_RETENTION_DAYS] é o número de dias de retenção do snapshot. Por exemplo, a configuração de 3 significa que os snapshots serão mantidos por três dias antes de serem excluídos. Defina uma política de retenção de pelo menos um dia.
  • [START_TIME] é o horário de início em UTC. O horário precisa ser uma hora redonda. Por exemplo:
    • 14h PST é 22:00.
    • Se você definir o horário de início como 22:13, receberá um erro.
  • [SNAPSHOT_INTERVAL] define o intervalo da captura de instantâneo. Defina a programação por hora usando um número inteiro entre 1 e 23. Escolha um número de hora que seja divisor de 24. Por exemplo, defina --hourly-schedule como 12 para que o snapshot seja gerado a cada 12 horas. Para uma programação por semana, defina em que dias você quer que ocorra a captura de snapshot. Escreva os dias da semana por extenso. Eles não diferenciam entre letras maiúsculas e minúsculas. As sinalizações de frequência do snapshot hourly-schedule, daily-schedule e weekly-schedule são mutuamente exclusivas. É necessário escolher uma para a programação de snapshot.

  • [FILE_NAME] é o nome de arquivo que contém a programação de snapshot semanal, caso você especifique a programação nesse formato. É possível especificar programações semanais em dias diferentes da semana e em horários distintos usando um arquivo, mas não é possível especificar várias programações semanais diretamente na linha de comando. Por exemplo, seu arquivo pode especificar uma programação de snapshot às segundas e quartas-feiras: [{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}]. Se você incluir um horário de início no arquivo, não será necessário definir a sinalização --start-time. A programação usa o padrão de hora UTC.

  • [DELETION_OPTION] determina o que acontecerá com os snapshots se o disco de origem for excluído. Omita essa sinalização para escolher o padrão keep-auto-snapshots ou use apply-retention-policy para aplicar uma política de retenção.

Veja a seguir mais exemplos de configuração de uma programação de snapshot. Veja o que há em comum em todos os exemplos abaixo:

  • A regra de exclusão de disco está incluída. A sinalização --on-source-disk-delete está definida como o padrão keep-auto-snapshots para manter permanentemente todos os snapshots gerados automaticamente. A alternativa é definir essa sinalização como apply-retention-policy para usar sua política de retenção de snapshots.
  • O local de armazenamento está definido como US para que todos os snapshots gerados sejam armazenados na multirregião US.
  • Os rótulos env=dev e media=images estão aplicados a todos os snapshots gerados.
  • A política de retenção está definida como 10 dias.

Programação por hora: neste exemplo, a programação de snapshot começa às 22h UTC e ocorre a cada quatro horas.

  gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
      --description "MY HOURLY SNAPSHOT SCHEDULE" \
      --max-retention-days 10 \
      --start-time 22:00 \
      --hourly-schedule 4 \
      --region us-west1 \
      --on-source-disk-delete keep-auto-snapshots \
      --snapshot-labels env=dev,media=images \
      --storage-location US

Programação diária: neste exemplo, a programação de snapshot começa às 22h UTC e ocorre todos os dias na mesma hora. A sinalização --daily-schedule precisa estar presente, mas sem nada definido.

gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
    --description "MY DAILY SNAPSHOT SCHEDULE" \
    --max-retention-days 10 \
    --start-time 22:00 \
    --daily-schedule \
    --region us-west1 \
    --on-source-disk-delete keep-auto-snapshots \
    --snapshot-labels env=dev,media=images \
    --storage-location US

Programação por semana: neste exemplo, a programação de snapshot começa às 22h UTC e ocorre toda semana às terças e quintas-feiras.

gcloud compute resource-policies create snapshot-schedule SCHEDULE_NAME \
    --description "MY WEEKLY SNAPSHOT SCHEDULE" \
    --max-retention-days 10 \
    --start-time 22:00 \
    --weekly-schedule tuesday,thursday \
    --region us-west1 \
    --on-source-disk-delete keep-auto-snapshots \
    --snapshot-labels env=dev,media=images \
    --storage-location US

API

Na API, crie uma solicitação POST para resourcePolicies.insert para criar uma programação de snapshot. No mínimo, inclua o nome da programação, o local regional do armazenamento e a frequência do snapshot.

Por padrão, o parâmetro onSourceDiskDelete está definido como keepAutoSnapshots. Isso significa que, se o disco de origem for excluído, o respectivo snapshot gerado automaticamente será mantido por tempo indefinido. Como alternativa, defina a sinalização como applyRetentionPolicy para aplicar sua política de retenção.

No exemplo a seguir, uma programação de snapshot diária que começa às 12h UTC e se repete todos os dias está definida. No exemplo, uma política de retenção de cinco dias também está definida. Após esse período, os snapshots serão removidos automaticamente.

Também é possível incluir opções de localidade de snapshot e rótulos de snapshot na solicitação para garantir que eles sejam armazenados no local que você escolheu.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies

{
 "name": "[SCHEDULE_NAME]",
 "description": "[SCHEDULE_DESCRIPTION]",
 "snapshotSchedulePolicy": {
   "schedule": {
     "dailySchedule": {
       "startTime": "12:00",
       "daysInCycle": "1"
     }
   },
   "retentionPolicy": {
     "maxRetentionDays": "5"
   },
   "snapshotProperties": {
     "guestFlush": "False",
     "labels": {
       "env": "dev",
       "media": "images"
     },
     "storageLocations": ["US"]
   }
 }
}

em que:

  • [PROJECT_ID] é o nome do projeto;
  • [REGION] é o local da política de programação de snapshot;
  • [SCHEDULE_DESCRIPTION] é a descrição da programação de snapshot;
  • [SCHEDULE_NAME] é o nome da programação de snapshot.

É possível criar uma programação por semana ou por mês do mesmo modo. Consulte a referência da API para detalhes específicos sobre como definir uma programação semanal ou mensal.

Por exemplo, na solicitação a seguir, uma programação semanal é criada e executada às terças e quintas, às 9h e às 2h, respectivamente.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies

{
 "name": "[SCHEDULE_NAME]",
 "description": "[SCHEDULE_DESCRIPTION]",
 "snapshotSchedulePolicy": {
   "schedule": {
     "weeklySchedule": {
       "dayOfWeeks": [
       {
         "day": "Monday",
         "startTime": "9:00"
       },
       {
         "day": "Thursday",
         "startTime": "2:00"
       }
       ]
     }
   },
  "retentionPolicy": {
    "maxRetentionDays": "5"
  },
  "snapshotProperties": {
    "guestFlush": "False",
    "labels": {
      "production": "webserver"
    },
    "storageLocations": ["US"]
  }
 }
}

Como anexar uma programação de snapshot a um disco

Após a criação da programação, anexe-a a um disco atual. Use o console, o comando gcloud ou o método da API Compute Engine.

Console

Anexe uma programação de snapshot a um disco atual.

  1. No Console do Google Cloud, acesse a página Discos.

    Acesse a página Discos

  2. Clique no nome do disco ao qual você quer anexar uma programação de snapshot. Isso abre a página de detalhes do disco.
  3. No topo da página de detalhes do disco, clique em Editar.
  4. Use o menu suspenso Programação de instantâneo para adicionar a programação ao disco. Se preferir, crie uma nova programação.
  5. Se você criou uma nova programação, clique em Criar.
  6. Clique em Salvar para concluir a tarefa.

gcloud

Para anexar uma programação de snapshot a um disco, use o comando disks add-resource-policies da gcloud.

gcloud compute disks add-resource-policies [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --zone [ZONE]

onde:

  • [DISK_NAME] é o nome do disco atual;
  • [SCHEDULE_NAME] é o nome da programação de snapshot;
  • [ZONE] é o local do disco.

API

Na API, crie uma solicitação POST para disks.addResourcePolicies para anexar uma programação de snapshot a um disco atual.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

onde:

  • [PROJECT_ID] é o nome do projeto;
  • [ZONE] é o local do disco;
  • [REGION] é o local da programação de snapshot;
  • [DISK_NAME] é o nome do disco;
  • [SCHEDULE_NAME] é o nome da programação de snapshot na região que você está aplicando a esse disco.

Como criar um disco com uma programação de snapshot

No Console do Cloud e no gcloud, é possível criar um disco e uma programação de snapshot ao mesmo tempo.

Console

  1. No Console do Google Cloud, acesse a página Discos.

    Acessar a página "Discos"

  2. Na parte superior da página, clique em Criar disco.
  3. Preencha os campos obrigatórios para criar um disco zonal ou regional.
  4. Crie o disco na mesma região da programação de snapshot.
  5. Preencha os campos em Programação de snapshot.
  6. Use o menu suspenso e preencha os campos para criar a programação.
  7. Clique em Criar para criar a programação.
  8. Clique em Criar para criar o disco.

gcloud

Use o comando disks create da gcloud para criar um disco permanente zonal ou regional e anexar uma programação de snapshot a ele.

gcloud compute disks create [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --zone [ZONE]

em que:

  • [DISK_NAME] é o nome do novo disco;
  • [SCHEDULE_NAME] é o nome da programação de snapshot;
  • [ZONE] é o local em que você está criando o disco. Ele precisa estar em uma zona dentro da região da programação do snapshot.

Como ver as programações de snapshot

Para acessar uma lista de programações de snapshots, use o console, o comando gcloud ou o método da API Compute Engine. Essa solicitação mostra o nome, a descrição e a região de todas as programações de snapshot em um projeto.

Console

  1. No Console do Google Cloud, acesse a página Snapshots.

    Acessar a página "Snapshots"

  2. Clique em Programações de instantâneo na parte superior da página.
  3. Use a caixa de pesquisa Filtrar programações de instantâneo para revisar uma programação de instantâneo especificada.
  4. Clique em uma programação de instantâneo para ver os detalhes.

gcloud

Para ver uma lista de suas programações de snapshot, use o comando resource-policies list da gcloud.

gcloud compute resource-policies list

Para ver a descrição de uma programação de snapshot específico, use o comando resource-policies describe da gcloud.

gcloud compute resource-policies describe [SCHEDULE_NAME]

em que [SCHEDULE_NAME] é o nome da programação de snapshot.

API

Faça uma solicitação GET para resourcepolicies.aggregatedList para retornar uma lista de programações de snapshots em um projeto.

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/aggregated/resourcePolicies

em que [PROJECT_ID] é o nome do projeto.

Como ver uma programação de snapshot por região

Para visualizar uma programação de snapshot em uma determinada região, use o console, o comando gcloud ou o método da API Compute Engine.

Console

  1. No Console do Google Cloud, acesse a página Snapshots.

    Acessar a página "Snapshots"

  2. Clique em Programações de snapshot na parte superior da página.
  3. Use a caixa de pesquisa Filtrar programações de snapshot para revisar uma programação de snapshot especificada por região.

gcloud

Para visualizar as programações de snapshots em uma região específica, use o comando resource-policies list da gcloud.

gcloud compute resource-policies list [PROJECT_ID] \
    --filter [REGION]

em que:

  • [PROJECT_ID] é o nome do projeto;
  • [REGION] é o local da política.

API

Faça uma solicitação para resourcePolicies.get para recuperar a programação do snapshot estabelecida em uma região.

GET https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]

em que:

  • [PROJECT_ID] é o nome do projeto;
  • [REGION] é o local da programação de snapshot;
  • [SCHEDULE_NAME] é o nome da programação de snapshot que você quer ver.

Como alterar uma programação de snapshot

Não é possível editar uma programação de snapshot. Para alterar uma programação que já está anexada a um disco, é necessário desanexá-la e excluí-la. Em seguida, crie uma nova e anexe-a ao disco. Use o console, o comando gcloud ou o método da API Compute Engine para fazer alterações na programação de snapshot.

Os snapshots gerados a partir da programação de snapshot desanexada não serão gerenciados pela nova política. Esses snapshots serão mantidos indefinidamente até que você os exclua.

Console

  1. No Console do Google Cloud, acesse a página Discos.

    Acessar a página "Discos"

  2. Selecione o disco que tem a programação que você quer desanexar.
  3. Clique em Editar na parte superior da página.
  4. Abra o menu suspenso Programação de snapshot.
  5. Clique em Sem programação para desanexar a programação do disco.
  6. É possível criar uma nova programação ou trocá-la enquanto estiver editando as opções de disco.
  7. Clique em Salvar para concluir a tarefa.

gcloud

Use o comando disks remove-resource-policies da gcloud para desanexar a programação de snapshot do disco com a programação que você quer alterar.

gcloud compute disks remove-resource-policies [DISK_NAME] \
    --resource-policies [SCHEDULE_NAME] \
    --region [REGION] \
    --zone [ZONE]

onde:

  • [DISK_NAME] é o nome do disco com a programação de snapshot anexada.
  • [SCHEDULE_NAME] é o nome da programação de snapshot que você quer desanexar desse disco.
  • [REGION] é o local no qual a programação de snapshot reside.
  • [ZONE] é a zona em que o disco zonal está localizado.

Em seguida, use o comando disks add-resource-policies para adicionar a programação de snapshot atualizada ao disco.

 gcloud compute disks add-resource-policies [DISK_NAME] \
     --resource-policies [SCHEDULE_NAME] \
     --zone [ZONE]

onde:

  • [DISK_NAME] é o nome do disco com a política de programação de snapshot;
  • [SCHEDULE_NAME] é o nome da programação de snapshot que você quer adicionar a esse disco.
  • [ZONE] é a zona onde reside o disco.

API

Para desanexar uma programação de um disco, crie uma solicitação POST para disks.removeResourcePolicies.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/removeResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

em que:

  • [PROJECT_ID] é o nome do projeto;
  • [ZONE] é a zona em que o disco reside;
  • [DISK_NAME] é o nome do disco com a programação de snapshot associada.
  • [REGION] é o local da programação de snapshot.
  • [SCHEDULE_NAME] é o nome da programação de snapshot que você está removendo desse disco.

Na API, crie uma solicitação POST para disks.addResourcePolicies para anexar uma programação de snapshot a um disco atual.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks/[DISK_NAME]/addResourcePolicies

{
  "resourcePolicies": [
    "regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]"
  ]
}

onde:

  • [PROJECT_ID] é o nome do projeto;
  • [ZONE] é o local do disco;
  • [DISK_NAME] é o nome do disco;
  • [REGION] é o local da programação de snapshot;
  • [SCHEDULE_NAME] é o nome da programação de snapshot na região que você está aplicando a esse disco.

Como excluir uma programação de snapshot

Se você excluir uma programação de snapshot, todos os snapshots gerados automaticamente associados à programação serão mantidos de modo permanente. No entanto, a programação não poderá mais gerar snapshots após a exclusão.

A política de retenção faz parte da programação de snapshot. Depois que a programação for excluída, a política de retenção não será mais aplicada. Os snapshots que já foram gerados serão mantidos de modo permanente até você excluí-los manualmente.

Para excluir uma programação de snapshot atual, use o Console do Google Cloud, a ferramenta de linha de comando gcloud ou o método da API do Compute Engine. Se a programação já estiver anexada a um disco, será necessário desanexar essa programação antes de excluí-la. Não é possível excluir uma programação de instantâneo anexada a um disco.

Console

  1. No Console do Google Cloud, acesse a página Snapshots.

    Acessar a página "Snapshots"

  2. Selecione Programações de snapshot para ver uma lista das programações.
  3. Selecione qualquer programação não associada a um disco.
  4. Clique em Excluir na parte superior da página.

gcloud

Para excluir uma programação de snapshot especificada, use o comando resource-policies delete da gcloud.

gcloud compute resource-policies delete [SCHEDULE_NAME] \
    --region [REGION]

onde:

  • [SCHEDULE_NAME] é o nome da programação de snapshot;
  • [REGION] é o local da programação de snapshot.

API

Faça uma solicitação para resourcepolicies.delete para excluir uma programação de snapshot. Se a programação de snapshot já estiver anexada a um disco específico, você receberá um erro.

DELETE https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/resourcePolicies/[SCHEDULE_NAME]

em que:

  • [PROJECT_ID] é o nome do projeto;
  • [REGION] é o local da programação de snapshot;
  • [SCHEDULE_NAME] é o nome da programação de snapshot.

Como gerar registros e monitorar

Todo snapshot programado associado a um disco cria continuamente um evento do sistema, que é sempre monitorado e registrado. Os registros de auditoria de evento do sistema estão sempre ativados.

Esses registros fornecem informações comportamentais sobre os snapshots programados para cada disco associado. É possível ver seus registros no menu do Cloud Logging no console.

  1. No Console do Cloud, acesse a página Logging do Pacote de operações do Google Cloud > Registros:
    Acesse a página do Visualizador de registros.
  2. Clique em Visualizador de registros na barra de navegação à esquerda.
  3. Selecione Disco no primeiro menu suspenso.
  4. Selecione cloudaudit.googleapis.com/system_event no menu suspenso Todos os registros e clique em OK.
  5. Selecione o tipo de registro na lista suspensa Qualquer nível de registro.

IU do visualizador de registros.

Como configurar alertas para snapshots programados

É possível criar uma métrica personalizada para gerar alertas ou fornecer informações para solucionar problemas com snapshots programados.

Por exemplo, para configurar um alerta para falhas de snapshots programados, use o seguinte procedimento:

  1. Crie um filtro de registro para capturar eventos de snapshots programados.
  2. Crie uma métrica com base no filtro de registro para contar as falhas de snapshot programados.
  3. Crie uma política de alertas para enviar um alerta quando há uma falha de snapshot programado.

Criar um filtro de registros

  1. No Console do Cloud, acesse a página Cloud Logging > Visualizador de registros.
    Acessar a página "Visualizador de registros"

  2. Na lista Filtrar por rótulo ou pesquisa de texto, selecione Converter para filtro avançado.

    Converter para filtro avançado.

  3. Substitua a caixa de texto de filtro pelo texto a seguir, substituindo project-id pelo ID do projeto:

    resource.type="gce_disk"
    logName="projects/project-id/logs/cloudaudit.googleapis.com%2Fsystem_event"
    protoPayload.methodName="ScheduledSnapshots"
    severity>"INFO"
    
  4. Clique em Enviar filtro.

Criar uma métrica

  1. No Visualizador de registros, na parte superior da página, clique em Criar métrica.

  2. No Editor de métricas, digite o seguinte:

    • Nome: scheduled_snapshot_failure_count.
    • Descrição: count of scheduled snapshot failures.
    • Tipo: Counter
  3. Em Rótulos, clique em Adicionar item e digite o seguinte:

    • Nome: status
    • Descrição: status of scheduled snapshot request
    • Tipo de rótulo: String
    • Nome do campo: protoPayload.response.status
  4. Clique em Concluído.

  5. Clique em Criar métrica.

Criar uma política de alertas

  1. No Console do Cloud, acesse a página Cloud Logging > Métricas baseadas em registros.
    Acessar a página "Métricas com base em registros"
  2. Em Métricas definidas pelo usuário, encontre sua nova métrica chamada user/scheduled_snapshot_failure_count.

  3. Clique no botão de menu Mais nessa linha e selecione Criar alerta a partir da métrica. A página de criação da condição da política de alertas é aberta.

    Métrica definida pelo usuário.

  4. No painel Destino, em Agregador, selecione nenhum.

  5. Em Filtro:

    1. Clique em Adicionar um filtro.
    2. Selecione status na lista.
    3. No campo Valor, digite DONE.
    4. Clique em Aplicar.

      Status do filtro de alerta.

  6. Clique em Exibir opções avançadas.

  7. No painel Agregação avançada, clique na lista Alinhador e selecione soma.

  8. No painel Configuração, selecione os seguintes valores:

    • Condição acionada se: Any time series violates
    • Condição: is above
    • Limite: 1
    • Para: most recent value

      Painel de configuração.

  9. Clique em Salvar.

  10. Na página Criar nova política de alertas, insira um nome de política. Opcionalmente, é possível adicionar critérios de notificação e documentação para essa política.

  11. Clique em Salvar.

A seguir