Creare un esperimento chaos che usa un errore diretto al servizio per eseguire il failover di un'istanza di Azure Cosmos DB

È possibile usare un esperimento chaos per verificare che l'applicazione sia resiliente agli errori causando tali errori in un ambiente controllato. In questo articolo si verifica un failover di Azure Cosmos DB con più operazioni di lettura e scrittura singola usando un esperimento chaos e Azure Chaos Studio. L'esecuzione di questo esperimento consente di difendersi dalla perdita di dati quando si verifica un evento di failover.

È possibile usare questi stessi passaggi per configurare ed eseguire un esperimento per qualsiasi errore diretto al servizio. Un errore diretto del servizio viene eseguito direttamente su una risorsa di Azure senza alcuna necessità di strumentazione. Gli errori basati su agente richiedono l'installazione dell'agente chaos.

Prerequisiti

  • Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
  • Un account Azure Cosmos DB. Se non si ha un account Azure Cosmos DB, seguire questa procedura per crearne uno.
  • Almeno una configurazione di lettura e un'area di scrittura per l'account Azure Cosmos DB.

Abilitare Chaos Studio nell'account Azure Cosmos DB

Chaos Studio non può inserire errori su una risorsa, a meno che tale risorsa non venga aggiunta prima a Chaos Studio. È possibile aggiungere una risorsa a Chaos Studio creando una destinazione e funzionalità nella risorsa. Gli account Azure Cosmos DB hanno un solo tipo di destinazione (service-direct) e una funzionalità (failover). Altre risorse potrebbero avere fino a due tipi di destinazione. Un tipo di destinazione è per gli errori diretti dal servizio. Un altro tipo di destinazione è per gli errori basati su agente. Altre risorse potrebbero avere molte altre funzionalità.

  1. Apri il portale di Azure.

  2. Cercare Chaos Studio nella barra di ricerca.

  3. Selezionare Destinazioni e passare all'account Azure Cosmos DB.

    Screenshot that shows the Targets view in the Azure portal.

  4. Selezionare la casella di controllo accanto all'account Azure Cosmos DB. Selezionare Abilita destinazioni e quindi Selezionare Abilita destinazioni dirette dal menu a discesa.

    Screenshot that shows enabling targets in the Azure portal.

  5. Verificare che la risorsa desiderata sia elencata. Selezionare Rivedi e abilita, quindi Abilita.

  6. Viene visualizzata una notifica che indica che le risorse selezionate sono state abilitate correttamente.

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

L'account Azure Cosmos DB è stato aggiunto correttamente a Chaos Studio. Nella visualizzazione Destinazioni è anche possibile gestire le funzionalità abilitate in questa risorsa. Selezionando il collegamento Gestisci azioni accanto a una risorsa vengono visualizzate le funzionalità abilitate per tale risorsa.

Creare un esperimento

È ora possibile creare l'esperimento. Un esperimento chaos definisce le azioni da eseguire sulle risorse di destinazione. Le azioni sono organizzate ed eseguite in passaggi sequenziali. L'esperimento chaos definisce anche le azioni che si desidera eseguire sui rami, che vengono eseguite in parallelo.

  1. Selezionare la scheda Esperimenti in Chaos Studio. In questa visualizzazione è possibile visualizzare e gestire tutti gli esperimenti di caos. Selezionare Crea>nuovo esperimento.

    Screenshot that shows the Experiments view in the Azure portal.

  2. Compilare la sottoscrizione, il gruppo di risorse e la posizione in cui si vuole distribuire l'esperimento chaos. Assegnare un nome all'esperimento. Selezionare Avanti: Progettazione esperimenti.

    Screenshot that shows adding basic experiment details.

  3. Si è ora nella finestra di progettazione dell'esperimento di Chaos Studio. La finestra di progettazione dell'esperimento consente di compilare l'esperimento aggiungendo passaggi, rami e errori. Assegnare un nome descrittivo al passaggio e al ramo e selezionare Aggiungi azione > Aggiungi errore.

    Screenshot that shows the experiment designer.

  4. Selezionare Failover di CosmosDB dall'elenco a discesa. Compilare Duration con il numero di minuti che si vuole che l'errore sia ultimo e readRegion con l'area di lettura dell'account Azure Cosmos DB. Selezionare Avanti: Risorse di destinazione.

    Screenshot that shows fault properties.

  5. Selezionare l'account Azure Cosmos DB e selezionare Avanti.

    Screenshot that shows adding a target.

  6. Verificare che l'esperimento sia corretto e selezionare Rivedi e crea crea>.

    Screenshot that shows reviewing and creating an experiment.

Concedere all'esperimento l'autorizzazione per la risorsa di destinazione

Quando si crea un esperimento chaos, Chaos Studio crea un'identità gestita assegnata dal sistema che esegue errori sulle risorse di destinazione. Questa identità deve avere le autorizzazioni appropriate per la risorsa di destinazione affinché l'esperimento venga eseguito correttamente. È possibile usare questi passaggi per qualsiasi tipo di risorsa e di destinazione modificando l'assegnazione di ruolo nel passaggio 3 in modo che corrisponda al ruolo appropriato per tale risorsa e tipo di destinazione.

  1. Passare all'account Azure Cosmos DB e selezionare Controllo di accesso (IAM).

    Screenshot that shows the Azure Cosmos DB Overview page.

  2. Seleziona Aggiungi>Aggiungi assegnazione ruolo.

    Screenshot that shows the Access control overview.

  3. Cercare Operatore Cosmos DB e selezionare il ruolo. Selezionare Avanti.

    Screenshot that shows assigning the Azure Cosmos DB Operator role.

  4. Scegliere Seleziona membri e cercare il nome dell'esperimento. Selezionare l'esperimento e scegliere Seleziona. Se nello stesso tenant sono presenti più esperimenti con lo stesso nome, il nome dell'esperimento viene troncato con caratteri casuali aggiunti.

    Screenshot that shows adding an experiment to a role.

  5. Selezionare Rivedi e assegna rivedi e assegna>.

Eseguire l'esperimento

È ora possibile eseguire l'esperimento. Per visualizzare l'effetto, è consigliabile aprire la panoramica dell'account Azure Cosmos DB e passare a Replicare i dati a livello globale in una scheda separata del browser. L'aggiornamento periodico durante l'esperimento mostra lo scambio di aree.

  1. Nella visualizzazione Esperimenti selezionare l'esperimento. Selezionare Start>OK.
  2. Quando lo stato diventa In esecuzione, selezionare Dettagli per l'esecuzione più recente in Cronologia per visualizzare i dettagli dell'esperimento in esecuzione.

Passaggi successivi

Dopo aver eseguito un esperimento diretto del servizio Azure Cosmos DB, è possibile: