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 entraînez un basculement Azure Cosmos DB à plusieurs lectures et en écriture unique à l’aide 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écute directement sur une ressource Azure sans avoir besoin d’instrumentation. Les erreurs basées sur l’agent nécessitent l’installation de l’agent 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 n’avez pas de compte Azure Cosmos DB, procédez comme suit 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. Vous ajoutez une ressource à Chaos Studio en créant 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. Un type cible 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.

  1. Ouvrez le portail Azure.

  2. Recherchez Chaos Studio dans la barre de recherche.

  3. Sélectionnez Cibles et accédez à votre compte Azure Cosmos DB.

    Screenshot that shows the Targets view in the Azure portal.

  4. Sélectionnez la case activée box en regard de votre compte Azure Cosmos DB. Sélectionnez Activer les cibles , puis activez les cibles directes du service dans le menu déroulant.

    Screenshot that shows enabling targets in the Azure portal.

  5. Assurez-vous que la ressource souhaitée est répertoriée. Sélectionnez Vérifier + Activer, puis Activer.

  6. Une notification s’affiche indiquant que les ressources sélectionnées ont été correctement activées.

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

Vous avez maintenant ajouté 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 en regard d’une ressource affiche 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 que vous souhaitez entreprendre sur les ressources cibles. Les actions sont organisées et exécutées en étapes séquentielles. L’expérience chaos définit également les actions que vous souhaitez entreprendre sur les branches, qui s’exécutent en parallèle.

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

    Screenshot that shows the Experiments view in the Azure portal.

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

    Screenshot that shows adding basic experiment details.

  3. Vous êtes maintenant dans le concepteur d’expériences Chaos Studio. Le concepteur d’expérience vous permet de créer votre expérience en ajoutant des étapes, des branches et des erreurs. Attribuez un nom convivial à votre étape et à votre branche, puis sélectionnez Ajouter une erreur d’action >.

    Screenshot that shows the experiment designer.

  4. Sélectionnez Basculement CosmosDB dans la liste déroulante. Renseignez la durée avec le nombre de minutes que vous souhaitez que l’échec soit passé et readRegion avec la région de lecture de votre compte Azure Cosmos DB. Sélectionnez Suivant : ressources cibles.

    Screenshot that shows fault properties.

  5. Sélectionnez votre compte Azure Cosmos DB, puis sélectionnez Suivant.

    Screenshot that shows adding a target.

  6. Vérifiez que votre expérience semble correcte et sélectionnez Vérifier + créer>.

    Screenshot that shows reviewing and creating an experiment.

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 pour correspondre au rôle approprié pour cette ressource et ce type cible..

  1. Accédez à votre compte Azure Cosmos DB et sélectionnez Contrôle d’accès (IAM).

    Screenshot that shows the Azure Cosmos DB Overview page.

  2. Sélectionnez Ajouter>Ajouter une attribution de rôle.

    Screenshot that shows the Access control overview.

  3. Recherchez Opérateur Cosmos DB et sélectionnez le rôle. Cliquez sur Suivant.

    Screenshot that shows assigning the Azure Cosmos DB Operator role.

  4. 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 portant le même nom, votre nom d’expérience est tronqué avec des caractères aléatoires ajoutés.

    Screenshot that shows adding an experiment to a role.

  5. Sélectionnez Vérifier + affecter la révision + 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. L’actualisation périodique pendant l’expérience affiche l’échange de région.

  1. Dans la vue Expériences , sélectionnez votre expérience. Sélectionnez Démarrer>OK.
  2. Lorsque l’état passe à l’exécution, sélectionnez Détails de la dernière exécution sous Historique pour afficher 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 à :