Configurar janelas de manutenção

As janelas de manutenção no Cloud Data Fusion permitem controlar quando as atualizações automatizadas e a manutenção de rotina ocorrem. A definição de períodos designados ajuda a evitar interrupções de serviço durante os horários de pico operacional.

As janelas de manutenção são compatíveis com instâncias do Cloud Data Fusion nas versões 6.8.0 e mais recentes.

Sobre as janelas de manutenção

Uma janela de manutenção no Cloud Data Fusion é um período em que você permite que ele realize operações de manutenção, reduzindo o risco de interrupções de serviço durante os horários de pico de uso. O agendamento de janelas de manutenção fora dos horários de pico ou em momentos em que sua atividade é menor minimiza o impacto nas instâncias do Cloud Data Fusion e nas execuções de pipeline.

A configuração de janelas de manutenção permite controlar quando as operações de manutenção ocorrem na instância:

  • Se a janela de manutenção estiver definida, as operações de manutenção serão realizadas pelo Cloud Data Fusion nos períodos definidos.
  • Se a janela de manutenção não estiver definida, a manutenção poderá ser realizada a qualquer momento.

Sobre as operações de manutenção

Para garantir a segurança e a conformidade do sistema, o Cloud Data Fusion realiza operações de manutenção regulares. Essas operações incluem a aplicação de atualizações críticas e patches de segurança para mitigar vulnerabilidades e proteger os dados do usuário. As janelas de manutenção programadas garantem que as atualizações sejam aplicadas com eficiência, preservando a integridade do sistema e minimizando a interrupção das instâncias e execuções de pipeline.

  • Ao configurar as janelas de manutenção, você precisa alocar pelo menos 12 horas por semana para operações de manutenção. Cada janela precisa ter entre 4 e 12 horas.
  • Durante as horas da janela de manutenção, algumas operações podem ser afetadas. Recomendamos ter janelas de manutenção durante os horários de uso fora do pico. A operação de manutenção pode afetar o Cloud Data Fusion das seguintes maneiras:

    • A interface do Cloud Data Fusion Studio pode ficar temporariamente indisponível.
    • A execução do pipeline pode ser afetada, causando falha.
    • Os serviços do Cloud Data Fusion podem ficar temporariamente inativos, causando falha nas chamadas de API.
    • As instâncias podem não estar totalmente funcionais por até uma hora durante as horas da janela de manutenção. Recomendamos configurar janelas de manutenção quando os pipelines não estiverem em execução ou não estiverem programados para serem executados.

Especificar janelas de manutenção ao criar uma instância

Console

Para definir a janela de manutenção ao criar uma instância, siga estas etapas:

  1. Acesse a página Instâncias do Cloud Data Fusion e clique em Criar instância.

    Criar uma instância

  2. Insira um Nome da instância e uma Edição. Para mais informações sobre cada campo, consulte Criar uma instância.
  3. Expanda a seção Opções avançadas.
  4. Expanda a seção Manutenção e siga estas etapas:
    1. Marque a caixa de seleção Ativar janela de manutenção.
    2. No campo Horário de início, insira um horário em um formato compatível.
    3. Na lista TimeZone, selecione um fuso horário.
    4. Nas listas Dias e Duração, selecione os dias da semana e a duração da janela. Para mais informações sobre essas configurações, consulte Sobre as operações de manutenção.
    5. Clique em Criar.

Para mais informações, consulte Configurar horários e recorrência da janela de manutenção (RRULE).

API REST

  1. Defina a configuração Instance usando a API instance.create:
{
  "name": string,
  "description": string,
  …
  …
  "maintenancePolicy": {
    "maintenanceWindow": {
      "recurringTimeWindow": {
        "window": {
            "startTime": "START_TIME",
            "endTime": "END_TIME"
        },
        "recurrence": "MAINTENANCE_RECURRENCE"
      }
    },
  }
}

Substitua:

  • START_TIME: horário de início da janela de tempo, no formato RFC 3339.
  • END_TIME: horário de término da janela de tempo, no formato RFC 3339.
  • MAINTENANCE_RECURRENCE: uma RRULE para a recorrência da janela de manutenção. O Cloud Data Fusion oferece suporte apenas aos seguintes formatos:

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA ou BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY. Isso especifica a recorrência semanal da janela nos dias selecionados, começando no startTime e pela duração especificada.

Para mais informações, consulte Configurar horários e recorrência da janela de manutenção (RRULE).

O exemplo a seguir cria uma instância com uma janela de manutenção de seis horas entre 10h e 16h (UTC) aos sábados e domingos todas as semanas. Para mais informações, consulte a documentação da API Instances.

// POST https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances?instanceID=example-instance

{
  "maintenancePolicy": {
      "maintenanceWindow": {
          "recurringTimeWindow": {
              "window": {
                  "startTime": "2024-01-01T10:00:00Z",
                  "endTime": "2024-01-01T16:00:00Z",
              },
              "recurrence": "FREQ=WEEKLY;BYDAY=SA,SU"
          }
      },
  }
}

gcloud

É possível especificar a janela de manutenção ao criar uma instância usando o gcloud beta data-fusion instances create comando.

Os seguintes parâmetros precisam ser definidos para uma janela de manutenção:

  • --maintenance-window-start define o horário de início da janela.
  • --maintenance-window-end define o horário de término da janela.
  • --maintenance-window-recurrence define uma RRULE para a recorrência da janela de manutenção.
gcloud beta data-fusion instances create INSTANCE_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --maintenance-window-start=START_TIME \
    --maintenance-window-end=END_TIME \
    --maintenance-window-recurrence=MAINTENANCE_RECURRENCE

Substitua:

  • INSTANCE_NAME: o nome da instância.
  • PROJECT_NAME: o nome do projeto.
  • LOCATION: o nome da região da instância.
  • START_TIME: o horário de início da janela no formato de entrada de data/hora. Somente a hora especificada do dia é usada, a data especificada é ignorada.
  • END_TIME: o horário de término da janela no formato de entrada de data/hora. Somente a hora especificada do dia é usada, a data especificada é ignorada. A data e a hora especificadas precisam ser posteriores ao horário de início.
  • MAINTENANCE_RECURRENCE: uma RRULE para a recorrência da janela de manutenção. O Cloud Data Fusion oferece suporte apenas aos seguintes formatos:

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA ou BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY. Isso especifica a recorrência semanal da janela nos dias selecionados, começando no horário --maintenance-window-start e pela duração especificada.

Para mais informações, consulte Configurar horários e recorrência da janela de manutenção (RRULE).

O comando a seguir cria uma instância com uma janela de manutenção de seis horas entre 12h e 18h (UTC) aos sábados e domingos todas as semanas.

gcloud beta data-fusion instances create example-instance \
    --project='example-project' \
    --location='us-east1' \
    --maintenance-window-start='2024-01-01T12:00:00Z' \
    --maintenance-window-end='2024-01-01T18:00:00Z' \
    --maintenance-window-recurrence='FREQ=WEEKLY;BYDAY=SA,SU'

Atualizar as janelas de manutenção de uma instância

Console

Para atualizar a janela de manutenção em uma instância atual no Google Cloud console, siga estas etapas:

  1. Acesse a página Instâncias do Cloud Data Fusion.

    Acesse "Instâncias"

  2. Clique no nome da instância para conferir os detalhes dela.

  3. Na página Detalhes da instância, navegue até o campo Janela de manutenção e clique em Editar.

  4. Os campos da janela de manutenção são abertos no modo de edição. Atualize os valores, conforme necessário:

    1. Marque a caixa de seleção Ativar janela de manutenção.
    2. No campo Horário de início, insira um horário em um formato compatível.
    3. Na lista TimeZone, selecione um fuso horário.
    4. Nas listas Dias e Duração, selecione os dias da semana e a duração da janela. Para mais informações sobre essas configurações, consulte Sobre as operações de manutenção.
  5. Clique em Salvar.

Para mais informações, consulte Configurar horários e recorrência da janela de manutenção (RRULE).

API REST

Para instâncias atuais, atualize as janelas de manutenção usando a instances.patch solicitação de API. Isso substitui a configuração da janela de manutenção atual, se presente. Caso contrário, uma nova configuração será definida, conforme mencionado no corpo da solicitação.

Construa uma solicitação de API da seguinte maneira:

  1. No parâmetro updateMask, especifique a máscara maintenance_policy.
  2. No corpo da solicitação, especifique a janela de manutenção na configuração da política de manutenção:
{
  "maintenancePolicy": {
    "maintenanceWindow": {
        "recurringTimeWindow": {
          "window": {
              "startTime": "START_TIME",
              "endTime": "END_TIME"
          },
          "recurrence": "MAINTENANCE_RECURRENCE"
        }
    },
  }
}

Para mais informações, consulte Configurar horários e recorrência da janela de manutenção (RRULE).

O exemplo a seguir atualiza a configuração da política de manutenção da instância com uma janela de manutenção de quatro horas entre 11h e 15h (UTC) às sextas-feiras, sábados e domingos todas as semanas.

// PATCH https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances/example-instance?updateMask=maintenance_policy

{
"maintenancePolicy": {
  "maintenanceWindow": {
    "recurringTimeWindow": {
      "window": {
          "startTime": "2024-01-01T11:00:00Z",
          "endTime": "2024-01-01T15:00:00Z",
        },
      "recurrence": "FREQ=WEEKLY;BYDAY=FR,SA,SU"
    }
  },
}
}

gcloud

É possível atualizar a janela de manutenção de uma instância usando o gcloud beta data-fusion instances update comando.

Os seguintes parâmetros precisam ser definidos para uma janela de manutenção:

  • --maintenance-window-start define o horário de início da janela.
  • --maintenance-window-end define o horário de término da janela.
  • --maintenance-window-recurrence define uma RRULE para a recorrência da janela de manutenção.
gcloud beta data-fusion instances update INSTANCE_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --maintenance-window-start=START_TIME \
    --maintenance-window-end=END_TIME \
    --maintenance-window-recurrence=MAINTENANCE_RECURRENCE

Substitua:

  • INSTANCE_NAME: o nome da instância.
  • PROJECT_NAME: o nome do projeto.
  • LOCATION: o nome da região da instância.
  • START_TIME: o horário de início da janela no formato de entrada de data/hora. Somente a hora especificada do dia é usada, a data especificada é ignorada.
  • END_TIME: o horário de término da janela no formato de entrada de data/hora. Somente a hora especificada do dia é usada, a data especificada é ignorada. A data e a hora especificadas precisam ser posteriores ao horário de início.
  • MAINTENANCE_RECURRENCE: uma RRULE para a recorrência da janela de manutenção. O Cloud Data Fusion oferece suporte apenas aos seguintes formatos:

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA ou BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY. Isso especifica a recorrência semanal da janela nos dias selecionados, começando no horário --maintenance-window-start e pela duração especificada.

O comando a seguir atualiza a instância example-instance com uma janela de manutenção de seis horas entre 12h e 18h (UTC) aos sábados e domingos todas as semanas.

gcloud beta data-fusion instances update example-instance \
    --project='example-project' \
    --location='us-east1' \
    --maintenance-window-start='2024-01-01T12:00:00Z' \
    --maintenance-window-end='2024-01-01T18:00:00Z' \
    --maintenance-window-recurrence='FREQ=WEEKLY;BYDAY=SA,SU'

Configurar horários e recorrência da janela de manutenção (RRULE)

Ao configurar os horários de início e término da janela de manutenção, os componentes de data dos carimbos de data/hora fornecidos são ignorados. Somente a hora do dia e a duração entre o horário de início e término são consideradas. Os horários são armazenados em UTC, mas é possível usar o UTC ou o deslocamento do fuso horário ao programar janelas de manutenção usando a API REST ou a CLI gcloud.

Ao configurar a recorrência, lembre-se de que a RRULE segue os dias UTC. Portanto, ajuste de acordo se o fuso horário for diferente. Por exemplo, se o fuso horário for PDT (UTC-7) e você quiser que uma janela de manutenção comece às 21h de quarta-feira no seu fuso horário (que corresponde às 4h UTC de quinta-feira), especifique TH em vez de WE na opção BYDAY da RRULE.

Remover a janela de manutenção de uma instância

Console

Para remover a janela de manutenção em uma instância atual no Google Cloud console, siga estas etapas:

  1. Acesse a página Instâncias do Cloud Data Fusion.

    Acesse "Instâncias"

  2. Clique no nome da instância para conferir os detalhes dela.

  3. Na página Detalhes da instância, navegue até o campo Janela de manutenção e clique em Editar.

  4. Para remover a janela de manutenção da instância, desmarque a caixa de seleção Ativar janela de manutenção.

  5. Clique em Salvar.

API REST

Para remover a janela de manutenção de uma instância, transmita um objeto de política de manutenção vazio no corpo da solicitação.

// PATCH https://datafusion.googleapis.com/v1/projects/example-project/locations/us-central1/instances/example-instance?updateMask=maintenance_policy

{
    "maintenancePolicy": {}
}

gcloud

Para remover a janela de manutenção de uma instância, use gcloud beta data-fusion instances update comando com a --clear-maintenance-window flag.

gcloud beta data-fusion instances update INSTANCE_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --clear-maintenance-window

Substitua:

  • INSTANCE_NAME: o nome da instância.
  • PROJECT_NAME: o nome do projeto.
  • LOCATION: o nome da região da instância.

Conferir eventos de manutenção e receber notificações

O Cloud Data Fusion informa eventos de manutenção programados para suas instâncias pelo Unified Maintenance. Para conferir esses eventos e receber notificações sobre eles, é necessário configurar cada um separadamente:

Ativar a API Unified Maintenance

Para conferir eventos de manutenção no Google Cloud console do Google Cloud, ative a API Unified Maintenance (maintenance.googleapis.com) no seu projeto. O Unified Maintenance não mostra eventos históricos programados antes da ativação da API.

Console

  1. Na Biblioteca de APIs, acesse a página API Maintenance.

    Acessar a API Maintenance

  2. Clique em Ativar.

gcloud

Use o gcloud services enable comando:

gcloud services enable maintenance.googleapis.com \
    --project=PROJECT_ID

Substitua PROJECT_ID pelo ID do projeto.

Configurar notificações

O Unified Maintenance grava logs de eventos de manutenção com o ID de registro maintenance.googleapis.com/maintenance_events no Logging automaticamente, independentemente de a API Unified Maintenance estar ativada. Para receber notificações por canais como e-mail, Pub/Sub, Slack, PagerDuty ou webhooks, crie políticas de alertas com base em registros que correspondam a esses registros. Para mais informações, consulte Configurar alertas e notificações.

A seguir