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 verursachen Sie ein Mehrlese-, Single-Write-Azure Cosmos DB-Failover mithilfe eines Chaosexperiments und Azure Chaos Studio. Die Durchführung dieses Experiments kann Ihnen helfen, sich vor Datenverlusten zu schützen, wenn ein Failover-Ereignis eintritt.

Sie können diese Schritte verwenden, um ein Experiment für jeden dienst direkten Fehler einzurichten und auszuführen. Ein dienstbasierter Fehler wird direkt für eine Azure-Ressource ausgeführt, ohne dass eine Instrumentierung erforderlich ist. Agentenbasierte Fehler erfordern die Installation des Chaos-Agenten.

Voraussetzungen

  • Ein Azure-Abonnement. Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.
  • Ein Azure Cosmos DB-Konto. Wenn Sie nicht über ein Azure Cosmos DB-Konto verfügen, führen Sie die folgenden Schritte aus, um ein Konto 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 gegen eine Ressource einfügen, es sei denn, diese Ressource wird zuerst zu Chaos Studio hinzugefügt. Sie fügen eine Ressource zu Chaos Studio hinzu, indem Sie ein Ziel und eine Funktion für die Ressource erstellen. Azure Cosmos DB-Konten verfügen nur über einen Zieltyp (service-direct) und eine Funktion (Failover). Andere Ressourcen verfügen möglicherweise über bis zu zwei Zieltypen. Ein Zieltyp ist für Dienst-direkte Fehler vorgesehen. Ein weiterer Zieltyp ist für agentbasierte Fehler bestimmt. Andere Ressourcen verfügen möglicherweise über viele andere Funktionen.

  1. Öffnen Sie das Azure-Portal.

  2. Suchen Sie in der Suchleiste nach Chaos Studio .

  3. Wählen Sie "Ziele" aus, und wechseln Sie zu Ihrem Azure Cosmos DB-Konto.

    Screenshot that shows the Targets view in the Azure portal.

  4. Aktivieren Sie das Kontrollkästchen neben Ihrem Azure Cosmos DB-Konto. Wählen Sie "Ziele aktivieren" und dann im Dropdownmenü " Dienst-direkte Ziele aktivieren" aus.

    Screenshot that shows enabling targets in the Azure portal.

  5. Vergewissern Sie sich, dass die gewünschte Ressource aufgelistet ist. Wählen Sie Überprüfen und aktivieren und dann Aktivieren aus.

  6. Es wird eine Benachrichtigung angezeigt, die angibt, dass die ausgewählten Ressourcen erfolgreich aktiviert wurden.

    Screenshot that shows a notification showing the target was successfully enabled.

Sie haben jetzt Ihr Azure Cosmos DB-Konto erfolgreich zu Chaos Studio hinzugefügt. In der Zielansicht können Sie auch die für diese Ressource aktivierten Funktionen verwalten. Wenn Sie den Link "Aktionen verwalten" neben einer Ressource auswählen, werden die für diese Ressource aktivierten Funktionen angezeigt.

Erstellen eines Experiments

Jetzt können Sie Ihr Experiment erstellen. Ein Chaosexperiment definiert die Aktionen, die Sie gegen Zielressourcen ergreifen möchten. Die Aktionen sind organisiert und werden in sequenziellen Schritten ausgeführt. Das Chaos-Experiment definiert auch die Aktionen, die Sie gegen Zweige ausführen möchten, die parallel ausgeführt werden.

  1. Wählen Sie die Registerkarte "Experimente " in Chaos Studio aus. In dieser Ansicht können Sie all Ihre Chaosexperimente sehen und verwalten. Wählen Sie Erstellen>Neues Experiment aus.

    Screenshot that shows the Experiments view in the Azure portal.

  2. 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.

    Screenshot that shows adding basic experiment details.

  3. Sie befinden sich jetzt im Chaos Studio Experiment Designer. Mit dem Experiment-Designer können Sie Ihr Experiment durch Hinzufügen von Schritten, Verzweigungen und Fehlern aufbauen. Weisen Sie Ihrem Schritt und Branch einen Anzeigenamen zu, und wählen Sie "Aktion > hinzufügen" aus.

    Screenshot that shows the experiment designer.

  4. Wählen Sie CosmosDB-Failover aus der Dropdownliste aus. Geben Sie die Dauer mit der Anzahl der Minuten ein, für die der Fehler beim Letzten und LesenRegion mit dem Lesebereich Ihres Azure Cosmos DB-Kontos angezeigt werden soll. Wählen Sie Weiter: Zielressourcen aus.

    Screenshot that shows fault properties.

  5. Wählen Sie Ihr Azure Cosmos DB-Konto und dann "Weiter" aus.

    Screenshot that shows adding a target.

  6. Vergewissern Sie sich, dass Ihr Experiment korrekt aussieht, und wählen Sie "Überprüfen" und "Erstellen"> aus.

    Screenshot that shows reviewing and creating an experiment.

Erteilen der Experimentberechtigung 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 Schritte für jeden Ressourcen- und Zieltyp verwenden, indem Sie die Rollenzuweisung in Schritt 3 so ändern, dass sie der entsprechenden Rolle für diese Ressource und diesen Zieltyp entspricht.

  1. Wechseln Sie zu Ihrem Azure Cosmos DB-Konto, und wählen Sie Access Control (IAM) aus.

    Screenshot that shows the Azure Cosmos DB Overview page.

  2. Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen.

    Screenshot that shows the Access control overview.

  3. Suchen Sie nach Cosmos DB Operator und wählen Sie die Rolle. Wählen Sie Weiter aus.

    Screenshot that shows assigning the Azure Cosmos DB Operator role.

  4. 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 im selben Mandanten mit demselben Namen vorhanden sind, wird ihr Experimentname mit hinzugefügten zufälligen Zeichen abgeschnitten.

    Screenshot that shows adding an experiment to a role.

  5. Wählen Sie "Überprüfen" aus, und weisen>Sie "Überprüfen+ Zuweisen" zu.

Führen Sie Ihr Experiment durch

Sie sind jetzt bereit, Ihr Experiment auszuführen. Um den Effekt zu sehen, empfehlen wir, dass Sie Ihre Übersicht über Ihr Azure Cosmos DB-Konto öffnen und global auf einer separaten Browserregisterkarte daten replizieren. Beim Aktualisieren in regelmäßigen Abständen während des Experiments wird der Regionstausch angezeigt.

  1. Wählen Sie in der Experimentansicht Ihr Experiment aus. Wählen Sie "OK starten">aus.
  2. Wenn der Status in "Läuft" geändert wird, wählen Sie "Details " für die neueste Ausführung unter "Verlauf " aus, um Details für das laufende Experiment anzuzeigen.

Nächste Schritte

Nachdem Sie nun ein direktes Azure Cosmos DB-Experiment ausgeführt haben, sind Sie bereit für: