Pour vérifier que votre groupe d'instances géré (MIG, managed instance group) régional est suffisamment surprovisionné pour survivre à une défaillance de zone, vous pouvez utiliser l'exemple suivant qui simule une défaillance de zone.
Avant de commencer
- Si vous voulez vous servir des exemples de ligne de commande de ce guide, installez Google Cloud CLI.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Utiliser un script pour simuler une défaillance de zone
Ce script arrête et démarre Apache dans le cadre de son scénario par défaut. Si cela ne convient pas pour votre application, remplacez les commandes d'arrêt et de démarrage d'Apache par votre propre scénario de défaillance et de récupération.
Déployez ce script et exécutez-le en continu sur chaque VM du groupe. Pour ce faire, vous pouvez ajouter le script au modèle d'instance, ou l'inclure dans une image personnalisée et utiliser cette image dans le modèle d'instance.
Simulez une défaillance de zone en définissant ces deux champs de métadonnées de projet :
failed_zone
: définit la zone dans laquelle vous souhaitez simuler la panne (limite la défaillance à une seule zone).failed_instance_names
: choisissez les VM à déconnecter d'après leur nom (afin de limiter la défaillance aux seules VM dont le nom contient cette chaîne).
Vous pouvez définir ces métadonnées à l'aide de gcloud CLI. Par exemple, la commande suivante définit une défaillance touchant la zone
europe-west1-b
et affectant les VM dont le nom commence parbase-instance-name
:gcloud compute project-info add-metadata --metadata failed_zone='europe-west1-b',failed_instance_names='base-instance-name-'
Après avoir simulé la panne, lancez la récupération en supprimant les clés de métadonnées :
gcloud compute project-info remove-metadata --keys failed_zone,failed_instance_names
Voici quelques exemples des scénarios de défaillance que vous pouvez exécuter à l'aide de ce script :
- Arrêtez complètement votre application pour voir comment le MIG réagit.
- Faites en sorte que vos VM renvoient un état "non opérationnel" lors des vérifications de l'état effectuées par l'équilibreur de charge.
- Reconfigurez iptables de manière à bloquer une partie du trafic à destination ou en provenance de la VM.
- Arrêtez les VM. Par défaut, celles-ci sont recréées peu de temps après par le MIG régional, mais leur nouvelle incarnation s'arrêtera dès l'exécution du script et aussi longtemps que les valeurs de métadonnées resteront définies. Vous obtenez ainsi une boucle de plantage.
Étape suivante
- Apprenez à créer des applications Web évolutives et résilientes.
- Découvrez la reprise après sinistre sur Google Cloud Platform.