Configure instantâneos agendados

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:

  1. Defina uma configuração do ciclo de vida para o contentor.
  2. Especifique a ação Eliminar objeto.
  3. Selecione Idade e 30 dias como condição.

Ative um horário de instantâneos para o seu ambiente

Consola

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. Em Configuração de recuperação > Agendamento de instantâneos, clique em Editar. É aberto o painel Horário de instantâneos.

  5. No painel Programação de instantâneos, selecione Criar instantâneos periodicamente, de acordo com a programação especificada.

  6. 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 * * * *.

  7. 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 entre UTC-12 e UTC+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:

  1. No parâmetro updateMask, especifique a máscara config.recoveryConfig.scheduledSnapshotsConfig para substituir a configuração de instantâneos agendados existente.

  2. 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 entre UTC-12 e UTC+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 entre UTC-12 e UTC+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

  1. Na Google Cloud consola, aceda à página Ambientes.

    Aceder a Ambientes

  2. Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.

  3. Aceda ao separador Configuração do ambiente.

  4. Em Configuração de recuperação > Agendamento de instantâneos, clique em Editar. É aberto o painel Horário de instantâneos.

  5. 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:

  1. No parâmetro updateMask, especifique a máscara config.recoveryConfig.scheduledSnapshotsConfig.enabled para substituir o valor do campo enabled.

  2. 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?