Создание эксперимента в условиях хаоса, в котором используется непосредственная ошибка для отработки отказа экземпляра Azure Cosmos DB
Вы можете использовать эксперимент хаоса для проверки устойчивости приложения к сбоям, вызвав эти сбои в управляемой среде. В этой статье вы приводите к многочитаемой однозаписной отработке отказа Azure Cosmos DB с помощью эксперимента хаоса и Azure Chaos Studio. Выполнение этого эксперимента поможет защититься от потери данных при возникновении события отработки отказа.
Эти же действия можно использовать для настройки и запуска эксперимента для любой прямой ошибки службы. Сбой непосредственной службы выполняется непосредственно в ресурсе Azure без необходимости инструментирования. Для сбоев на основе агента требуется установка агента хаоса.
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
- Учетная запись Azure Cosmos DB. Если у вас нет учетной записи Azure Cosmos DB, выполните следующие действия, чтобы создать ее.
- По крайней мере одна настройка области чтения и записи для учетной записи Azure Cosmos DB.
Включение Chaos Studio в учетной записи Azure Cosmos DB
Студия Chaos Studio не может вводить ошибки к ресурсу, если только этот ресурс не добавляется в Chaos Studio в первую очередь. Вы добавите ресурс в Chaos Studio, создав целевой объект и возможности ресурса. Учетные записи Azure Cosmos DB имеют только один целевой тип (service-direct) и одну возможность (отработка отказа). Другие ресурсы могут иметь до двух целевых типов. Один из целевых типов — для ошибок с прямой службой. Другой целевой тип — для сбоев на основе агента. Другие ресурсы могут иметь множество других возможностей.
Откройте портал Azure.
Найдите Студию Chaos Studio в строке поиска.
Выберите целевые объекты и перейдите в учетную запись Azure Cosmos DB.
Установите флажок рядом с учетной записью Azure Cosmos DB. Выберите "Включить целевые объекты", а затем выберите "Включить целевые объекты для прямого обслуживания" в раскрывающемся меню.
Убедитесь, что указан нужный ресурс. Выберите "Рецензирование и включение", а затем включите.
Появится уведомление, указывающее, что выбранные ресурсы были успешно включены.
Теперь вы успешно добавили учетную запись Azure Cosmos DB в Chaos Studio. В представлении "Целевые объекты " можно также управлять возможностями, включенными в этом ресурсе. При выборе ссылки "Управление действиями" рядом с ресурсом отображаются возможности, включенные для этого ресурса.
Создание эксперимента
Теперь можно создать эксперимент. Эксперимент хаоса определяет действия, которые необходимо предпринять для целевых ресурсов. Действия упорядочены и выполняются последовательно. Эксперимент хаоса также определяет действия, которые необходимо предпринять против ветвей, которые выполняются параллельно.
Перейдите на вкладку "Эксперименты" в Chaos Studio. В этом представлении вы можете просматривать все эксперименты хаоса и управлять ими. Выберите "Создать>эксперимент".
Заполните подписку, группу ресурсов и расположение, где нужно развернуть эксперимент хаоса. Присвойте эксперименту имя. Нажмите кнопку Далее: конструктор экспериментов.
Теперь вы находитесь в конструкторе экспериментов Chaos Studio. Конструктор экспериментов позволяет создавать эксперимент, добавляя шаги, ветви и ошибки. Присвойте понятное имя шагу и ветви и нажмите кнопку "Добавить действие>", чтобы добавить ошибку.
Выберите отработку отказа CosmosDB из раскрывающегося списка. Введите значение "Длительность" с количеством минут, в течение которых требуется, чтобы ошибка длилась и считывалась в регионе чтения учетной записи Azure Cosmos DB. Нажмите кнопку "Далее" — целевые ресурсы.
Выберите учетную запись Azure Cosmos DB и нажмите кнопку "Далее".
Убедитесь, что эксперимент выглядит правильно и выберите "Просмотр и создание".>
Предоставление разрешения эксперимента целевому ресурсу
При создании эксперимента хаоса Студия Chaos Studio создает управляемое удостоверение, назначаемое системой, которое выполняет ошибки в целевых ресурсах. Это удостоверение должно быть предоставлено соответствующим разрешениям целевому ресурсу для успешного выполнения эксперимента. Эти действия можно использовать для любого ресурса и целевого типа, изменив назначение роли на шаге 3, чтобы соответствовать соответствующей роли для этого ресурса и целевого типа.
Перейдите к учетной записи Azure Cosmos DB и выберите элемент управления доступом (IAM).
Выберите Добавить>Добавить назначение ролей.
Найдите оператор Cosmos DB и выберите роль. Выберите Далее.
Выберите элементы и найдите имя эксперимента. Выберите эксперимент и нажмите кнопку "Выбрать". Если в одном клиенте имеется несколько экспериментов с одинаковым именем, имя эксперимента усечено случайными символами.
Выберите "Рецензирование" и "Назначить>проверку" и "Назначить".
Запуск эксперимента
Теперь вы готовы к выполнению эксперимента. Чтобы увидеть эффект, рекомендуется открыть обзор учетной записи Azure Cosmos DB и перейти к реплицировать данные глобально на отдельной вкладке браузера. Обновление периодически в ходе эксперимента показывает переключение региона.
- В представлении "Эксперименты" выберите эксперимент. Нажмите кнопку "Пуск>ОК".
- Когда состояние изменяется на "Выполнение", выберите "Сведения" для последнего запуска в разделе "Журнал" , чтобы просмотреть сведения о выполняемом эксперименте.
Следующие шаги
Теперь, когда вы выполнили прямой эксперимент службы Azure Cosmos DB, вы готовы: