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 de instâncias, consulte a Visão geral da manutenção de instâncias do Cloud SQL.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Instale e inicialize o SDK do Cloud..
  5. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  7. Instale e inicialize o SDK do Cloud..

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. Clique no nome da instância para abrir a página Visão geral correspondente.
  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 momento 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.

Ativar as notificações de manutençãos

Mesmo ao ativar as notificações, você não as receberá a menos que 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 SqlScheduledMaintenance na resposta.

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:

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

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",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-f1-micro",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "asia-east1-a",
      "kind": "sql#locationPreference"
    },
    "SqlScheduledMaintenance":{
      "startTime": "2021-10-02T15:01:23Z",
      "canDefer": true,
      "canReschedule": true,
      "scheduleDeadlineTime": "2021-10-02T15:01:23Z"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "08:00",
      "kind": "sql#backupConfiguration",
      "enabled": true,
      "binaryLogEnabled": true
    },
    "settingsVersion": "13",
    "storageAutoResizeLimit": "0",
    "storageAutoResize": true,
    "dataDiskSizeGb": "10"
  },
  "etag": "etag-id",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    "kind": "sql#sslCert",
    "certSerialNumber": "0",
    "cert": "certificate-id",
    "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
    "sha1Fingerprint": "sha-id",
    "instance": "instance-id",
    "createTime": "2019-06-28T22:46:35.052Z",
    "expirationTime": "2029-06-25T22:47:35.052Z"
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "SECOND_GEN",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "asia-east1",
  "gceZone": "asia-east1-a"
}

Procure a seção SqlScheduledMaintenance na resposta.

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:

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

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",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-f1-micro",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "asia-east1-a",
      "kind": "sql#locationPreference"
    },
    "SqlScheduledMaintenance":{
      "startTime": "2021-10-02T15:01:23Z",
      "canDefer": true,
      "canReschedule": true,
      "scheduleDeadlineTime": "2021-10-02T15:01:23Z"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "08:00",
      "kind": "sql#backupConfiguration",
      "enabled": true,
      "binaryLogEnabled": true
    },
    "settingsVersion": "13",
    "storageAutoResizeLimit": "0",
    "storageAutoResize": true,
    "dataDiskSizeGb": "10"
  },
  "etag": "etag-id",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    "kind": "sql#sslCert",
    "certSerialNumber": "0",
    "cert": "certificate-id",
    "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
    "sha1Fingerprint": "sha-id",
    "instance": "instance-id",
    "createTime": "2019-06-28T22:46:35.052Z",
    "expirationTime": "2029-06-25T22:47:35.052Z"
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "SECOND_GEN",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "asia-east1",
  "gceZone": "asia-east1-a"
}

Procure a seção SqlScheduledMaintenance 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 acontecer em um horário específico em uma semana a partir da hora originalmente programada ou adiá-la em uma semana.

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 ocorrer dentro de uma semana a partir do dia e horário atualmente programados.

  • 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.

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 ocorrer dentro de uma semana no dia e horário originalmente programados.

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 ocorrer dentro de uma semana no dia e horário originalmente programados.

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, data de início = 2020-10-10 e hora = 07:00:00 indica 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 vão de 0 a 23 (incluindo esses dois valores).
  • 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. Clique no nome da instância para abrir a página Visão geral correspondente.
  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":
  {
    "denyMaintenancePeriod": {
      "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":
  {
    "denyMaintenancePeriod": {
      "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. Clique no nome da instância para abrir a página Visão geral correspondente.
  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 tempo de manutenção planejado está dentro do período de manutenção de negação. Além, disso, elas são proibidas pelas configurações desse período.

A manutenção é ignorada e a notificação de cancelamento de manutenção é enviada quando as configurações do período de negação de instância são alteradas para proibir a manutenção no horário agendado anteriormente. Essa notificação de cancelamento será enviada se a instância tiver sido programada anteriormente para 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