Configurer un intervalle d'exclusion

Cette page décrit les intervalles d'exclusion dans Fault Injection Testing et explique comment les utiliser pour protéger vos applications et services lors d'opérations commerciales critiques.

Les intervalles d'exclusion vous permettent de mieux contrôler les planifications des tests de résilience. Un intervalle d'exclusion est une période que vous définissez et pendant laquelle les nouveaux tests d'injection de défaillances ne peuvent pas démarrer. Cette fonctionnalité vous permet de protéger vos applications et services lors d'événements critiques, tels que :

  • les heures de pointe ou les événements commerciaux à fort volume ;
  • les migrations ou mises à niveau majeures du système ;
  • les intervalles de maintenance critiques.

Lorsqu'un intervalle d'exclusion est actif, Fault Injection Testing bloque toute tentative de démarrage de nouveaux tests dans le champ d'application défini. Tous les tests qui étaient déjà en cours d'exécution avant l'activation de l'intervalle d'exclusion sont autorisés à se poursuivre jusqu'à leur terme.

Fonctionnement des intervalles d'exclusion

Champ d'application et ciblage

Lorsque vous configurez un intervalle d'exclusion, vous sélectionnez une région Cloud spécifique. Une fois activé, l'intervalle d'exclusion empêche le démarrage de nouveaux tests uniquement dans cette région désignée, quel que soit le modèle de test utilisé.

Activation et durée

La création d'un intervalle d'exclusion définit ses paramètres, mais ne l'active pas immédiatement. Vous devez démarrer explicitement l'intervalle pour l'activer.

Un intervalle d'exclusion actif cesse de bloquer les tests de deux manières :

  • Expiration automatique : chaque intervalle d'exclusion est configuré avec une durée. Une fois activé, l'intervalle se désactive automatiquement après cette durée. Le système calcule l'heure de fin (heure de début + durée) et cesse de bloquer les nouveaux tests une fois que l'heure actuelle dépasse cette heure de fin.
  • Arrêt manuel : vous pouvez arrêter manuellement un intervalle d'exclusion actif avant l'expiration de sa durée programmée. Cela est utile si la période critique se termine plus tôt que prévu et que vous souhaitez reprendre les tests immédiatement.

Gérer les intervalles d'exclusion dans la Google Cloud console

Avant de continuer, vous devez disposer du rôle roles/faulttesting.operator.

Créer et configurer un intervalle d'exclusion

  1. Dans la Google Cloud console, accédez à la page Fault Injection Testing Exclusion windows (Intervalles d'exclusion).
  2. Cliquez sur Create exclusion window (Créer un intervalle d'exclusion).
  3. Spécifiez la Cloud Region (Région Cloud), la Duration (Durée) et une Description facultative.
  4. Cliquez sur Create (Créer).

Contrôler manuellement un intervalle d'exclusion

Vous pouvez déclencher manuellement les actions Start (Démarrer) et Stop (Arrêter) pour n'importe quel intervalle d'exclusion configuré directement à partir de la Google Cloud console.

Activer automatiquement un intervalle d'exclusion

Vous pouvez, par exemple, vous aligner sur un intervalle de maintenance planifié ou un événement périodique. Pour automatiser l'activation d'un intervalle d'exclusion :

  1. Après avoir créé un intervalle d'exclusion, copiez l'URL HTTPS du RPC StartExclusionWindow affiché dans l'interface utilisateur.
  2. Utilisez un service de planification tel que Cloud Scheduler pour configurer une tâche qui envoie une requête à cette URL à l'heure de votre choix.

Gérer les intervalles d'exclusion à l'aide de Google Cloud CLI

Vous pouvez gérer les ressources d'intervalle d'exclusion à l'aide des gcloud alpha fault-testing exclusion-windows commandes.

Créer un intervalle d'exclusion

Pour créer un intervalle d'exclusion, utilisez la commande create. Spécifiez l'ID de l'intervalle, la région cible et la durée :

gcloud alpha fault-testing exclusion-windows create EXCLUSION_WINDOW_ID \
    --location=REGION \
    --duration=DURATION \
    [--description="DESCRIPTION"]

Remplacez les éléments suivants :

  • EXCLUSION_WINDOW_ID: identifiant unique de l'intervalle (par exemple, black-friday-freeze).
  • REGION : région où cet intervalle s'applique (par exemple, us-central1). Google Cloud
  • DURATION: durée d'activité, spécifiée en secondes (par exemple, 86400s pour 24 heures).
  • DESCRIPTION : (facultatif) description de l'objectif de l'intervalle.

Exemple :

gcloud alpha fault-testing exclusion-windows create black-friday-freeze \
    --location=us-east1 \
    --duration=259200s \
    --description="Exclusion window for Black Friday to Cyber Monday sales period"

Supprimer un intervalle d'exclusion

Pour supprimer une définition d'intervalle d'exclusion, utilisez la commande delete :

gcloud alpha fault-testing exclusion-windows delete EXCLUSION_WINDOW_ID \
    --location=REGION

Démarrer un intervalle d'exclusion

Pour activer un intervalle d'exclusion configuré, utilisez la commande start :

gcloud alpha fault-testing exclusion-windows start EXCLUSION_WINDOW_ID \
    --location=REGION

Arrêter un intervalle d'exclusion

Pour désactiver manuellement un intervalle d'exclusion actif plus tôt, utilisez la commande stop :

gcloud alpha fault-testing exclusion-windows stop EXCLUSION_WINDOW_ID \
    --location=REGION

Bonnes pratiques

Lorsque vous créez un intervalle d'exclusion, tenez compte des points suivants :

  • Planifiez le chevauchement des tests. Démarrez vos intervalles d'exclusion légèrement avant le début de votre période commerciale critique. Comme les tests en cours d'exécution sont autorisés à se terminer, le démarrage anticipé de l'intervalle garantit que toutes les défaillances sont effacées avant le début de votre période critique.
  • Utilisez des identifiants descriptifs. Utilisez des ID clairs et significatifs (par exemple, black-friday-freeze ou system-migration-us-east1) pour identifier l'objectif et le champ d'application de l'intervalle.
  • Alignez la durée sur le type d'événement. Faites correspondre la durée de l'intervalle à la durée prévue de l'événement critique. Pour les soldes de fin d'année, il est recommandé d'utiliser une durée de plusieurs jours (par exemple, 259200s pour trois jours).
  • Exploitez l'automatisation. Utilisez Cloud Scheduler pour automatiser l'activation des intervalles d'exclusion pour les événements récurrents ou la maintenance planifiée afin de réduire les efforts manuels et le risque d'omission.
  • Conservez la flexibilité. N'oubliez pas que vous pouvez utiliser la commande stop pour mettre fin à un intervalle plus tôt si une période critique se termine plus tôt que prévu, ce qui vous permet de reprendre immédiatement les tests de résilience.