Localizar e definir janelas de manutenção

Esta página contém procedimentos para localizar e definir janelas de manutenção para instâncias do Cloud SQL. Para saber mais sobre como e por que o Cloud SQL realiza a manutenção, consulte a Visão geral da manutenção de instâncias do Cloud SQL.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init

Definir uma janela preferencial para manutenção em uma instância

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Na seção Manutenção, clique em Editar preferências de manutenção.
  4. Na seção Opções de configuração, abra Manutenção.
  5. Configure as seguintes opções:
    • Janela preferencial. Defina o intervalo de dia e hora em que as atualizações podem ocorrer na instância.
    • Ordem de atualização. Defina a ordem de atualização da instância em relação a atualizações de outras instâncias. Defina o tempo como Qualquer, Mais cedo ou Mais tarde. Ao comparar instâncias que residem no mesmo local, aquelas que usam a configuração Mais cedo recebem atualizações até uma semana antes das instâncias que usam a configuração Mais tarde.

gcloud

Antes de usar o comando gcloud abaixo, faça as seguintes substituições:

  • instance-id: instância a reagendar
  • day: o dia em que você quer que a manutenção ocorra. Defina como SUN, MON, TUE, WED, THU, FRI ou SAT.
  • hour: hora do dia para a janela de manutenção, no fuso horário UTC (0-23).
gcloud sql instances patch instance-id \
--maintenance-window-day=day \
--maintenance-window-hour=hour
    
Para informações de referência, consulte gcloud sql instances patch.

Se você fizer alterações na configuração da janela de manutenção enquanto a instância estiver em manutenção ou programada para manutenção, as alterações não entrarão em vigor imediatamente. Essas alterações são refletidas nos eventos de manutenção futuros.

Se você tiver ativado as notificações de manutenção, o Cloud SQL enviará notificações depois que uma instância tiver sido programada para manutenção, com a data e a hora exatas em que a manutenção está programada para acontecer. O Cloud SQL envia essas notificações com base na ordem das configurações de atualização da janela de manutenção da instância, da seguinte maneira:

  • Se a ordem das configurações de atualização estiver definida como Earlier, o Cloud SQL enviará notificações de manutenção com pelo menos uma semana de antecedência.
  • Se a ordem das configurações de atualização estiver definida como Later, o Cloud SQL enviará notificações de manutenção com pelo menos duas semanas de antecedência.

Ativar as notificações de manutenção

Antes de ativar as notificações de manutenção, defina uma janela preferencial para manutenção em uma instância.

  1. Acesse a página Comunicação. Acessar a página "Comunicação"
  2. Na linha do Cloud SQL, em Janela de manutenção, selecione o botão de opção em E-mail para ATIVAR as notificações.

Cada usuário que precisa receber notificações precisa aceitar separadamente.

Encontrar notificações de manutenção no Console do Google Cloud

É possível visualizar notificações de manutenção em alguns lugares no Console do Google Cloud:

  • No painel ATIVIDADE, procure instâncias marcadas com Manutenção SQL.
    Acessar "Atividade"

  • Quando uma instância é programada para manutenção, a data em que isso ocorrerá é listada na coluna Manutenção da página Instâncias. A coluna Manutenção normalmente fica oculta, mas é exibida automaticamente quando a manutenção é programada. Também é possível selecionar Manutenção em Opções de exibição da coluna (O ícone de opções de exibição da coluna tem três linhas) se você quiser que a coluna Manutenção sempre apareça.

  • Como alternativa, é possível selecionar uma instância para acessar a página Detalhes da instância. Se a instância estiver programada para manutenção, você verá uma mensagem no painel Manutenção.
    Acessar a página "Instâncias do Cloud SQL"

Encontrar janelas de manutenção programadas usando a API

gcloud

Antes de usar o comando gcloud abaixo, faça as seguintes substituições

  • instance-id: a instância a ser reprogramada.
gcloud sql instances describe instance-id
    

Procure a seção scheduledMaintenance na resposta.

REST v1

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID ou número do projeto do Google Cloud que contém a instância
  • INSTANCE_NAME: o nome da instância que você está configurando para alta disponibilidade

Método HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13"
}

Procure a seção scheduledMaintenance na resposta.

REST v1beta4

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID ou número do projeto do Google Cloud que contém a instância
  • INSTANCE_NAME: o nome da instância que você está configurando para alta disponibilidade

Método HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13"
}

Procure a seção scheduledMaintenance na resposta.

Reprogramar manutenção planejada

É possível reprogramar a manutenção usando o Console do Google Cloud, a ferramenta de linha de comando gcloud ou a API Cloud SQL Admin.

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Filtre pelo termo Manutenção para listar todas as instâncias programadas para manutenção.
  3. Na coluna Manutenção, clique em Reprogramar.
  4. Na caixa de diálogo Reprogramar, escolha entre aplicar a manutenção imediatamente, reprogramá-la para que ocorra em um momento específico no período de 28 dias de adiamento ou adiar para a próxima janela de manutenção disponível.

gcloud

Antes de usar o comando gcloud abaixo, faça as seguintes substituições:

  • instance-id: a instância a ser reprogramada.
  • reschedule-type: use IMMEDIATE, NEXT_AVAILABLE_WINDOW ou SPECIFIC_TIME.

    Se você escolher NEXT_AVAILABLE_WINDOW, a manutenção será reprogramada para a próxima janela de manutenção disponível após o horário programado atual.

  • reschedule-time: se você selecionar SPECIFIC_TIME para reschedule-type, também precisará definir essa sinalização para especificar o novo dia e hora da manutenção. Usa o formato ISO 8601. Por exemplo, 2020-01-16T16:56:00.000Z
gcloud sql reschedule-maintenance instance-id \
--reschedule-type=reschedule-type \
[--schedule-time=reschedule-time]
  
Para informações de referência, consulte gcloud sql reschedule-maintenance.

Se você quiser reprogramar a manutenção por até 28 dias, verifique o número da versão de gcloud. Se o número da versão for anterior a 390.0.0_RC00, reinstale o gcloud.

REST v1

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • reschedule-type: use uma destas opções, IMMEDIATE, NEXT_AVAILABLE_WINDOW ou SPECIFIC_TIME.

    Se você escolher NEXT_AVAILABLE_WINDOW, a manutenção será reprogramada para a próxima janela de manutenção disponível.

Método HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/rescheduleMaintenance

Corpo JSON da solicitação:

{
  "reschedule": {
    "reschedule_type": "reschedule-type"
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": RESCHEDULE_MAINTENANCE,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • reschedule-type: use uma destas opções, IMMEDIATE, NEXT_AVAILABLE_WINDOW ou SPECIFIC_TIME.

    Se você escolher NEXT_AVAILABLE_WINDOW, a manutenção será reprogramada para a próxima janela de manutenção disponível.

Método HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rescheduleMaintenance

Corpo JSON da solicitação:

{
  "reschedule": {
    "reschedule_type": "reschedule-type"
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": RESCHEDULE_MAINTENANCE,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Para ver como a solicitação da API REST é criada nesta tarefa, consulte o APIs Explorer na página "instances:post".

Configurar um período de manutenção de negação

É possível configurar, no máximo, um período de manutenção de negação em uma instância do Cloud SQL, a qualquer momento. O período de manutenção de negação tem precedência sobre qualquer janela de manutenção programada. Se houver conflito entre o momento de uma janela de manutenção e o período de manutenção de negação, o período modificará a janela.

É possível remover manualmente um período de manutenção de negação, independentemente de ele ter ocorrido ou não.

Para configurar um período de manutenção de negação, defina a data de início, a data de término e a hora em que o intervalo começa e termina. Um período de manutenção de negação pode variar de 1 a 90 dias.

Há dois formatos para a data de início e de término:

  • yyyy-mm-dd: indica uma data específica.
  • mm-dd: indica uma data recorrente todo ano.

As datas de início e de término são no formato UTC. Para definir o fuso horário, use o campo de hora e ajuste o horário de início. Por exemplo, a data de início = 2020-10-10 e a hora = 07:00:00 indicam o horário de início 2020-10-10 07:00:00 UTC (2020-10-10 00:00:00 (PST)

Para a hora, o formato é: HH:mm:SS.

  • As horas estão entre 0 e 23 (inclusive).
  • Os minutos e os segundos vão de 0 e 59 (incluindo esses dois valores).

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Na seção Manutenção, clique em Editar preferências de manutenção.
  4. Na seção Período de manutenção de negação, defina as datas de início e término.
  5. Na seção Opções avançadas, selecione opcionalmente Repetir a cada ano.
  6. Clique em Save.

gcloud

Antes de usar o comando gcloud abaixo, faça as seguintes substituições:

  • instance-id: ID da instância do Cloud SQL
  • start-date: data em que o intervalo começa. Por exemplo, 2021-11-29.
  • end-date: data em que o intervalo termina. Por exemplo, 2021-12-02.
  • time: hora do início e do término do intervalo. Por exemplo, 00:00:00.
gcloud sql instances patch instance-id\
 --deny-maintenance-period-start-date=start-date \
 --deny-maintenance-period-end-date=end-date \
 --deny-maintenance-period-time=time

REST v1

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • start-date: a data de início (dd-mm-aaaa) ou (dd-mm) para recorrência anual
  • end-date: a data de término (dd-mm-aaaa) ou (dd-mm) para recorrência anual
  • time: hora de início e término (HH:mm:SS)

Método HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Corpo JSON da solicitação:

{
  "settings":
  {
    "denyMaintenancePeriods": [{
      "start_date": "start-date",
      "end_date": "end-date"
      "time": "time"
    }]
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": MAINTENANCE_DENY_PERIOD,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • start-date: a data de início (dd-mm-aaaa) ou (dd-mm) para recorrência anual
  • end-date: a data de término (dd-mm-aaaa) ou (dd-mm) para recorrência anual
  • time: hora de início e término (HH:mm:SS)

Método HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON da solicitação:

{
  "settings":
  {
    "denyMaintenancePeriods": [{
      "start_date": "start-date",
      "end_date": "end-date"
      "time": "time"
    }]
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": MAINTENANCE_DENY_PERIOD,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Remover um período de manutenção de negação

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Na seção Manutenção, clique em Editar preferências de manutenção.
  4. Na seção Período de negação de manutenção, clique em Limpar.
  5. Clique em Save.

gcloud

Antes de usar o comando gcloud abaixo, faça as seguintes substituições:

  • instance-id: ID da instância do Cloud SQL
gcloud sql instances patch instance-id \
--remove-deny-maintenance-period

REST v1

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

Corpo JSON da solicitação:

{
  "settings":
  {
    "denyMaintenancePeriods": []
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": MAINTENANCE_DENY_PERIOD,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância

Método HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Corpo JSON da solicitação:

{
  "settings":
  {
    "denyMaintenancePeriods": []
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": MAINTENANCE_DENY_PERIOD,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Notificações do período de manutenção de negação

As notificações da janela de manutenção não são enviadas quando o horário de manutenção planejada está dentro do período de bloqueio de manutenção e são proibidas pelas configurações desse período.

Se você alterar as configurações do período de bloqueio de manutenção para impedir a manutenção em um horário programado anteriormente, a instância do Cloud SQL ignorará a manutenção e enviará uma notificação sobre o cancelamento. O Cloud SQL envia esse aviso de cancelamento sempre que a instância é programada para uma atualização.

As notificações de manutenção planejada são enviadas durante o período de manutenção de negação, desde que ela esteja programada para ocorrer fora desse período.

A seguir