Erstellen Sie ein Chaos-Experiment, das einen service-direkten Fehler verwendet, um eine Azure Cosmos DB-Instanz ausfallen zu lassen
Sie können ein Chaos-Experiment verwenden, um zu überprüfen, ob Ihre Anwendung fehlerresistent ist, indem Sie diese Fehler in einer kontrollierten Umgebung verursachen. In diesem Artikel lösen Sie ein Azure Cosmos DB-Failover mit mehreren Lesevorgängen und einem einzelnen Schreibvorgang mithilfe eines Chaos-Experiments und Azure Chaos Studio aus. Die Durchführung dieses Experiments kann Ihnen helfen, sich vor Datenverlusten zu schützen, wenn ein Failover-Ereignis eintritt.
Sie können dieselben Schritte auch für die Einrichtung und Ausführung eines Experiments für einen beliebigen dienstbezogenen Fehler ausführen. Ein dienstbezogener Fehler wird direkt für eine Azure-Ressource ausgeführt. Eine Instrumentierung ist nicht erforderlich. Agent-basierte Fehler erfordern die Installation des Chaos-Agents.
Voraussetzungen
- Eine Azure-Subscription. Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.
- Ein Azure Cosmos DB-Konto. Wenn Sie kein Azure Cosmos DB-Konto haben, führen Sie diese Schritte aus, um eines zu erstellen.
- Mindestens eine Lese- und eine Schreibregion für Ihr Azure Cosmos DB-Konto eingerichtet.
Aktivieren Sie Chaos Studio auf Ihrem Azure Cosmos DB-Konto
Chaos Studio kann keine Fehler für eine Ressource einschleusen, es sei denn, diese Ressource wird zuerst in Chaos Studio hinzugefügt. Sie fügen eine Ressource in Chaos Studio hinzu, indem Sie ein Ziel und Fähigkeiten für die Ressource erstellen. Azure Cosmos DB-Konten verfügen nur über einen Zieltyp (dienstbezogen) und eine Funktion (Failover). Andere Ressourcen verfügen möglicherweise über bis zu zwei Zieltypen. Ein Zieltyp ist für dienstspezifische Fehler vorgesehen. Ein weiterer Zieltyp ist für Agent-basierte Fehler bestimmt. Andere Ressourcen verfügen möglicherweise auch über viele andere Funktionen.
Öffnen Sie das Azure-Portal.
Suchen Sie in der Suchleiste nach Chaos Studio.
Wählen Sie Ziele aus, und navigieren Sie zu Ihrem Azure Cosmos DB-Konto.
Aktivieren Sie das Kontrollkästchen neben Ihrem Azure Cosmos DB-Konto. Wählen Sie Ziele aktivieren aus, und wählen Sie dann im Dropdownmenü die Option Direkte Dienstziele aktivieren aus.
Vergewissern Sie sich, dass die gewünschte Ressource aufgelistet ist. Wählen Sie Überprüfen und aktivieren und dann Aktivieren aus.
Es wird eine Benachrichtigung angezeigt, die angibt, dass die ausgewählten Ressourcen erfolgreich aktiviert wurden.
Sie haben nun Ihr Azure Cosmos DB-Konto erfolgreich zu Chaos Studio hinzugefügt. In der Ansicht Ziele können Sie auch die für diese Ressource aktivierten Fähigkeiten verwalten. Wenn Sie den Link Aktionen verwalten neben einer Ressource auswählen, werden die für diese Ressource aktivierten Funktionen angezeigt.
Erstellen eines Experiments
Sie können jetzt Ihr Experiment erstellen. Ein Chaosexperiment definiert die Aktionen, die Sie gegen Zielressourcen ergreifen möchten. Die Aktionen werden in sequenziellen Schritten organisiert und ausgeführt. Das Chaosexperiment definiert auch die Aktionen, die Sie gegen Verzweigungen ausführen möchten, die parallel ausgeführt werden.
Wählen Sie in Chaos Studio die Registerkarte Experimente aus. In dieser Ansicht können Sie alle Ihre Chaosexperimente anzeigen und verwalten. Wählen Sie Erstellen>Neues Experiment aus.
Geben Sie Abonnement, Ressourcengruppe und Ort ein, an dem Sie das Chaos-Experiment durchführen möchten. Geben Sie dem Experiment einen Namen. Wählen Sie Weiter: Experiment-Designer aus.
Sie befinden sich nun im Chaos Studio Experiment Designer. Mit dem Experiment-Designer können Sie Ihr Experiment durch Hinzufügen von Schritten, Verzweigungen und Fehlern aufbauen. Geben Sie Ihrem Schritt und der Verzweigung einen Anzeigenamen. Wählen Sie dann Aktion hinzufügen > Fehler hinzufügen aus.
Wählen Sie in der Dropdownliste CosmosDB-Failover aus. Geben Sie unter Dauer die Anzahl der Minuten für die Dauer des Fehlers und unter readRegion die Leseregion Ihres Azure Cosmos DB-Kontos ein. Wählen Sie Weiter: Zielressourcen aus.
Wählen Sie Ihr Azure Cosmos DB-Konto und dann Weiter aus.
Vergewissern Sie sich, dass Ihr Experiment korrekt aussieht, und wählen Sie dann Überprüfen + erstellen>Erstellen aus.
Erteilen eine Experimentiergenehmigung für Ihre Zielressource
Wenn Sie ein Chaosexperiment erstellen, erzeugt Chaos Studio eine dem System zugewiesene verwaltete Identität, die Fehler gegen Ihre Zielressourcen ausführt. Diese Identität muss mit entsprechenden Rechten für die Zielressource ausgestattet sein, damit das Experiment erfolgreich durchgeführt werden kann. Sie können diese für jede Ressource und jeden Zieltyp ausführen, indem Sie die Rollenzuweisung in Schritt 3 so ändern, dass sie der entsprechenden Rolle für diese Ressource und diesen Zieltyp entspricht.
Navigieren Sie zu Ihrem Azure Cosmos DB-Konto, und wählen Sie Zugriffssteuerung (IAM) aus.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen.
Suchen Sie nach Cosmos DB Operator und wählen Sie die Rolle. Wählen Sie Weiter aus.
Wählen Sie Mitglieder auswählen aus, und suchen Sie nach Ihrem Experimentnamen. Wählen Sie Ihr Experiment aus, und klicken Sie auf Auswählen. Wenn mehrere Experimente mit demselben Namen im selben Mandanten vorhanden sind, wird der Name Ihres Experiments mithilfe zufällig hinzugefügter Zeichen gekürzt.
Wählen Sie Überprüfen und zuweisen>Überprüfen und zuweisen aus.
Führen Sie Ihr Experiment durch
Sie sind nun bereit, Ihr Experiment durchzuführen. Um die Auswirkung anzuzeigen, empfehlen wir Ihnen, Ihre Azure Cosmos DB-Kontoübersicht zu öffnen und auf einer separaten Browserregisterkarte zu Daten global replizieren zu wechseln. Durch die regelmäßige Aktualisierung während des Experiments wird der Regionstausch angezeigt.
- Wählen Sie in der Ansicht Experimente Ihr Experiment aus. Wählen Sie Start>OK aus.
- Wenn der Status zu Laufend wechselt, wählen Sie Details für die letzte Ausführung unter Historie aus, um Details zum laufenden Experiment zu sehen.
Nächste Schritte
Sie haben ein dienstbezogenes Azure Cosmos DB-Experiment ausgeführt und sind nun bereit für Folgendes: