Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página explica como configurar o seu ambiente para guardar instantâneos de forma programada.
Para mais informações sobre como funcionam as capturas instantâneas do ambiente e como guardar capturas instantâneas manualmente, consulte o artigo Guarde e carregue capturas instantâneas.
Como funcionam as capturas de ecrã agendadas
Quando ativa as capturas de ecrã agendadas, o Cloud Composer guarda periodicamente capturas de ecrã do seu ambiente num contentor do Cloud Storage.
Se criar instantâneos manualmente, o Cloud Composer guarda-os no contentor do ambiente por predefinição. Para as capturas instantâneas agendadas, recomendamos que guarde as capturas instantâneas num contentor separado. Desta forma, pode configurar autorizações e uma configuração do ciclo de vida para este contentor. Um contentor pode conter capturas de ecrã de vários ambientes, e também pode criar contentores que são redundantes em várias regiões.
Antes de começar
Para mais informações sobre os requisitos e as limitações dos resumos, consulte o artigo Guarde e carregue resumos.
O Cloud Composer suporta instantâneos agendados nas versões 2.0.32 e posteriores. As capturas instantâneas do ambiente são suportadas na versão 2.0.9 e posteriores.
Crie um contentor para instantâneos agendados
Crie um contentor para instantâneos agendados. Tenha em conta como quer usar as capturas instantâneas do ambiente. Se fizer parte do seu plano de recuperação de desastres, use um contentor redundante em várias regiões ou um contentor numa região diferente, para ter acesso aos dados mesmo em caso de uma interrupção regional total. Caso contrário, um contentor na mesma região que o ambiente pode ser mais adequado e, neste caso, reduz os custos de transferência de dados entre regiões.
Configure as autorizações para o contentor
Configure as seguintes autorizações:
A conta de serviço do seu ambiente tem de ter autorizações de leitura e escrita para este contentor. Por exemplo, a função de administrador de objetos de armazenamento tem essas autorizações.
As contas de utilizador não precisam de autorizações adicionais para o contentor carregar instantâneos a partir dele, a menos que queira ver o conteúdo do contentor a partir da consola Google Cloud . Neste caso, uma conta de utilizador tem de ter autorização de leitura no contentor.
Defina uma configuração do ciclo de vida para o contentor
Para poupar custos de armazenamento, pode configurar uma regra que elimine as capturas de ecrã do ambiente após um determinado período.
Por exemplo, para eliminar automaticamente as capturas instantâneas com mais de 30 dias:
- Defina uma configuração do ciclo de vida para o contentor.
- Especifique a ação Eliminar objeto.
- Selecione Idade e 30 dias como condição.
Ative um horário de instantâneos para o seu ambiente
Consola
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
Em Configuração de recuperação > Agendamento de instantâneos, clique em Editar. É aberto o painel Horário de instantâneos.
No painel Programação de instantâneos, selecione Criar instantâneos periodicamente, de acordo com a programação especificada.
Na lista pendente Frequência da programação, selecione o período diário, semanal ou personalizado para as capturas de ecrã.
Pode especificar um horário personalizado com o formato unix-cron. Por exemplo, para guardar capturas de ecrã a cada 30 minutos, especifique
*/30 * * * *
.No campo Localização da captura de ecrã, selecione a pasta do contentor onde quer guardar as capturas de ecrã.
gcloud
Atualize a configuração do ambiente. Os seguintes argumentos definem os parâmetros para as capturas de ecrã agendadas:
--enable-scheduled-snapshot-creation
ativa os resumos agendados.--snapshot-location
especifica uma pasta de contentor onde quer guardar as capturas de ecrã.--snapshot-creation-schedule
especifica a frequência com que têm de ser tirados instantâneos do ambiente, no formato unix-cron. Por exemplo, para criar uma captura instantânea a cada 30 minutos, especifique*/30 * * * *
.--snapshot-schedule-timezone
define um fuso horário para o horário. Este valor é um desvio de tempo e não tem em conta as alterações da mudança de hora. Os valores válidos variam entreUTC-12
eUTC+12
. Exemplos:UTC
,UTC-01
,UTC+03
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-scheduled-snapshot-creation \
--snapshot-location "gs://SNAPSHOTS_FOLDER" \
--snapshot-creation-schedule "CRON_EXPRESSION" \
--snapshot-schedule-timezone "TIME_ZONE"
Substituir:
ENVIRONMENT_NAME
com o nome do ambiente.LOCATION
com a região onde o ambiente está localizado.SNAPSHOTS_FOLDER
com o URI de uma pasta do contentor onde guardar a captura de ecrã.CRON_EXPRESSION
com a agenda, no formato unix-cron.TIME_ZONE
com um fuso horário para a agenda.
Exemplo (todos os dias às 04:00, UTC+01):
gcloud composer environments update example-environment \
--location us-central1 \
--enable-scheduled-snapshot-creation \
--snapshot-location "gs://example-bucket/environment_snapshots" \
--snapshot-creation-schedule "0 4 * * *" \
--snapshot-schedule-timezone "UTC+01"
API
Construa um pedido de API environments.patch
.
Neste pedido:
No parâmetro
updateMask
, especifique a máscaraconfig.recoveryConfig.scheduledSnapshotsConfig
para substituir a configuração de instantâneos agendados existente.No corpo do pedido, especifique a configuração das capturas de ecrã:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://SNAPSHOTS_FOLDER", "snapshot_creation_schedule": "CRON_EXPRESSION", "time_zone": "TIME_ZONE" } } } }
Substituir:
SNAPSHOTS_FOLDER
com o URI de uma pasta do contentor onde guardar a captura de ecrã.CRON_EXPRESSION
com a agenda, no formato unix-cron.TIME_ZONE
com um fuso horário para a agenda. Este valor é um desvio de tempo e não tem em conta as alterações de horário de verão. Os valores válidos variam entreUTC-12
eUTC+12
. Exemplos:UTC
,UTC-01
,UTC+03
.
Exemplo (todos os dias às 04:00, UTC+01):
// PATCH https://composer.googleapis.com/v1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.recoveryConfig.scheduledSnapshotsConfig { "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://example-bucket/environment_snapshots", "snapshot_creation_schedule": "0 4 * * *", "time_zone": "UTC+01" } } } }
Terraform
O elemento scheduled_snapshots_config
no bloco recovery_config
define os parâmetros para imagens instantâneas agendadas:
enabled
ativa os resumos agendados.snapshot_location
especifica uma pasta de contentor onde quer guardar capturas de ecrã.snapshot_creation_schedule
especifica a frequência com que têm de ser tirados instantâneos do ambiente, no formato unix-cron. Por exemplo, para criar uma captura instantânea a cada 30 minutos, especifique*/30 * * * *
.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = true
snapshot_location = "gs://SNAPSHOTS_FOLDER"
snapshot_creation_schedule = "CRON_EXPRESSION"
time_zone = "TIME_ZONE"
}
}
}
Substituir:
SNAPSHOTS_FOLDER
com o URI de uma pasta do contentor onde guardar a captura de ecrã.CRON_EXPRESSION
com a agenda, no formato unix-cron.TIME_ZONE
com um fuso horário para a agenda. Este valor é um desvio de tempo e não tem em conta as alterações de horário de verão. Os valores válidos variam entreUTC-12
eUTC+12
. Exemplos:UTC
,UTC-01
,UTC+03
.
Exemplo (todos os dias às 04:00, UTC+01):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
recovery_config {
scheduled_snapshots_config {
enabled = true
snapshot_location = "gs://example-bucket/environment_snapshots"
snapshot_creation_schedule = "0 4 * * *"
time_zone = "UTC+01"
}
}
}
Desative os instantâneos agendados
Se desativar os instantâneos agendados, todos os instantâneos existentes que já foram capturados não são modificados nem removidos. Estas fotos instantâneas permanecem na localização onde foram guardadas.
Consola
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
Em Configuração de recuperação > Agendamento de instantâneos, clique em Editar. É aberto o painel Horário de instantâneos.
No painel Horário de capturas instantâneas, selecione Não criar capturas instantâneas automaticamente.
gcloud
Atualize a configuração do ambiente. O argumento --disable-scheduled-snapshot-creation
desativa as capturas de ecrã
agendadas.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-scheduled-snapshot-creation
Substituir:
ENVIRONMENT_NAME
com o nome do ambiente.LOCATION
com a região onde o ambiente está localizado.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-scheduled-snapshot-creation
API
Construa um pedido de API environments.patch
.
Neste pedido:
No parâmetro
updateMask
, especifique a máscaraconfig.recoveryConfig.scheduledSnapshotsConfig.enabled
para substituir o valor do campoenabled
.No corpo do pedido, especifique o novo valor:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": false } } } }
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.recoveryConfig.scheduledSnapshotsConfig.enabled
{
"config": {
"recoveryConfig": {
"scheduledSnapshotsConfig": {
"enabled": false
}
}
}
}
Terraform
Para desativar os resumos agendados, defina o campo enabled
no bloco scheduled_snapshots_config
como false
:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = false
}
}
}
Exemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
recovery_config {
scheduled_snapshots_config {
enabled = false
// Other scheduled snapshots parameters
}
}
}
O que se segue?
- Guarde e carregue instantâneos do ambiente
- Recuperação de desastres com instantâneos
- Controlo de acesso