Skapa ett kaosexperiment som använder ett tjänstdirigeringsfel för att redundansväxla en Azure Cosmos DB-instans

Du kan använda ett kaosexperiment för att kontrollera att programmet är motståndskraftigt mot fel genom att orsaka dessa fel i en kontrollerad miljö. I den här artikeln orsakar du en Azure Cosmos DB-redundans med flera läsningar och enkelskrivning med hjälp av ett kaosexperiment och Azure Chaos Studio. Om du kör det här experimentet kan du skydda dig mot dataförlust när en redundanshändelse inträffar.

Du kan använda samma steg för att konfigurera och köra ett experiment för alla tjänstdirigeringsfel. Ett tjänstdirigeringsfel körs direkt mot en Azure-resurs utan instrumentation. Agentbaserade fel kräver installation av kaosagenten.

Förutsättningar

  • En Azure-prenumeration. Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
  • Ett Azure Cosmos DB-konto. Om du inte har något Azure Cosmos DB-konto följer du de här stegen för att skapa ett.
  • Minst en installation av läs- och skrivregionen för ditt Azure Cosmos DB-konto.

Aktivera Chaos Studio på ditt Azure Cosmos DB-konto

Chaos Studio kan inte mata in fel mot en resurs om inte resursen läggs till i Chaos Studio först. Du lägger till en resurs i Chaos Studio genom att skapa ett mål och funktioner för resursen. Azure Cosmos DB-konton har bara en måltyp (tjänstdirigering) och en funktion (redundans). Andra resurser kan ha upp till två måltyper. En måltyp är för tjänstdirigeringsfel. En annan måltyp är för agentbaserade fel. Andra resurser kan ha många andra funktioner.

  1. Öppna Azure Portal.

  2. Sök efter Chaos Studio i sökfältet.

  3. Välj Mål och gå till ditt Azure Cosmos DB-konto.

    Screenshot that shows the Targets view in the Azure portal.

  4. Markera kryssrutan bredvid ditt Azure Cosmos DB-konto. Välj Aktivera mål och välj sedan Aktivera tjänstdirigeringsmål på den nedrullningsbara menyn.

    Screenshot that shows enabling targets in the Azure portal.

  5. Bekräfta att den önskade resursen visas. Välj Granska + aktivera och sedan Aktivera.

  6. Ett meddelande visas som anger att de valda resurserna har aktiverats.

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

Nu har du lagt till ditt Azure Cosmos DB-konto i Chaos Studio. I vyn Mål kan du också hantera de funktioner som är aktiverade på den här resursen. Om du väljer länken Hantera åtgärder bredvid en resurs visas de funktioner som är aktiverade för den resursen.

Skapa ett experiment

Nu kan du skapa experimentet. Ett kaosexperiment definierar de åtgärder som du vill vidta mot målresurser. Åtgärderna organiseras och körs i sekventiella steg. Kaosexperimentet definierar också de åtgärder som du vill vidta mot grenar som körs parallellt.

  1. Välj fliken Experiment i Chaos Studio. I den här vyn kan du se och hantera alla dina kaosexperiment. Välj Skapa>nytt experiment.

    Screenshot that shows the Experiments view in the Azure portal.

  2. Fyll i prenumerationen, resursgruppen och platsen där du vill distribuera kaosexperimentet. Ge experimentet ett namn. Välj Nästa: Experimentdesigner.

    Screenshot that shows adding basic experiment details.

  3. Nu är du i Chaos Studio-experimentdesignern. Med experimentdesignern kan du skapa experimentet genom att lägga till steg, grenar och fel. Ge steget och grenen ett eget namn och välj Lägg till åtgärd > Lägg till fel.

    Screenshot that shows the experiment designer.

  4. Välj CosmosDB-redundans i listrutan. Fyll i Varaktighet med det antal minuter som du vill att felet ska vara och readRegion med läsregionen för ditt Azure Cosmos DB-konto. Välj Nästa: Målresurser.

    Screenshot that shows fault properties.

  5. Välj ditt Azure Cosmos DB-konto och välj Nästa.

    Screenshot that shows adding a target.

  6. Kontrollera att experimentet ser korrekt ut och välj Granska + skapa>Skapa.

    Screenshot that shows reviewing and creating an experiment.

Ge experimentbehörighet till målresursen

När du skapar ett kaosexperiment skapar Chaos Studio en systemtilldelad hanterad identitet som kör fel mot dina målresurser. Den här identiteten måste ges lämpliga behörigheter till målresursen för att experimentet ska kunna köras. Du kan använda de här stegen för valfri resurs- och måltyp genom att ändra rolltilldelningen i steg 3 så att den matchar lämplig roll för resursen och måltypen..

  1. Gå till ditt Azure Cosmos DB-konto och välj Åtkomstkontroll (IAM).

    Screenshot that shows the Azure Cosmos DB Overview page.

  2. Välj Lägg till>Lägg till rolltilldelning.

    Screenshot that shows the Access control overview.

  3. Sök efter Cosmos DB-operatör och välj rollen. Välj Nästa.

    Screenshot that shows assigning the Azure Cosmos DB Operator role.

  4. Välj Välj medlemmar och sök efter experimentnamnet. Välj experimentet och välj Välj. Om det finns flera experiment i samma klientorganisation med samma namn trunkeras experimentnamnet med slumpmässiga tecken tillagda.

    Screenshot that shows adding an experiment to a role.

  5. Välj Granska + tilldela>Granska + tilldela.

Kör experimentet

Nu är du redo att köra experimentet. Om du vill se effekten rekommenderar vi att du öppnar översikten över ditt Azure Cosmos DB-konto och går till Replikera data globalt på en separat webbläsarflik. Om du uppdaterar regelbundet under experimentet visas regionbytet.

  1. I vyn Experiment väljer du experimentet. Välj Starta>OK.
  2. När Status ändras till Körs väljer du Information för den senaste körningen under Historik för att se information om experimentet som körs.

Nästa steg

Nu när du har kört ett tjänstdirigeringsexperiment i Azure Cosmos DB är du redo att: