Creare un esperimento di 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 di 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 al servizio viene eseguito direttamente su una risorsa di Azure senza alcuna necessità di strumentazione. Gli errori basati su agente richiedono l'installazione dell'agente di 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.
- Configurazione di almeno un'area di lettura e scrittura per il proprio 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 soltanto un tipo di destinazione (diretta al servizio) e una funzionalità (failover). Altre risorse potrebbero avere fino a due tipi di destinazione. Un tipo di destinazione è per gli errori diretti al servizio. Un altro tipo di destinazione è per gli errori basati su agente. Altre risorse potrebbero avere molte funzionalità aggiuntive.
Apri il portale di Azure.
Cercare Chaos Studio nella barra di ricerca.
Selezionare Destinazioni e passare all'account Azure Cosmos DB.
Selezionare la casella di controllo accanto all'account Azure Cosmos DB. Selezionare Abilita destinazioni e quindi selezionare Abilita destinazioni dirette al servizio dal menu a discesa.
Verificare che la risorsa desiderata sia elencata. Selezionare Rivedi e abilita, quindi Abilita.
Viene visualizzata una notifica che indica che le risorse selezionate sono state abilitate correttamente.
L'account Azure Cosmos DB è stato aggiunto correttamente a Chaos Studio. Nella visualizzazione Destinazioni è anche possibile gestire le funzionalità abilitate in questa risorsa. Selezionare il collegamento Gestisci azioni accanto a una risorsa per visualizzare 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.
Selezionare la scheda Esperimenti in Chaos Studio. In questa visualizzazione è possibile visualizzare e gestire tutti gli esperimenti di caos. Selezionare Crea>Nuovo esperimento.
Compilare la sottoscrizione, il gruppo di risorse e il percorso in cui si vuole distribuire l'esperimento chaos. Assegnare un nome all'esperimento. Selezionare Avanti: Progettazione esperimenti.
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.
Selezionare Failover di CosmosDB dall'elenco a discesa. Compilare Durata con il numero di minuti desiderato per la durata dell'errore e readRegion con l'area di lettura dell'account Azure Cosmos DB. Selezionare Avanti: Risorse di destinazione.
Selezionare l'account Azure Cosmos DB e selezionare Avanti.
Verificare che l'esperimento sia corretto e selezionare Rivedi e crea>Crea.
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 risorsa e tipo di destinazione, modificando l'assegnazione di ruolo nel passaggio 3 in modo che corrisponda al ruolo appropriato per tale risorsa e tipo di destinazione.
Passare all'account Azure Cosmos DB e selezionare Controllo di accesso (IAM).
Seleziona Aggiungi>Aggiungi assegnazione ruolo.
Cercare Operatore Cosmos DB e selezionare il ruolo. Selezionare Avanti.
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.
Selezionare Rivedi e assegna>Rivedi e assegna.
Eseguire l'esperimento
Adesso è possibile eseguire l'esperimento. Per visualizzare l'effetto, è consigliabile aprire la panoramica dell'account Azure Cosmos DB e passare a Replica i dati a livello globale in una scheda separata del browser. L'aggiornamento periodico durante l'esperimento mostra lo scambio di area.
- Nella vista Esperimenti selezionare l'esperimento. Selezionare Avvia>OK.
- 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 al servizio di Azure Cosmos DB, è possibile: