Поделиться через


Создание эксперимента в условиях хаоса, в котором используется непосредственная ошибка для отработки отказа экземпляра 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) и одну возможность (отработка отказа). Другие ресурсы могут иметь до двух целевых типов. Один из целевых типов — для ошибок с прямой службой. Другой целевой тип — для сбоев на основе агента. Другие ресурсы могут иметь множество других возможностей.

  1. Откройте портал Azure.

  2. Найдите Студию Chaos Studio в строке поиска.

  3. Выберите целевые объекты и перейдите в учетную запись Azure Cosmos DB.

    Снимок экрана: представление

  4. Установите флажок рядом с учетной записью Azure Cosmos DB. Выберите "Включить целевые объекты", а затем выберите "Включить целевые объекты для прямого обслуживания" в раскрывающемся меню.

    Снимок экрана: включение целевых объектов в портал Azure.

  5. Убедитесь, что указан нужный ресурс. Выберите "Рецензирование и включение", а затем включите.

  6. Появится уведомление, указывающее, что выбранные ресурсы были успешно включены.

    Снимок экрана: уведомление, показывающее, что целевой объект был успешно включен.

Теперь вы успешно добавили учетную запись Azure Cosmos DB в Chaos Studio. В представлении "Целевые объекты " можно также управлять возможностями, включенными в этом ресурсе. При выборе ссылки "Управление действиями" рядом с ресурсом отображаются возможности, включенные для этого ресурса.

Создание эксперимента

Теперь можно создать эксперимент. Эксперимент хаоса определяет действия, которые необходимо предпринять для целевых ресурсов. Действия упорядочены и выполняются последовательно. Эксперимент хаоса также определяет действия, которые необходимо предпринять против ветвей, которые выполняются параллельно.

  1. Перейдите на вкладку "Эксперименты" в Chaos Studio. В этом представлении вы можете просматривать все эксперименты хаоса и управлять ими. Выберите "Создать>эксперимент".

    Снимок экрана: представление

  2. Заполните подписку, группу ресурсов и расположение, где нужно развернуть эксперимент хаоса. Присвойте эксперименту имя. Нажмите кнопку Далее: конструктор экспериментов.

    Снимок экрана: добавление основных сведений о эксперименте.

  3. Теперь вы находитесь в конструкторе экспериментов Chaos Studio. Конструктор экспериментов позволяет создавать эксперимент, добавляя шаги, ветви и ошибки. Присвойте понятное имя шагу и ветви и нажмите кнопку "Добавить действие>", чтобы добавить ошибку.

    Снимок экрана: конструктор экспериментов.

  4. Выберите отработку отказа CosmosDB из раскрывающегося списка. Введите значение "Длительность" с количеством минут, в течение которых требуется, чтобы ошибка длилась и считывалась в регионе чтения учетной записи Azure Cosmos DB. Нажмите кнопку "Далее" — целевые ресурсы.

    Снимок экрана: свойства сбоя.

  5. Выберите учетную запись Azure Cosmos DB и нажмите кнопку "Далее".

    Снимок экрана: добавление целевого объекта.

  6. Убедитесь, что эксперимент выглядит правильно и выберите "Просмотр и создание".>

    Снимок экрана: просмотр и создание эксперимента.

Предоставление разрешения эксперимента целевому ресурсу

При создании эксперимента хаоса Студия Chaos Studio создает управляемое удостоверение, назначаемое системой, которое выполняет ошибки в целевых ресурсах. Это удостоверение должно быть предоставлено соответствующим разрешениям целевому ресурсу для успешного выполнения эксперимента. Эти действия можно использовать для любого ресурса и целевого типа, изменив назначение роли на шаге 3, чтобы соответствовать соответствующей роли для этого ресурса и целевого типа.

  1. Перейдите к учетной записи Azure Cosmos DB и выберите элемент управления доступом (IAM).

    Снимок экрана: страница обзора Azure Cosmos DB.

  2. Выберите Добавить>Добавить назначение ролей.

    Снимок экрана: обзор управления доступом.

  3. Найдите оператор Cosmos DB и выберите роль. Выберите Далее.

    Снимок экрана: назначение роли оператора Azure Cosmos DB.

  4. Выберите элементы и найдите имя эксперимента. Выберите эксперимент и нажмите кнопку "Выбрать". Если в одном клиенте имеется несколько экспериментов с одинаковым именем, имя эксперимента усечено случайными символами.

    Снимок экрана: добавление эксперимента в роль.

  5. Выберите "Рецензирование" и "Назначить>проверку" и "Назначить".

Запуск эксперимента

Теперь вы готовы к выполнению эксперимента. Чтобы увидеть эффект, рекомендуется открыть обзор учетной записи Azure Cosmos DB и перейти к реплицировать данные глобально на отдельной вкладке браузера. Обновление периодически в ходе эксперимента показывает переключение региона.

  1. В представлении "Эксперименты" выберите эксперимент. Нажмите кнопку "Пуск>ОК".
  2. Когда состояние изменяется на "Выполнение", выберите "Сведения" для последнего запуска в разделе "Журнал" , чтобы просмотреть сведения о выполняемом эксперименте.

Следующие шаги

Теперь, когда вы выполнили прямой эксперимент службы Azure Cosmos DB, вы готовы: