Configurer des intervalles de maintenance

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

Les fenêtres de maintenance sont compatibles avec les instances Cloud Data Fusion à partir de la version 6.8.0.

À propos des intervalles de maintenance

Dans Cloud Data Fusion, un intervalle de maintenance est une période pendant laquelle vous autorisez l'outil à effectuer des opérations de maintenance, ce qui réduit le risque de perturbation du service aux heures de pointe. Planifier des périodes de maintenance pendant les heures creuses ou les périodes où votre activité est moins importante réduit leur impact sur vos instances Cloud Data Fusion et vos exécutions de pipeline.

Le fait de configurer des intervalles 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, Cloud Data Fusion effectue les opérations de maintenance 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 fenêtres de maintenance planifiée garantissent que les mises à jour sont appliquées efficacement, préservant l'intégrité du système et minimisant les perturbations sur les instances et les exécutions de pipeline.

  • Lorsque vous configurez les intervalles de maintenance, vous devez allouer au moins 12 heures par semaine aux opérations de maintenance. Chaque période 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 les intervalles de maintenance pendant les heures creuses. L'opération de maintenance peut affecter Cloud Data Fusion comme suit:

    • L'interface Cloud Data Fusion Studio peut être temporairement indisponible.
    • L'exécution du pipeline peut être affectée, ce qui entraîne un échec.
    • Les services Cloud Data Fusion peuvent être temporairement indisponibles, ce qui entraîne l'échec des appels d'API.
    • Les instances peuvent ne pas être entièrement opérationnelles pendant une heure maximum pendant 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 la période 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 la section Créer une instance.
  3. Développez la section Options avancées.
  4. Développez la section Maintenance, puis procédez comme suit :
    1. Cochez la case Activer l'intervalle de maintenance.
    2. Dans le champ Heure de début, saisissez une heure au format accepté.
    3. Dans la liste Fuseau horaire, 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 la section À propos des opérations de maintenance.
    5. Cliquez sur Créer.

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

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: une expression 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'startTime et pour la durée spécifiée.

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

L'exemple suivant crée une instance avec un intervalle de maintenance de six heures entre 10h00 et 16h00 (UTC) les samedis et dimanches de chaque semaine. Pour en savoir plus, 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 une fenêtre 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 expression 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 à l'heure de début.
  • MAINTENANCE_RECURRENCE: une expression 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 la section Configurer les heures et la récurrence des intervalles de maintenance (RRULE).

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'

Modifier les intervalles de maintenance d'une instance

Console

Pour mettre à jour la fenêtre de maintenance d'une instance existante dans la console Google 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 Fenêtre de maintenance, puis cliquez sur Modifier.

  4. Les champs de la fenêtre de maintenance s'ouvrent 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 au format accepté.
    3. Dans la liste Fuseau horaire, 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 la section À propos des opérations de maintenance.
  5. Cliquez sur Enregistrer.

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

API REST

Pour les instances existantes, mettez à jour les intervalles de maintenance à l'aide de la requête API instances.patch. Cette valeur remplace la configuration de l'intervalle de maintenance existant, 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 la période 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 la section Configurer les heures et la récurrence des intervalles de maintenance (RRULE).

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) le vendredi, le samedi et le dimanche 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 modifier la fenêtre 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 une fenêtre 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 expression 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 à l'heure de début.
  • MAINTENANCE_RECURRENCE: une expression 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 des intervalles de maintenance (RRULE)

Lorsque vous configurez les heures de début et de fin de la période 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 de fin sont pris en compte. Les heures sont stockées en UTC, mais vous pouvez utiliser l'heure UTC ou votre décalage horaire lorsque vous planifiez des intervalles de maintenance à l'aide de l'API REST ou de la CLI gcloud.

Lorsque vous configurez la récurrence, gardez à l'esprit que RRULE suit les jours UTC. Ajustez-la 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 à 21h00 le mercredi dans votre fuseau horaire (ce qui correspond à 4h00 UTC le jeudi), spécifiez TH au lieu de WE dans l'option BYDAY de la valeur RRULE.

Supprimer l'intervalle de maintenance d'une instance

Console

Pour supprimer la fenêtre de maintenance d'une instance existante dans la console Google 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 Fenêtre de maintenance, puis cliquez sur Modifier.

  4. Pour supprimer l'intervalle de maintenance de l'instance, décochez la case Activer l'intervalle de maintenance.

  5. Cliquez sur Enregistrer.

API REST

Pour supprimer l'intervalle de maintenance d'une instance, transmettez un objet de stratégie de maintenance vide dans le corps de la requête.

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

{
    "maintenancePolicy": {}
}

gcloud

Pour supprimer l'intervalle de maintenance d'une instance, exécutez la commande gcloud beta data-fusion instances update avec l'option --clear-maintenance-window.

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

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.

Étape suivante