Créer une expérience de chaos qui utilise une erreur service-direct pour basculer une instance Azure Cosmos DB
Vous pouvez utiliser une expérience de chaos pour vérifier que votre application résiste aux défaillances en les provoquant dans un environnement contrôlé. Dans cet article, vous allez provoquer un basculement Azure Cosmos DB en écriture seule et en lectures multiples en tirant parti d’une expérience de chaos et d’Azure Chaos Studio. L’exécution de cette expérience peut vous aider à vous prémunir contre la perte de données lorsqu’un événement de basculement se produit.
Vous pouvez utiliser ces mêmes étapes pour configurer et exécuter une expérience pour toute erreur directe de service. Une erreur directe de service s’exécutant directement sur une ressource Azure sans avoir besoin d’instrumentation. Des erreurs basées sur un agent nécessitent l’installation de l’agent de chaos.
Prérequis
- Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
- Un compte Azure Cosmos DB. Si vous ne disposez pas d’un compte Azure Cosmos DB, suivez ces étapes pour en créer un.
- Au moins deux configurations de région, une de lecture et une d’écriture pour votre compte Azure Cosmos DB.
Activer Chaos Studio sur votre compte Azure Cosmos DB
Chaos Studio ne peut pas injecter d’erreurs sur une ressource, sauf si cette ressource est ajoutée à Chaos Studio en premier. Pour ajouter une ressource à Chaos Studio, vous créez une cible et des fonctionnalités sur la ressource. Les comptes Azure Cosmos DB n’ont qu’un seul type cible (service direct) et une seule fonctionnalité (basculement). D’autres ressources peuvent avoir jusqu’à deux types cibles. L’un des types cibles est destiné aux erreurs directes de service. Un autre type cible est destiné aux erreurs basées sur l’agent. D’autres ressources peuvent avoir de nombreuses autres fonctionnalités.
Ouvrez le portail Azure.
Recherchez Chaos Studio dans la barre de recherche.
Sélectionnez Cibles et accédez à votre compte Azure Cosmos DB.
Cochez la case près de votre compte Azure Cosmos DB. Sélectionnez Activer les cibles, puis Activer des cibles service-direct dans le menu déroulant.
Assurez-vous que la ressource souhaitée est répertoriée. Sélectionnez Vérifier + Activer, puis Activer.
Une notification apparaît pour indiquer que les ressources sélectionnées ont été activées.
Vous venez d’achever correctement l’ajout de votre compte Azure Cosmos DB à Chaos Studio. Dans la vue Cibles, vous pouvez également gérer les fonctionnalités activées sur cette ressource. La sélection du lien Gérer les actions à côté d’une ressource permet d’afficher les fonctionnalités activées pour cette ressource.
Créer une expérience
Vous pouvez maintenant créer votre expérience. Une expérience de chaos définit les actions à entreprendre sur les ressources cibles. Les actions sont organisées et exécutées en étapes séquentielles. L’expérience de chaos définit également les actions à entreprendre sur les branches, qui s’exécutent en parallèle.
Sélectionnez l’onglet Expériences dans Chaos Studio. Dans cette vue, vous pouvez voir et gérer toutes vos expériences de chaos. Sélectionnez Créer>Nouvelle expérience.
Renseignez les champs Abonnement, Groupe de ressourceset Emplacement, là où vous souhaitez déployer l’expérience de chaos. Donnez un nom à votre expérience. Sélectionnez Suivant : concepteur d’expériences.
Vous êtes maintenant dans le concepteur d’expérience Chaos Studio. Le concepteur d’expérience vous permet de créer votre expérience en ajoutant des étapes, des branches et des erreurs. Donnez un nom convivial à votre Étape et à votre Branche, puis sélectionnez Ajouter une action > Ajouter une erreur.
Sélectionnez Contournement CosmosDB à côté de la liste déroulante. Renseignez la Durée, en précisant le nombre de minutes pendant lesquelles vous souhaitez que dure la défaillance, et readRegion en précisant la région de lecture de votre compte Azure Cosmos DB. Sélectionnez Suivant : ressources cibles.
Sélectionnez votre compte Azure Cosmos DB, puis Suivant.
Vérifiez que votre expérience est correcte, puis sélectionnez Vérifier + créer>Créer.
Accorder l’autorisation d’expérience à votre ressource cible
Lorsque vous créez une expérience de chaos, Chaos Studio crée une identité managée affectée par le système qui exécute des erreurs sur vos ressources cibles. Cette identité doit avoir les autorisations appropriées sur la ressource cible pour que l’expérience s’exécute correctement. Vous pouvez utiliser ces étapes pour n’importe quel type de ressource et de cible en modifiant l’attribution de rôle à l’étape 3 afin qu’elle corresponde au rôle approprié pour cette ressource et ce type de cible.
Accédez à votre compte Azure Cosmos DB, puis sélectionnez Contrôle d’accès (IAM).
Sélectionnez Ajouter>Ajouter une attribution de rôle.
Recherchez Opérateur Cosmos DB et sélectionnez le rôle. Cliquez sur Suivant.
Choisissez Sélectionner des membres, puis recherchez le nom de votre expérience. Sélectionnez votre expérience, puis choisissez Sélectionner. S’il existe plusieurs expériences dans le même locataire avec le même nom, le nom de votre expérience est tronqué avec des caractères aléatoires ajoutés.
Sélectionnez Vérifier + attribuer>Vérifier + attribuer.
Exécuter votre expérience
Vous êtes maintenant prêt à exécuter votre expérience. Pour voir l’effet, nous vous recommandons d’ouvrir la vue d’ensemble de votre compte Azure Cosmos DB et d’accéder à Répliquer des données globalement dans un onglet de navigateur distinct. Actualisation régulière pendant l’expérience pour afficher l’échange de région.
- Dans la vue Expériences, sélectionnez votre expérience. Sélectionnez Démarrer>OK.
- Quand État passe à En cours d’exécution, sélectionnez Détails pour la dernière exécution sous Historique afin de voir les détails de l’expérience en cours d’exécution.
Étapes suivantes
Maintenant que vous avez exécuté une expérience directe de service Azure Cosmos DB, vous êtes prêt à :