Configurer des intervalles de maintenance

Cette page explique comment définir des périodes de maintenance pour les instances Cloud Data Fusion.

Les périodes de maintenance sont compatibles avec les instances Cloud Data Fusion dans les versions 6.8.0 et ultérieures.

À propos des intervalles de maintenance

Dans Cloud Data Fusion, un intervalle de maintenance est une période pendant laquelle vous autorisez le service à effectuer des opérations de maintenance, ce qui réduit le risque d'interruption du service pendant les périodes d'utilisation maximale. Planifier des intervalles de maintenance pendant les heures creuses ou les périodes de faible activité permet de minimiser leur impact sur vos instances Cloud Data Fusion et l'exécution de vos pipelines.

Le fait de configurer l'intervalle de maintenance vous permet de contrôler quand les opérations de maintenance doivent se produire sur votre instance :

  • Si l'intervalle de maintenance est défini, les opérations de maintenance sont effectuées par Cloud Data Fusion pendant les périodes définies.
  • Si l'intervalle de maintenance n'est pas défini, la maintenance peut être effectuée à tout moment.

À propos des opérations de maintenance

Pour assurer la sécurité et la conformité du système, Cloud Data Fusion effectue des opérations de maintenance régulières. Ces opérations incluent l'application de mises à jour critiques et de correctifs de sécurité pour atténuer les failles et protéger les données utilisateur. Les périodes de maintenance planifiées permettent d'appliquer efficacement les mises à jour, de préserver l'intégrité du système et de minimiser les perturbations pour les instances et les exécutions de pipelines.

  • Lorsque vous configurez les intervalles de maintenance, vous devez allouer au moins 12 heures par semaine aux opérations de maintenance. Chaque fenêtre doit être comprise entre 4 et 12 heures.
  • Pendant les heures de l'intervalle de maintenance, certaines opérations peuvent être affectées. Nous vous recommandons de planifier des intervalles de maintenance pendant les heures creuses. L'opération de maintenance peut affecter Cloud Data Fusion de différentes manières :

    • L'interface Cloud Data Fusion Studio peut être temporairement indisponible.
    • L'exécution du pipeline peut être affectée et échouer.
    • Il est possible que les services Cloud Data Fusion soient temporairement indisponibles, ce qui peut entraîner l'échec des appels d'API.
    • Il est possible que les instances ne soient pas entièrement fonctionnelles pendant une heure au maximum pendant les heures de la période de maintenance. Nous vous recommandons de configurer des périodes de maintenance lorsque vos pipelines ne sont pas en cours d'exécution ou ne sont pas programmés pour s'exécuter.

Spécifier des intervalles de maintenance lors de la création d'une instance

Console

Pour définir l'intervalle de maintenance lorsque vous créez une instance, procédez comme suit :

  1. Accédez à la page Instances de Cloud Data Fusion, puis cliquez sur Créer une instance.

    Créer une instance

  2. Saisissez un Nom d'instance et une Édition. Pour en savoir plus sur chaque champ, consultez Créer une instance.
  3. Développez la section Options avancées.
  4. Développez la section Maintenance et procédez comme suit :
    1. Cochez la case Activer l'intervalle de maintenance.
    2. Dans le champ Heure de début, saisissez une heure dans un format accepté.
    3. Dans la liste TimeZone, sélectionnez un fuseau horaire.
    4. Dans les listes Jours et Durée, sélectionnez les jours de la semaine et la durée de la période. Pour en savoir plus sur ces paramètres, consultez À propos des opérations de maintenance.
    5. Cliquez sur Créer.

Pour en savoir plus, consultez Configurer les heures et la récurrence (RRULE) des intervalles de maintenance.

API REST

  1. Définissez la configuration Instance à l'aide de l'API instance.create :
{
  "name": string,
  "description": string,
  
  
  "maintenancePolicy": {
    "maintenanceWindow": {
      "recurringTimeWindow": {
        "window": {
            "startTime": "START_TIME",
            "endTime": "END_TIME"
        },
        "recurrence": "MAINTENANCE_RECURRENCE"
      }
    },
  }
}

Remplacez les éléments suivants :

  • START_TIME : heure de début de la période, au format RFC 3339.
  • END_TIME : heure de fin de la période, au format RFC 3339.
  • MAINTENANCE_RECURRENCE : RRULE pour la récurrence de l'intervalle de maintenance. Cloud Data Fusion n'est compatible qu'avec les formats suivants :

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA ou BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY. Cela spécifie la récurrence hebdomadaire de la fenêtre les jours sélectionnés, à partir de startTime et pour la durée spécifiée.

Pour en savoir plus, consultez Configurer les heures et la récurrence (RRULE) des intervalles de maintenance.

L'exemple suivant crée une instance avec un intervalle de maintenance de six heures entre 10h et 16h (UTC) les samedis et dimanches de chaque semaine. Pour plus d'informations, consultez la documentation de l'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

Vous pouvez spécifier l'intervalle de maintenance lorsque vous créez une instance à l'aide de la commande gcloud beta data-fusion instances create.

Les paramètres suivants doivent être définis pour un intervalle de maintenance :

  • --maintenance-window-start définit l'heure de début de la période.
  • --maintenance-window-end définit l'heure de fin de la période.
  • --maintenance-window-recurrence définit une RRULE pour la récurrence de l'intervalle de maintenance.
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

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de l'instance.
  • PROJECT_NAME : nom du projet.
  • LOCATION : nom de la région de l'instance.
  • START_TIME : heure de début de la période au format "date/heure". Seule l'heure spécifiée est utilisée, la date est ignorée.
  • END_TIME : heure de fin de la période au format "date/heure". Seule l'heure spécifiée est utilisée, la date est ignorée. La date et l'heure spécifiées doivent être postérieures à la date et à l'heure de début.
  • MAINTENANCE_RECURRENCE : RRULE pour la récurrence de l'intervalle de maintenance. Cloud Data Fusion n'est compatible qu'avec les formats suivants :

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA ou BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY. Cela spécifie la récurrence hebdomadaire de la fenêtre les jours sélectionnés, à partir de l'heure --maintenance-window-start et pour la durée spécifiée.

Pour en savoir plus, consultez Configurer les heures et la récurrence (RRULE) des intervalles de maintenance.

La commande suivante crée une instance avec un intervalle de maintenance de six heures entre 12h et 18h (UTC) les samedis et dimanches de chaque semaine.

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'

Mettre à jour les intervalles de maintenance d'une instance

Console

Pour mettre à jour l'intervalle de maintenance d'une instance existante dans la consoleGoogle Cloud , procédez comme suit :

  1. Accédez à la page Instances de Cloud Data Fusion.

    Accéder à la page "Instances"

  2. Cliquez sur le nom de l'instance pour afficher ses détails.

  3. Sur la page Détails de l'instance, accédez au champ Période de maintenance et cliquez sur Modifier.

  4. Les champs de la période de maintenance sont ouverts en mode Édition. Modifiez les valeurs si nécessaire :

    1. Cochez la case Activer l'intervalle de maintenance.
    2. Dans le champ Heure de début, saisissez une heure dans un format accepté.
    3. Dans la liste TimeZone, sélectionnez un fuseau horaire.
    4. Dans les listes Jours et Durée, sélectionnez les jours de la semaine et la durée de l'intervalle. Pour en savoir plus sur ces paramètres, consultez À propos des opérations de maintenance.
  5. Cliquez sur Enregistrer.

Pour en savoir plus, consultez Configurer les heures et la récurrence (RRULE) des intervalles de maintenance.

API REST

Pour les instances existantes, mettez à jour les périodes de maintenance à l'aide de la requête API instances.patch. Cela remplace la configuration existante de l'intervalle de maintenance, le cas échéant. Sinon, une nouvelle configuration est définie, comme indiqué dans le corps de la requête.

Créez une requête API comme suit :

  1. Dans le paramètre updateMask, spécifiez le masque maintenance_policy.
  2. Dans le corps de la requête, spécifiez l'intervalle de maintenance dans la configuration de la règle de maintenance :
{
  "maintenancePolicy": {
    "maintenanceWindow": {
        "recurringTimeWindow": {
          "window": {
              "startTime": "START_TIME",
              "endTime": "END_TIME"
          },
          "recurrence": "MAINTENANCE_RECURRENCE"
        }
    },
  }
}

Pour en savoir plus, consultez Configurer les heures et la récurrence (RRULE) des intervalles de maintenance.

L'exemple suivant met à jour la configuration de la règle de maintenance de l'instance avec un intervalle de maintenance de quatre heures entre 11h et 15h (UTC) les vendredis, samedis et dimanches de chaque semaine.

// 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

Vous pouvez mettre à jour la période de maintenance d'une instance à l'aide de la commande gcloud beta data-fusion instances update.

Les paramètres suivants doivent être définis pour un intervalle de maintenance :

  • --maintenance-window-start définit l'heure de début de la période.
  • --maintenance-window-end définit l'heure de fin de la période.
  • --maintenance-window-recurrence définit une RRULE pour la récurrence de l'intervalle de maintenance.
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

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de l'instance.
  • PROJECT_NAME : nom du projet.
  • LOCATION : nom de la région de l'instance.
  • START_TIME : heure de début de la période au format "date/heure". Seule l'heure spécifiée est utilisée, la date est ignorée.
  • END_TIME : heure de fin de la période au format "date/heure". Seule l'heure spécifiée est utilisée, la date est ignorée. La date et l'heure spécifiées doivent être postérieures à la date et à l'heure de début.
  • MAINTENANCE_RECURRENCE : RRULE pour la récurrence de l'intervalle de maintenance. Cloud Data Fusion n'est compatible qu'avec les formats suivants :

    • FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA ou BYDAY=SU,MO,TU,WE,TH,FR,SA,MO;FREQ=WEEKLY. Cela spécifie la récurrence hebdomadaire de la fenêtre les jours sélectionnés, à partir de l'heure --maintenance-window-start et pour la durée spécifiée.

La commande suivante met à jour l'instance example-instance avec un intervalle de maintenance de six heures entre 12h et 18h (UTC) les samedis et dimanches de chaque semaine.

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'

Configurer les heures et la récurrence (RRULE) des intervalles de maintenance

Lorsque vous configurez les heures de début et de fin de l'intervalle de maintenance, les composants de date des codes temporels fournis sont ignorés. Seuls l'heure de la journée et la durée entre l'heure de début et l'heure de fin sont prises en compte. Les heures sont stockées en UTC, mais vous pouvez utiliser le fuseau horaire UTC ou votre décalage de fuseau horaire lorsque vous planifiez des intervalles de maintenance à l'aide de l'API REST ou de gcloud CLI.

Lorsque vous configurez la récurrence, gardez à l'esprit que RRULE suit les jours UTC. Vous devez donc l'ajuster en conséquence si votre fuseau horaire est différent. Par exemple, si votre fuseau horaire est PDT (UTC-7) et que vous souhaitez qu'un intervalle de maintenance commence à 21h le mercredi dans votre fuseau horaire (ce qui correspond à 4h UTC le jeudi), spécifiez TH au lieu de WE dans l'option BYDAY de RRULE.