Rechercher et définir des intervalles de maintenance

Cette page contient des procédures permettant de rechercher et de définir des intervalles de maintenance pour les instances Cloud SQL. Pour savoir comment et pourquoi Cloud SQL effectue des opérations de maintenance, consultez la page Présentation de la maintenance des instances Cloud SQL.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Installez et initialisez le SDK Cloud.

Définir un intervalle souhaité pour les opérations de maintenance sur une instance

Pour définir un intervalle de maintenance souhaité, procédez comme suit :

Console

  1. Accédez à la page Instances.

    ACCÉDER À LA PAGE "INSTANCES"

  2. Cliquez sur le nom d'une instance.
  3. Sur la page Présentation de l'instance Cloud SQL, cliquez sur Modifier les préférences de maintenance.
  4. Sous Options de configuration, ouvrez Maintenance.
  5. Configurez les options ci-dessous :
    • Intervalle souhaité. Définissez la plage de jours et d'heures pendant laquelle des mises à jour peuvent être effectuées sur cette instance.
    • Ordre des mises à jour. Définissez l'ordre de mise à jour de cette instance, en fonction des mises à jour des autres instances. Définissez la planification sur À n'importe quel moment, Avant ou Plus tard. Les instances utilisant le paramètre Avant reçoivent des mises à jour jusqu'à une semaine avant les instances utilisant le paramètre Plus tard, si l'on compare des instances qui se trouvent au même emplacement.

gcloud

Avant d'utiliser la commande gcloud ci-dessous, effectuez les remplacements suivants :
  • instance-id : instance à replanifier.
  • day : jour auquel vous souhaitez que la maintenance soit effectuée. Définissez ce paramètre sur SUN, MON, TUE, WED, THU, FRI ou SAT.
  • hour : heure de la journée pour l'intervalle de maintenance, dans le fuseau horaire UTC (1-24).
    gcloud sql instances patch instance-id
        --maintenance-window-day=day
        --maintenance-window-hour=hour
    
Pour en savoir plus, consultez la page sur gcloud sql instances patch.

Activer les notifications de maintenance

Même lorsque vous activez les notifications, vous ne les recevez que si vous définissez un intervalle souhaité pour les opérations de maintenance sur une instance.

  1. Accédez à la page Communication.
    ACCÉDER À LA PAGE "COMMUNICATION"
  2. Sur la ligne Cloud SQL, Intervalle de maintenance, cochez la case d'option E-mail pour la définir sur ACTIVÉ.

Chaque utilisateur devant recevoir des notifications doit activer lui-même l'option.

Rechercher des notifications de maintenance dans Cloud Console

Vous pouvez consulter les notifications de maintenance à plusieurs endroits dans Cloud Console :

  • Dans le tableau de bord ACTIVITÉ, recherchez les instances marquées avec Maintenance SQL.
    ACCÉDER À LA PAGE "ACTIVITÉ"

  • Lorsqu'une opération de maintenance est programmée pour une instance, la date de maintenance est indiquée sur la page Instances, dans la colonne Maintenance. La colonne Maintenance est généralement masquée, mais elle s'affiche automatiquement lorsqu'une opération de maintenance est programmée. Vous pouvez également sélectionner Maintenance dans le menu Options d'affichage des colonnes L'icône des options d'affichage des colonnes est constituée de trois lignes. si vous souhaitez que la colonne Maintenance soit toujours affichée.

  • Vous pouvez également sélectionner une instance pour accéder à la page Détails de l'instance. Si une opération de maintenance est programmée pour cette instance, un message s'affiche dans le volet Maintenance.
    ACCÉDER À LA PAGE "INSTANCES"

Reprogrammer une maintenance planifiée

Pour reprogrammer une maintenance planifiée, procédez comme suit :

Console

  1. Accédez à la page Instances.

    ACCÉDER À LA PAGE "INSTANCES"

  2. Filtrez sur le terme Maintenance afin de répertorier toutes les instances pour lesquelles une maintenance est programmée.
  3. Dans la colonne Maintenance, cliquez sur Reprogrammer.
  4. Dans la boîte de dialogue Reprogrammer, indiquez si vous souhaitez appliquer la maintenance immédiatement, la reprogrammer dans un délai d'une semaine à compter de l'heure prévue initialement ou créer une autre heure programmée.

gcloud

Avant d'utiliser la commande gcloud ci-dessous, effectuez les remplacements suivants :
  • instance-id : instance à replanifier.
  • reschedule-type : utilisez l'une des valeurs suivantes : IMMEDIATE, NEXT_AVAILABLE_WINDOW ou SPECIFIC_TIME.
  • Si vous choisissez NEXT_AVAILABLE_WINDOW, la maintenance est reprogrammée dans un délai d'une semaine à compter du jour et de l'heure initialement prévus.
  • reschedule-time : si vous sélectionnez SPECIFIC_TIME pour reschedule-type, vous devez également définir cette option pour spécifier les nouveaux jour et heure de la maintenance. Utilisez le format ISO 8601, par exemple 2020-01-16T16:56:00.000Z.
  gcloud sql reschedule-maintenance instance-id
      --reschedule-type=reschedule-type
      [--schedule-time=reschedule-time]
  
Pour plus d'informations, consultez la page sur gcloud sql reschedule-maintenance.

REST v1beta4

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • project-id : ID du projet.
  • instance-id : ID de l'instance
  • reschedule-type : utilisez l'une des valeurs suivantes : IMMEDIATE, NEXT_AVAILABLE_WINDOW ou SPECIFIC_TIME. Si vous choisissez NEXT_AVAILABLE_WINDOW, la maintenance est reprogrammée dans un délai d'une semaine à compter du jour et de l'heure initialement prévus.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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"
}
Pour découvrir comment est formée la requête sous-jacente de l'API REST pour cette tâche, consultez la page sur la méthode instances:post dans APIs Explorer.

Configurer une période de refus de maintenance

Pour configurer une période de refus de maintenance, définissez sa date de début, sa date de fin, ainsi que l'heure de début et de fin de l'intervalle. Un refus de la période de maintenance peut durer de un à 90 jours.

Vous pouvez configurer à tout moment jusqu'à une période de refus de maintenance sur une instance Cloud SQL. Vous pouvez supprimer manuellement un refus de la période de maintenance, qu'il ait eu lieu ou non.

Deux formats peuvent être utilisés pour les dates de début et de fin :

  • yyyy-mm-dd : indique une date spécifique.
  • mm-dd : indique une date récurrente tous les ans.

Les dates de début et de fin sont au format UTC. Pour définir le fuseau horaire, ajustez l'heure de début à l'aide du champ d'heure. Par exemple, la date de début "2020-10-10" et l'heure "07:00:00" indiquent une heure de début égale à "2020-10-10 07:00:00 UTC (2020-10-10 00:00:00 PST)".

Pour l'heure, le format est le suivant : HH:mm:SS.

  • Les heures sont comprises entre 0 et 23 (inclus).
  • Les minutes et les secondes sont comprises entre 0 et 59 (inclus).

Configurez un refus de la période de maintenance à l'aide de gcloud ou de l'API REST.

gcloud

Avant d'utiliser la commande gcloud ci-dessous, effectuez les remplacements suivants :
  • instance-id : ID de l'instance Cloud SQL
  • start-date : date de début de l'intervalle. Par exemple, 2021-11-29.
  • end-date : date de fin de l'intervalle. Par exemple, 2021-12-02.
  • time : heure de début et de fin de l'intervalle. Par exemple, 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 v1beta4

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • project-id : ID du projet.
  • instance-id : ID de l'instance
  • start-date : date de début (aaaa-mm-jj) ou (mm-jj) pour une récurrence annuelle.
  • end-date : date de fin (aaaa-mm-jj) ou (mm-jj) pour une récurrence annuelle.
  • time : heures de début et de fin (HH:mm:SS)

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "settings":
  {
    "denyMaintenancePeriod": {
      "start_date": "start-date",
      "end_date": "end-date"
      "time": "time"
    }
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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"
}

Supprimer un refus de la période de maintenance

Vous pouvez supprimer un refus de la période de maintenance à l'aide de gcloud ou de l'API REST.

gcloud

Avant d'utiliser la commande gcloud ci-dessous, effectuez les remplacements suivants :
  • instance-id : ID de l'instance Cloud SQL
gcloud sql instances patch instance-id \
 --remove-deny-maintenance-period

REST v1beta4

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • project-id : ID du projet.
  • instance-id : ID de l'instance.

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

{
  "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"
}

Notifications liées à un refus de la période de maintenance

Les notifications d'intervalle de maintenance ne sont pas envoyées lorsque l'heure de maintenance planifiée se situe pendant la période de refus de maintenance. Dans ce cas, les notifications sont interdites par les paramètres de la période de refus de maintenance.

Lorsque les paramètres de la période de refus de maintenance de l'instance sont modifiés pour interdire la maintenance à l'heure précédemment planifiée, la maintenance est ignorée et une notification d'annulation est envoyée. Cette notification d'annulation est envoyée si une mise à jour de l'instance a précédemment été planifiée.

Les notifications de maintenance planifiée sont envoyées pendant la période de refus de maintenance, à condition que la maintenance ait été programmée en dehors de cette période.

Étape suivante