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


Создание эксперимента в условиях хаоса, в котором используется непосредственная ошибка для отработки отказа экземпляра Azure Cosmos DB

Вы можете использовать эксперимент хаоса для проверки устойчивости приложения к сбоям, вызвав эти сбои в управляемой среде. В этой статье вы приводите к многочитаемой однозаписной отработке отказа Azure Cosmos DB с помощью эксперимента хаоса и Azure Chaos Studio. Выполнение этого эксперимента поможет защититься от потери данных при возникновении события отработки отказа.

Эти же действия можно использовать для настройки и запуска эксперимента для любой прямой ошибки службы. Ошибка типа service-direct возникает непосредственно в отношении ресурса 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 из раскрывающегося списка. Заполните поле Длительность с указанием количества минут, в течение которых должна длиться ошибка, и поле readRegion с регионом чтения вашей учетной записи 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, вы готовы: