Wenn Sie testen möchten, ob die regionale verwaltete Instanzgruppe (Managed Instance Group, MIG) ausreicht und einen Zonenausfall überstehen kann, können Sie anhand des folgenden Beispiels den Ausfall einer einzelnen Zone simulieren.
Hinweis
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren Sie die Google Cloud CLI.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Wenn Sie
Code oder Beispiele aus einer lokalen Entwicklungsumgebung ausführen möchten, können Sie sich so bei
Compute Engine authentifizieren:
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.
Skript zum Simulieren eines Zonenausfalls verwenden
Im Standardszenario wird durch dieses Skript Apache beendet und gestartet. Wenn dies für Ihre Anwendung nicht zutrifft, ersetzen Sie die Befehle, die Apache starten und beenden, durch ein eigenes Fehler- und Wiederherstellungsszenario.
Stellen Sie dieses Skript in jeder VM in der Gruppe bereit und führen Sie es kontinuierlich aus. Dazu können Sie das Skript der Instanzvorlage hinzufügen oder es in ein benutzerdefiniertes Image einbeziehen und das Image in der Instanzvorlage verwenden.
Simulieren Sie einen Zonenausfall, indem Sie diese beiden Projektmetadatenfelder festlegen:
failed_zone: Legt die Zone fest, in der der Ausfall simuliert werden soll. Dadurch wird der Fehler auf nur eine Zone beschränkt.failed_instance_names: Wählen Sie die VMs, die deaktiviert werden sollen, anhand des Namens aus. So begrenzen Sie den Ausfall auf jene VM-Namen, die diesen String enthalten.
Sie können diese Metadaten mit der gcloud CLI festlegen. Durch den folgenden Befehl wird z. B. für den Zonenausfall die Zone
europe-west1-bfestgelegt. Er betrifft VMs, deren Name mitbase-instance-namebeginnt:gcloud compute project-info add-metadata --metadata failed_zone='europe-west1-b',failed_instance_names='base-instance-name-'
Nachdem Sie den Ausfall simuliert haben, stellen Sie die Zone wieder her, indem Sie die Metadatenschlüssel entfernen:
gcloud compute project-info remove-metadata --keys failed_zone,failed_instance_names
Einige Beispiele für Fehlerszenarios, die Sie mit diesem Skript ausführen können:
- Beenden Sie die Anwendung vollständig, um zu sehen, wie die MIG reagiert.
- Legen Sie fest, dass die VMs bei Load-Balancing-Systemdiagnosen als "fehlerhaft" zurückgegeben werden.
- Ändern Sie iptables so, dass ein Teil des Traffics zu und von der VM blockiert wird.
- Fahren Sie die VMs herunter. Standardmäßig werden sie von der regionalen MIG kurz darauf neu erstellt. Die neue Instanz fährt sich aber selbst herunter, sobald das Skript ausgeführt wird und solange die Metadatenwerte festgelegt sind. Dies führt zu einer Absturzschleife.
Nächste Schritte
- Details zum Erstellen skalierbarer, stabiler Webanwendungen
- Mehr zur Notfallwiederherstellung auf der Google Cloud Platform