Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, explicamos como configurar o ambiente para salvar snapshots em uma programação.
Para mais informações sobre como os snapshots do ambiente funcionam e como salvá-los manualmente, consulte Salvar e carregar snapshots.
Como os snapshots programados funcionam
Ao ativar snapshots programados, o Cloud Composer salva periodicamente snapshots do ambiente em um bucket do Cloud Storage.
Se você criar snapshots manualmente, o Cloud Composer salvará snapshots no bucket do ambiente por padrão. Para snapshots programados, recomendamos salvar snapshots em um bucket separado. Dessa forma, é possível definir as permissões e uma configuração do ciclo de vida para esse bucket. Um bucket pode conter snapshots de vários ambientes, e também é possível criar buckets redundantes entre regiões.
Antes de começar
Para mais informações sobre os requisitos e as limitações de snapshots, consulte Salvar e carregar snapshots.
O Cloud Composer é compatível com snapshots programados nas versões 2.0.32 e posteriores. Os snapshots do ambiente são compatíveis com as versões 2.0.9 e posteriores.
Criar um bucket para snapshots programados
Crie um bucket para snapshots programados. Pense em como você quer usar os snapshots do ambiente. Se fizer parte do seu plano de recuperação de desastres, use um bucket redundante entre regiões ou um bucket em uma região diferente para ter acesso aos dados mesmo no caso de uma interrupção regional completa. Caso contrário, um bucket na mesma região do ambiente pode ser mais adequado e, nesse caso, você reduz os custos de transferência de dados entre regiões.
Configurar permissões para o bucket
Configure as seguintes permissões:
A conta de serviço do seu ambiente precisa ter permissões de leitura e gravação para esse bucket. Por exemplo, o papel Administrador de objetos do Storage tem essas permissões.
As contas de usuário não precisam de outras permissões para que o bucket carregue snapshots dele, a menos que você queira visualizar o conteúdo do bucket no console do Google Cloud. Nesse caso, uma conta de usuário precisa ter permissão de leitura no bucket.
Definir uma configuração de ciclo de vida para o bucket
Para economizar custos de armazenamento, você pode configurar uma regra que exclua snapshots de ambiente após um determinado período.
Por exemplo, para excluir automaticamente snapshots com mais de 30 dias:
- Defina uma configuração de ciclo de vida para o bucket.
- Especifique a ação Excluir objeto.
- Selecione Idade e 30 dias como a condição.
Ativar uma programação de snapshots para o ambiente
Console
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
Em Configuração de recuperação > Programação de snapshot, clique em Editar. O painel Programação de snapshots é aberto.
No painel Programação de snapshots, selecione Criar snapshots periodicamente, de acordo com a programação especificada.
Na lista suspensa Frequência de programação, selecione um período diário, semanal ou personalizado para os snapshots.
É possível especificar uma programação personalizada com o formato unix-cron. Por exemplo, para salvar snapshots a cada 30 minutos, especifique
*/30 * * * *
.No campo Local do snapshot, selecione a pasta do bucket em que você quer salvar os snapshots.
gcloud
Atualize a configuração do ambiente. Os argumentos a seguir definem parâmetros para snapshots programados:
--enable-scheduled-snapshot-creation
ativa snapshots programados.--snapshot-location
especifica uma pasta de bucket onde você quer salvar snapshots.--snapshot-creation-schedule
especifica com que frequência os snapshots do ambiente precisam ser criados, no formato unix-cron. Por exemplo, para criar um snapshot a cada 30 minutos, especifique*/30 * * * *
.--snapshot-schedule-timezone
define um fuso horário para a programação. Esse valor é um ajuste de tempo e não considera as mudanças do horário de verão. Os valores válidos vão deUTC-12
aUTC+12
. Exemplos:UTC
,UTC-01
,UTC+03
.
gcloud beta 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"
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;SNAPSHOTS_FOLDER
pelo URI de uma pasta do bucket em que o snapshot será salvo.CRON_EXPRESSION
com a programação, no formato unix-cron.TIME_ZONE
com um fuso horário para a programação.
Exemplo (todos os dias às 4h, UTC+01):
gcloud beta 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
Crie uma solicitação de API environments.patch
.
Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.recoveryConfig.scheduledSnapshotsConfig
para substituir a configuração atual de snapshots programados.No corpo da solicitação, especifique a configuração dos snapshots:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://SNAPSHOTS_FOLDER", "snapshot_creation_schedule": "CRON_EXPRESSION", "time_zone": "TIME_ZONE" } } } }
Substitua:
SNAPSHOTS_FOLDER
pelo URI de uma pasta do bucket em que o snapshot será salvo.CRON_EXPRESSION
com a programação, no formato unix-cron.TIME_ZONE
com um fuso horário para a programação. Esse valor é um ajuste de tempo e não considera as mudanças de horário de verão. Os valores válidos vão deUTC-12
aUTC+12
. Exemplos:UTC
,UTC-01
,UTC+03
.
Exemplo (todos os dias às 4h, UTC+01):
// PATCH https://composer.googleapis.com/v1beta1/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 scheduled_snapshots_config
no bloco recovery_config
define
parâmetros para snapshots programados:
enabled
ativa snapshots programados.snapshot_location
especifica uma pasta de bucket em que você quer salvar os snapshots.snapshot_creation_schedule
especifica com que frequência os snapshots do ambiente precisam ser criados, no formato unix-cron. Por exemplo, para criar um snapshot 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"
}
}
}
Substitua:
SNAPSHOTS_FOLDER
pelo URI de uma pasta do bucket em que o snapshot será salvo.CRON_EXPRESSION
com a programação, no formato unix-cron.TIME_ZONE
com um fuso horário para a programação. Esse valor é um ajuste de tempo e não considera as mudanças de horário de verão. Os valores válidos vão deUTC-12
aUTC+12
. Exemplos:UTC
,UTC-01
,UTC+03
.
Exemplo (todos os dias às 4h, 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"
}
}
}
Desativar snapshots programados
Se você desativar os snapshots programados, todos os snapshots existentes que já foram capturados não serão modificados nem removidos. Esses snapshots permanecem no local em que foram salvos.
Console
No console do Google Cloud, acesse a página Ambientes.
Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
Em Configuração de recuperação > Programação de snapshot, clique em Editar. O painel Programação de snapshots é aberto.
No painel Programação de snapshots, selecione Não criar snapshots automaticamente.
gcloud
Atualize a configuração do ambiente. O argumento --disable-scheduled-snapshot-creation
desativa os snapshots programados.
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-scheduled-snapshot-creation
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;
Exemplo:
gcloud beta composer environments update example-environment \
--location us-central1 \
--disable-scheduled-snapshot-creation
API
Crie uma solicitação de API environments.patch
.
Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.recoveryConfig.scheduledSnapshotsConfig.enabled
para substituir o valor do campoenabled
.No corpo da solicitação, especifique o novo valor:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": false } } } }
Exemplo:
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.recoveryConfig.scheduledSnapshotsConfig.enabled
{
"config": {
"recoveryConfig": {
"scheduledSnapshotsConfig": {
"enabled": false
}
}
}
}
Terraform
Para desativar snapshots programados, 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
}
}
}