Você cria uma programação de snapshot para fazer backup regular e automático do disco permanente zonal e regional e do Google Cloud Hyperdisk . Use programações de snapshots como prática recomendada para fazer backup das cargas de trabalho do Compute Engine.
Se você quiser criar um agendamento de snapshot que capture o estado dos dados do aplicativo no momento do backup, também conhecido como application consistente , guest-flush ou snapshot VSS , consulte Criar snapshots de disco consistente de aplicativo Linux ou Criar um snapshot de disco consistente de aplicativo Windows .
Para obter mais informações sobre as propriedades de planejamento de captura instantânea, consulte Propriedades de planejamento de captura instantânea .
Antes de começar
- Revise as Limitações para agendamentos de snapshots.
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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
-
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.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Administrador de instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) - Para se conectar a uma VM que pode ser executada como uma conta de serviço: Usuário da conta de serviço (v1) (
roles/iam.serviceAccountUser
) - Para criar um agendamento de snapshot:
compute.resourcePolicies.create
no projeto ou organização - Para anexar uma programação de snapshot a um disco:
-
compute.disks.addResourcePolicies
no disco -
compute.resourcePolicies.use
na política de recursos
-
- Para criar um disco com uma programação de snapshot:
-
compute.disks.create
no projeto -
compute.resourcePolicies.create
no projeto -
compute.disks.addResourcePolicies
no disco
-
- Crie um agendamento de snapshot e anexe-o a um disco existente .
- Crie um novo disco com uma programação de snapshot .
No console do Google Cloud, acesse a página de instâncias de VM .
Acesse as instâncias de VM
As etapas restantes aparecerão automaticamente no console do Google Cloud.- Selecione o projeto que contém suas instâncias de VM.
- Na coluna Nome , clique no nome da VM que tem o disco permanente para o qual criar uma programação de snapshot.
- Em
Armazenar , clique no nome do disco de inicialização ou no disco adicional para o qual criar um agendamento de snapshot. - Clique em Editar . Talvez seja necessário clicar no menu Mais ações e Editar .
- Em Agendamento de instantâneo , escolha Criar um agendamento .
- Em Name , insira um dos seguintes nomes para a programação do snapshot:
-
boot-disk-snapshot-schedule
-
attached-persistent-disk-snapshot-schedule
-
Na seção Local , escolha o local de armazenamento do snapshot . O local padrão predefinido ou personalizado definido nas configurações do snapshot é selecionado automaticamente. Opcionalmente, você pode substituir as configurações de snapshot e armazená-los em um local de armazenamento personalizado fazendo o seguinte:
Escolha o tipo de local de armazenamento que deseja para seu instantâneo.
- Escolha Multirregional para maior disponibilidade a um custo mais elevado.
- Escolha snapshots regionais para ter mais controle sobre a localização física dos seus dados a um custo menor.
- Escolha Multirregional para maior disponibilidade a um custo mais elevado.
No campo Selecionar local , selecione a região ou multirregião específica que você deseja usar. Para usar a região ou multirregião mais próxima do disco de origem, selecione Com base na localização do disco .
- Para terminar de criar a programação do snapshot, clique em Criar .
- Para anexar essa programação de snapshot ao disco permanente, clique em Salvar .
Para programar snapshots com escopo global para um disco, use o comando
gcloud compute resource-policies create snapshot-schedule
. Defina a frequência da sua programação como horária, diária ou semanal.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 or --weekly-schedule-from-file FILE_NAME \ --on-source-disk-delete DELETION_OPTION \ --storage-location=STORAGE_LOCATION
( Visualização ) Para programar snapshots com escopo regional para um disco, use o comando
gcloud compute resource-policies create snapshot-schedule
e especifique a região do snapshot.gcloud beta 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 or --weekly-schedule-from-file FILE_NAME \ --on-source-disk-delete DELETION_OPTION \ --storage-location=STORAGE_LOCATION \ --region REGION \ --snapshot-region SNAPSHOT_REGION
-
SCHEDULE_NAME
: o nome da programação do instantâneo. -
SCHEDULE_DESCRIPTION
: uma descrição da programação do snapshot. Use aspas em torno de sua descrição. -
REGION
: o local da política de recursos de agendamento de snapshot. -
SNAPSHOT_REGION
: a região para a qual o snapshot agendado tem como escopo. MAX_RETENTION_DAYS
: o número de dias para reter o instantâneo.Por exemplo, um valor
3
significa que os instantâneos são retidos por 3 dias antes de serem excluídos. Você deve usar um valor de1
ou superior.START_TIME
: a hora de início no fuso horário UTC. O tempo deve começar na hora.Por exemplo:
- 2:00 PM PST deve ser especificado como
22:00
. - Se você definir um horário de início para
22:13
, receberá um erro.
Se você usar o sinalizador
--weekly-schedule-from-file
e especificar um horário de início no arquivo, não será necessário incluir esse sinalizador.- 2:00 PM PST deve ser especificado como
SNAPSHOT_INTERVAL
: o intervalo entre a criação de snapshots sucessivos. Os sinalizadores de frequência de snapshothourly-schedule
,daily-schedule
,weekly-schedule
eweekly-schedule-from-file
são mutuamente exclusivos. Você pode usar apenas um para sua programação de snapshot.- Defina uma programação diária incluindo o sinalizador
--daily-schedule
sem nenhum valor. - Defina uma programação por hora com o sinalizador
--hourly-schedule
definido como um valor inteiro entre 1 e 23. Para gerar instantâneos no mesmo horário todos os dias, escolha um número por hora que seja dividido igualmente por 24. Por exemplo, definir--hourly-schedule
como12
significa que um instantâneo é criado a cada 12 horas. - Defina uma programação semanal com o sinalizador
--weekly-schedule
definido para o dia da semana em que você deseja que o instantâneo seja criado. Você deve especificar o dia da semana; os valores não diferenciam maiúsculas de minúsculas. Por exemplo, para fazer backup do seu disco toda sexta-feira, seu comando incluiria--weekly-schedule=friday
. Defina uma programação semanal avançada, especificando diferentes dias da semana e com diferentes horários de início, incluindo o sinalizador
--weekly-schedule-from-file
. SubstituirFILE_NAME
pelo nome do arquivo que contém a programação semanal do snapshot. Embora você possa especificar diferentes dias da semana e diferentes horários de início usando um arquivo, não é possível especificar vários agendamentos semanais diretamente na linha de comando. Por exemplo, seu arquivo pode especificar duas programações semanais, segunda e quarta-feira, mas você não pode duplicar essa configuração na linha de comando:[ {"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"} ]
Se você incluir um horário de início em seu arquivo, não será necessário definir o sinalizador
--start-time
na linha de comando. A programação usa o fuso horário UTC.
- Defina uma programação diária incluindo o sinalizador
DELETION_OPTION
: determina o que acontecerá com seus instantâneos se o disco de origem for excluído. Se quiser manter todos os instantâneos gerados, você pode omitir esse sinalizador. Caso contrário, especifiqueapply-retention-policy
para usar as configurações em uma política de retenção.STORAGE_LOCATION
: Opcional: o local de armazenamento . Se você omitir esse sinalizador, o local de armazenamento padrão será usado.- A regra de exclusão de disco está incluída; o sinalizador
--on-source-disk-delete
é definido como o padrãokeep-auto-snapshots
para manter permanentemente todos os instantâneos gerados automaticamente. A alternativa é definir esse sinalizador comoapply-retention-policy
para usar sua política de retenção de instantâneo. - O local de armazenamento é definido manualmente como
US
, portanto, todos os snapshots gerados são armazenados na multirregião dos EUA. - Os rótulos
env=dev
emedia=images
são aplicados a todos os instantâneos gerados. - A política de retenção está definida para 10 dias.
Para criar um planejamento de captura instantânea para capturas instantâneas com escopo global, construa uma solicitação
POST
pararesourcePolicies.insert
. Você deve incluir o nome do agendamento da captura instantânea e a frequência da captura instantânea.Você também pode especificar manualmente um local de armazenamento de instantâneo e adicionar rótulos de recursos à sua solicitação.
Por padrão, o parâmetro
onSourceDiskDelete
é configurado comokeepAutoSnapshots
. Isso significa que se o disco de origem for excluído, o instantâneo gerado automaticamente para esse disco será retido indefinidamente. Como alternativa, você pode definir o sinalizador comoapplyRetentionPolicy
para aplicar sua política de retenção.O exemplo a seguir define uma programação diária de snapshot que começa às 12h UTC (04h PST) e se repete todos os dias. O exemplo também define uma política de retenção de 5 dias; após 5 dias, os instantâneos são removidos automaticamente.
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": "STORAGE_LOCATION" } } }
( Visualização ) Para criar uma programação de snapshot para snapshots com escopo regional, construa uma solicitação
POST
pararesourcePolicies.insert
e especifique a região do snapshot.POST https://compute.googleapis.com/compute/beta/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", "region": "SNAPSHOT_REGION" } } }
-
PROJECT_ID
: o nome do projeto -
REGION
: o local da política de recursos de agendamento de snapshot -
SNAPSHOT_REGION
: a região cujo escopo o snapshot agendado tem como escopo -
SCHEDULE_DESCRIPTION
: a descrição da programação do snapshot -
SCHEDULE_NAME
: o nome da programação do snapshot -
STORAGE_LOCATION
: Opcional: o local de armazenamento . Se você omitir esse sinalizador, o local de armazenamento padrão será usado. No console do Google Cloud, acesse a página Discos .
Selecione o nome do disco ao qual deseja anexar uma programação de snapshot. Isso abre a página Gerenciar disco .
Na página Gerenciar disco , clique em
Editar . Talvez seja necessário clicar primeiro no menu Mais ações .Use o menu suspenso Agendamento de instantâneo para adicionar o agendamento ao disco. Ou crie uma nova programação.
Se você criou uma nova programação, clique em Criar .
Clique em Salvar para concluir a tarefa.
-
DISK_NAME
: o nome do disco existente -
SCHEDULE_NAME
: o nome da programação do snapshot -
ZONE
: a localização do seu disco -
PROJECT_ID
: o nome do projeto -
ZONE
: a zona onde o disco está localizado -
REGION
: a região onde a programação do snapshot foi criada -
DISK_NAME
: o nome do disco -
SCHEDULE_NAME
: o nome da programação de snapshot que você está aplicando a este disco No console do Google Cloud, acesse a página Discos .
Clique em Criar disco .
Preencha os campos obrigatórios para criar um disco zonal ou regional.
Crie seu disco na mesma região da programação do snapshot.
Preencha os campos para sua programação de snapshot .
Use o menu suspenso e preencha os campos para criar o agendamento.
Clique em Criar para criar o agendamento.
Clique em Criar para criar o disco.
-
DISK_NAME
: o nome do novo disco -
SCHEDULE_NAME
: o nome da programação do snapshot -
ZONE
: o local onde você está criando o disco. O disco deve estar em uma zona que esteja na mesma região que o agendamento do snapshot. - Saiba mais sobre como gerenciar programações de snapshots .
- Saiba mais sobre frequências de snapshots agendadas, políticas de retenção e regras de nomenclatura em Sobre agendamentos de snapshots para discos .
- Aprenda como criar uma imagem personalizada a partir do seu instantâneo .
- Saiba como visualizar registros .
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para 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.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções e permissões necessárias
Para obter as permissões necessárias para criar uma programação de snapshot, peça ao administrador para conceder a você as seguintes funções do IAM no projeto:
Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .
Essas funções predefinidas contêm as permissões necessárias para criar uma programação de snapshot. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias :
Permissões necessárias
As seguintes permissões são necessárias para criar uma programação de snapshot:
Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .
Visão geral da criação de programações de snapshots
Ao criar uma programação de snapshot, você cria uma política de recursos que pode ser aplicada a um ou mais volumes de disco permanente ou hiperdisco.
Você pode criar programações de snapshots das seguintes maneiras:
Usando criptografia com agendamentos de snapshots
Se um disco usar uma chave de criptografia gerenciada pelo cliente (CMEK) , quando você usar um agendamento de snapshot para criar snapshots desse disco, todos os snapshots criados serão automaticamente criptografados com a mesma chave.
Não é possível usar agendamentos de snapshots com discos que usam uma chave de criptografia fornecida pelo cliente (CSEK) .
Crie uma programação de instantâneo
Você pode criar uma programação de snapshot para seus discos usando o console do Google Cloud, a CLI do Google Cloud ou REST. Você deve criar seu agendamento de snapshot na mesma região onde reside seu disco. Por exemplo, se o seu disco residir na zona
us-west1-a
, você deverá criar o agendamento de snapshot na regiãous-west1
. No entanto, você pode optar por armazenar as capturas instantâneas geradas pela programação de captura instantânea em um local diferente.Console
gcloud
Substitua o seguinte:
Exemplos
Em todos os exemplos a seguir:
Agendamento por hora: neste exemplo, o agendamento do snapshot começa às 22h UTC (14h PST) e ocorre a cada 4 horas.
gcloud compute resource-policies create snapshot-schedule hourly-schedule1 \ --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 (14h PST) e ocorre todos os dias no mesmo horário. O sinalizador
--daily-schedule
deve estar presente, mas sem um valor associado.gcloud compute resource-policies create snapshot-schedule daily-schedule2 \ --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 semanal: neste exemplo, a programação do snapshot começa às 22h UTC (14h PST) e ocorre toda semana na terça-feira.
gcloud compute resource-policies create snapshot-schedule weekly-schedule3 \ --description "MY WEEKLY SNAPSHOT SCHEDULE" \ --max-retention-days 10 \ --start-time 22:00 \ --weekly-schedule tuesday \ --region us-west1 \ --on-source-disk-delete keep-auto-snapshots \ --snapshot-labels env=dev,media=images \ --storage-location US
Ir
Java
Node.js
Pitão
DESCANSAR
Substitua o seguinte:
Da mesma forma, você pode criar uma programação semanal ou mensal. Revise o método
resourcePolicies.insert
para obter detalhes específicos sobre a configuração de uma programação semanal ou mensal.Por exemplo, a solicitação a seguir cria uma programação semanal que é executada na terça-feira às 9h UTC.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "SCHEDULE_NAME", "description": "SCHEDULE_DESCRIPTION", "snapshotSchedulePolicy": { "schedule": { "weeklySchedule": { "dayOfWeeks": [ { "day": "Tuesday", "startTime": "9:00" } ] } }, "retentionPolicy": { "maxRetentionDays": "5" }, "snapshotProperties": { "guestFlush": "False", "labels": { "production": "webserver" }, "storageLocations": "US" } } }
Anexe uma programação de snapshot a um disco
Depois de criar um agendamento, anexe-o a um disco existente. Use o console, a CLI gcloud ou a API Compute Engine.
Console
Anexe uma programação de snapshot a um disco existente.
gcloud
Para anexar uma programação de snapshot a um disco, use o comando
gcloud disks add-resource-policies
.gcloud compute disks add-resource-policies DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Substitua o seguinte:
Ir
Java
Pitão
DESCANSAR
Construa uma solicitação
POST
paradisks.addResourcePolicies
para anexar uma programação de snapshot a um disco existente.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies { "resourcePolicies": [ "regions/REGION/resourcePolicies/SCHEDULE_NAME" ] }
Substitua o seguinte:
Crie um disco com uma programação de snapshot
Você pode usar o console do Google Cloud ou a CLI gcloud para criar um disco e uma programação de snapshot ao mesmo tempo.
Console
gcloud
Use o comando
gcloud disks create
para criar um disco permanente ou hiperdisco zonal ou regional e anexar uma programação de snapshot a ele.gcloud compute disks create DISK_NAME \ --resource-policies SCHEDULE_NAME \ --zone ZONE
Substitua o seguinte:
Ir
Java
O que vem a seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-17 UTC.
-