Creación de un experimento de caos que usa un error directo del servicio para conmutar por error una instancia de Azure Cosmos DB

Puede usar un experimento de caos para comprobar que la aplicación es resistente a los errores provocando esos errores en un entorno controlado. En este artículo, se provoca una conmutación por error de Azure Cosmos DB de varias lecturas y una sola escritura mediante un experimento de caos y Azure Chaos Studio. La ejecución de este experimento puede ayudarle a defenderse contra la pérdida de datos cuando se produce un evento de conmutación por error.

Puede usar estos mismos pasos para configurar y ejecutar un experimento para cualquier error directo del servicio. Un error directo de servicio se ejecuta directamente en un recurso de Azure sin necesidad de instrumentación. Los errores basados en agente requieren la instalación del agente de caos.

Requisitos previos

  • Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
  • Una cuenta de Azure Cosmos DB. Si no tiene una cuenta de Azure Cosmos DB, siga estos pasos para crear una.
  • Al menos una configuración de región de lectura y escritura para la cuenta de Azure Cosmos DB.

Habilitación de Chaos Studio en la cuenta de Azure Cosmos DB

Chaos Studio no puede insertar errores en un recurso a menos que ese recurso se agregue primero a Chaos Studio. Agregue un recurso a Chaos Studio mediante la creación de un destino y funcionalidades en el recurso. Las cuentas de Azure Cosmos DB solo tienen un tipo de destino (directo de servicio) y una funcionalidad (conmutación por error). Otros recursos pueden tener hasta dos tipos de destino. Un tipo de destino es para errores directos del servicio. Otro tipo de destino es para errores basados en agente. Otros recursos pueden tener muchas otras funcionalidades.

  1. Abra Azure Portal.

  2. Busque Chaos Studio en la barra de búsqueda.

  3. Seleccione Destinos y vaya a la cuenta de Azure Cosmos DB.

    Captura de pantalla que muestra la vista Destinos en el Azure Portal.

  4. Active la casilla situada junto a la cuenta de Azure Cosmos DB. Seleccione Habilitar destinos y, a continuación, seleccione Habilitar destinos directos de servicio en el menú desplegable.

    Captura de pantalla que muestra la habilitación de destinos en Azure Portal.

  5. Confirme que el recurso deseado aparece en la lista. Seleccione Revisar y habilitary, después, Habilitar.

  6. Aparece una notificación que indica que los recursos seleccionados se habilitaron correctamente.

    Recorte de pantalla que muestra una notificación que muestra que el destino se ha habilitado correctamente.

Ya ha agregado correctamente la cuenta de Azure Cosmos DB a Chaos Studio. En la vista Destinos, también puede administrar las funcionalidades habilitadas en este recurso. Al seleccionar el vínculo Administrar acciones junto a un recurso se muestran las funcionalidades habilitadas para ese recurso.

Creación de un experimento

Ahora puede crear el experimento. Un experimento de caos define las acciones que se desean realizar en los recursos de destino. Las acciones se organizan y ejecutan en pasos secuenciales. El experimento de caos también define las acciones que desea realizar en las ramas, que se ejecutan en paralelo.

  1. Seleccione la pestaña Experimentos en Chaos Studio. En esta vista, puede ver y administrar todos los experimentos de caos. Seleccione Crear>Experimento.

    Captura de pantalla que muestra la vista Experimentos en Azure Portal.

  2. Rellene la Suscripción,el Grupo de recursos y la Ubicación donde desea implementar el experimento de caos. Ponga un nombre al experimento. Seleccione Siguiente: Diseñador de experimentos.

    Captura de pantalla que muestra cómo agregar detalles básicos del experimento.

  3. Ahora está en el diseñador de experimentos de Chaos Studio. El diseñador de experimentos permite compilar el experimento mediante la adición de pasos, ramas y errores. Asigne un nombre descriptivo su Paso y Rama y seleccione Agregar acción > Agregar error.

    Captura de pantalla que muestra el diseñador de experimentos.

  4. Seleccione Conmutación por error de CosmosDB en la lista desplegable. Rellene la Duración con el número de minutos que desea que el error dure y readRegion con la región de lectura de la cuenta de Azure Cosmos DB. Haga clic en Siguiente: Recursos de destino.

    Captura de pantalla que muestra las propiedades de error.

  5. Seleccione su cuenta de Azure Cosmos DB y seleccione Siguiente.

    Captura de pantalla que muestra cómo es agregar un destino.

  6. Compruebe que el experimento es correcto y seleccione Revisar y crear>Crear.

    Captura de pantalla que muestra la revisión y creación de un experimento.

Concesión del permiso de experimento al recurso de destino

Al crear un experimento de caos, Chaos Studio crea una identidad administrada asignada por el sistema que ejecuta errores en los recursos de destino. Esta identidad debe tener los permisos adecuados en el recurso de destino para que el experimento se ejecute correctamente. Puede usar estos pasos para cualquier tipo de recurso y destino modificando la asignación de roles en el paso 3 para que coincida con el rol adecuado para ese tipo de recurso y destino..

  1. Vaya a la cuenta de Azure Cosmos DB y seleccione Control de acceso (IAM).

    Recorte de pantalla que muestra la página Información general de Azure Cosmos DB.

  2. Seleccione Agregar>Agregar asignación de roles.

    Recorte de pantalla que muestra la información general del control de acceso.

  3. Busque el operador de Cosmos DB y seleccione el rol. Seleccione Siguiente.

    Recorte de pantalla que muestra la asignación del rol Operador de Azure Cosmos DB.

  4. Elija Seleccionar miembros y busque el nombre del experimento. Seleccione el experimento y elija Seleccionar. Si hay varios experimentos en el mismo inquilino con el mismo nombre, el nombre del experimento se trunca con caracteres aleatorios agregados.

    Recorte de pantalla que muestra cómo agregar un experimento a un rol.

  5. Seleccione Revisar y asignar>Revisar y asignar.

Ejecutar el experimento

Ahora ya puede ejecutar el experimento. Para ver el efecto, se recomienda abrir la información general de la cuenta de Azure Cosmos DB e ir a Replicar datos globalmente en una pestaña independiente del explorador. La actualización periódica durante el experimento muestra el intercambio de regiones.

  1. En la vista Experimentos, seleccione el experimento. Seleccione Iniciar>Aceptar.
  2. Cuando el Estado cambie a En ejecución, seleccione Detalles de la última ejecución en Historial para ver los detalles del experimento en ejecución.

Pasos siguientes

Ahora que ha ejecutado un experimento directo del servicio de Azure Cosmos DB, podrá: