Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы максимально увеличить время доступности, заранее планируйте поддержку непрерывности бизнес-процессов и подготовку аварийного восстановления с помощью Машинного обучения Azure.
Корпорация Майкрософт стремится непрерывно поддерживать доступность служб Azure. Однако могут возникнуть незапланированные сбои служб. У вас есть план аварийного восстановления для обработки сбоев региональных служб. Из этой статьи вы узнаете, как:
- Планирование многорегионального развертывания Машинное обучение Azure и связанных ресурсов.
- Максимальное количество возможностей для восстановления журналов, записных книжек, образов Docker и других метаданных.
- Проектируйте решение с учетом высокой доступности.
- Инициируйте переключение при отказе на другой регион.
Внимание
Платформа Машинное обучение Azure сама по себе не обеспечивает автоматическое резервирование или аварийное восстановление. Резервное копирование и восстановление метаданных рабочей области, таких как журнал выполнения, недоступно.
Если вы случайно удалили рабочую область или соответствующие компоненты, эта статья также предоставляет поддерживаемые в настоящее время варианты восстановления.
Общие сведения о службах Azure для Машинного обучения Azure
Машинное обучение Azure зависит от нескольких служб Azure. Некоторые из этих служб предоставляются в рамках вашей подписки. Вы несете ответственность за настройку высокого уровня доступности этих служб. Другие службы создаются в подписке Майкрософт и управляются корпорацией Майкрософт.
К службам Azure относятся следующие:
Инфраструктура Машинного обучения Azure: среда, управляемая корпорацией Майкрософт, для рабочей области Машинного обучения Azure.
Связанные ресурсы: ресурсы, подготовленные в вашей подписке во время создания рабочей области Машинного обучения Azure. К этим ресурсам относятся служба хранилища Azure, Azure Key Vault, Реестр контейнеров Azure и Application Insights.
- Хранилище по умолчанию содержит такие данные, как модель, данные журнала обучения и ссылки на ресурсы данных.
- Key Vault содержит учетные данные для службы хранилища Azure, Реестра контейнеров и хранилищ данных.
- Реестр контейнеров содержит образ Docker для сред обучения и вывода.
- Application Insights служит для мониторинга Машинного обучения Azure.
Вычислительные ресурсы: ресурсы, создаваемые после развертывания рабочей области. Например, вы можете создать вычислительный экземпляр или вычислительный кластер для обучения модели Машинного обучения.
- Вычислительный экземпляр и вычислительный кластер: среды построения моделей, управляемые корпорацией Майкрософт.
- Другие ресурсы: вычислительные ресурсы Microsoft, которые можно подключить к Машинное обучение Azure, такие как Azure Kubernetes Service (AKS), Azure Databricks, Экземпляры контейнеров Azure и Azure HDInsight. Вы отвечаете за настройку параметров высокого уровня доступности для этих ресурсов.
Другие хранилища данных: Машинное обучение Azure может подключать другие хранилища данных, такие как служба хранилища Azure и Azure Data Lake Storage, для обучающих данных. Эти хранилища данных создаются в рамках вашей подписки. Вы отвечаете за настройку их параметров высокого уровня доступности. Сведения о других параметрах хранилища данных см. в разделе "Создание хранилищ данных".
В следующей таблице показано, какие службы Azure управляются Microsoft и управляются вами. В ней также указаны службы, которые по умолчанию имеют высокую доступность.
| Услуга | Управляется | Высокий уровень доступности по умолчанию |
|---|---|---|
| Инфраструктура Машинного обучения Azure | Корпорация Майкрософт | |
| Связанные ресурсы | ||
| Хранилище Azure | Вы | |
| Key Vault (Хранилище ключей) | Вы | ✓ |
| Реестр контейнеров | Вы | |
| Application Insights | Вы | Не применимо |
| вычислительные ресурсы; | ||
| Вычислительный экземпляр | Корпорация Майкрософт | |
| Вычислительный кластер | Корпорация Майкрософт | |
| Другие вычислительные ресурсы, такие как AKS, Azure Databricks, Экземпляры контейнеров, HDInsight |
Вы | |
|
Другие хранилища данных, такие как служба хранилища Azure, База данных SQL, База данных Azure для PostgreSQL, База данных Azure для MySQL, Файловая система Azure Databricks |
Вы |
Оставшаяся часть этой статьи описывает действия, которые нужно выполнить для обеспечения высокой доступности каждой из этих служб.
Планирование развертывания в нескольких регионах
Развертывание в нескольких регионах основано на создании Машинного обучения Azure и других ресурсов (инфраструктуры) в двух регионах Azure. В случае регионального сбоя можно переключиться на другой регион. При планировании места для развертывания ресурсов следует учитывать следующее.
Региональная доступность: если это возможно, используйте регион в той же географической области, а не обязательно ближайший. Чтобы проверить региональную доступность для Машинного обучения Azure, см. статью Доступность продуктов по регионам.
Парные регионы Azure: парные регионы при необходимости координируют обновления платформы и устанавливают приоритетность действий по восстановлению. Однако не все регионы поддерживают парные регионы. Дополнительные сведения см. в статье Парные регионы Azure.
Доступность службы: определите, должны ли ресурсы, используемые вашим решением, иметь конфигурацию горячий/горячий, горячий/теплый или горячий/холодный.
- Горячий/горячий: оба региона активны одновременно, и один регион готов приступить к работе немедленно.
- Горячий/теплый: основной регион активен, дополнительный регион содержит критически важные ресурсы (например, развернутые модели), готовые к работе. Некритические ресурсы потребуется развернуть вручную во вторичном регионе.
- Горячий/холодный: основной регион активен, дополнительный регион содержит Машинное обучение Azure и другие развернутые ресурсы, а также необходимые данные. Такие ресурсы, как модели, развертывания моделей или конвейеры, необходимо будет развернуть вручную.
Совет
В зависимости от ваших бизнес-требований вы можете решить по-разному обрабатывать различные ресурсы машинного обучения Azure. Например, для развернутых моделей (инференс) может потребоваться использовать режим «горячий/горячий», а для экспериментов (обучение) — режим «горячий/холодный».
Машинное обучение Azure использует в качестве основы другие службы. Некоторые службы можно настроить для репликации в другие регионы. Другие необходимо вручную создать в нескольких регионах. Следующая таблица содержит список служб, ответственных за репликацию, а также общие сведения о конфигурации:
| Служба Azure | Геореплицировано кем | Настройка |
|---|---|---|
| Рабочая область машинного обучения | Вы | Создайте рабочую область в выбранных регионах. |
| Вычислительная среда Машинного обучения | Вы | Создайте вычислительные ресурсы в выбранных регионах. Для вычислительных ресурсов, которые могут динамически масштабироваться, убедитесь, что оба региона обеспечивают достаточную для ваших потребностей квоту вычислений. |
| реестр машинного обучения | Вы | Создайте реестр в нескольких регионах. |
| Key Vault (Хранилище ключей) | Корпорация Майкрософт | Используйте один и тот же экземпляр Key Vault для рабочей области Машинное обучение Azure и ресурсов в обоих регионах. Key Vault автоматически переключается на вторичный регион при сбое. Дополнительные сведения см. в статье Доступность и избыточность хранилища ключей Azure. |
| Реестр контейнеров | Корпорация Майкрософт | Настройте экземпляр Реестра контейнеров для георепликации реестров в парный регион для Машинного обучения Azure. Используйте один и тот же экземпляр для обеих рабочих областей. Дополнительные сведения см. в статье Георепликация в Реестре контейнеров Azure. |
| Учетная запись хранения | Вы | Служба Машинное обучение Azure не поддерживает переключение при отказе учетной записи хранения по умолчанию с использованием георезервируемого хранилища (GRS), геозонально-резервируемого хранилища (GZRS), георезервируемого хранилища с доступом на чтение (RA-GRS) или геозонально-резервируемого хранилища с доступом на чтение (RA-GZRS). Создайте отдельную учетную запись хранения для хранилища по умолчанию каждой рабочей области.
Создайте отдельные учетные записи хранения или службы для другого хранилища данных. Дополнительные сведения см. в статье Репликация службы хранилища Azure. |
| Application Insights | Вы | Создайте Application Insights для рабочей области в обоих регионах. Сведения об изменении периода хранения данных и сведений см. в разделе Сбор и хранение данных в Application Insights. |
Для обеспечения быстрого восстановления и перезапуска в дополнительном регионе рекомендуется применять следующие методики разработки.
- Используйте шаблоны Azure Resource Manager. Шаблоны относятся к модели "инфраструктура как код" и позволяют быстро развертывать службы в обоих регионах.
- Чтобы избежать смещения между двумя регионами, обновите конвейеры непрерывной интеграции и развертывания для развертывания в обоих регионах.
- При автоматизации развертываний включите конфигурацию вычислительных ресурсов, подключенных к рабочей области, например Службы Azure Kubernetes.
- Создайте назначения ролей для пользователей в обоих регионах.
- Создайте сетевые ресурсы, такие как виртуальные сети Azure и частные конечные точки, для обоих регионов. Убедитесь, что у пользователей есть доступ к обеим сетевым средам. Например, конфигурации VPN и DNS для обеих виртуальных сетей.
Службы вычислений и данных
В зависимости от ваших потребностей вы можете использовать дополнительные вычислительные службы или службы данных, которые используются в Машинное обучение Azure. Например, можно использовать Службы Azure Kubernetes или Базу данных Azure SQL. Используйте приведенные ниже сведения, чтобы узнать, как настроить высокий уровень доступности для этих служб.
вычислительные ресурсы;
- Служба Kubernetes Azure: см. разделы Рекомендации по обеспечению непрерывности бизнес-процессов и аварийного восстановления в Службе Azure Kubernetes (AKS) и Создание кластера Службы Azure Kubernetes (AKS), который использует зоны доступности. Если кластер AKS был создан с помощью Студия машинного обучения Azure, пакета SDK или CLI, высокий уровень доступности между регионами не поддерживается.
- Azure Databricks: см. раздел Региональное аварийное восстановление кластеров Azure Databricks.
- Экземпляры контейнеров: оркестратор отвечает за переключение при отказе. См. раздел Экземпляры контейнеров Azure и оркестраторы контейнеров.
- HDInsight: см. раздел Службы высокого уровня доступности, поддерживаемые Azure HDInsight.
Службы данных
- Контейнер BLOB-объектов Azure/Файлы Azure/Data Lake Storage 2-го поколения: см. раздел Избыточность хранилища Azure.
- Data Lake Storage 1-го поколения: см. раздел Рекомендации по обеспечению высокого уровня доступности и аварийного восстановления для Data Lake Storage 1-го поколения.
Совет
Если вы предоставляете собственный ключ, управляемый клиентом, для развертывания рабочей области Машинного обучения Azure, Azure Cosmos DB также подготавливается внутри вашей подписки. В этом случае вы отвечаете за настройку его параметров высокого уровня доступности. См. статью Как в Azure Cosmos DB обеспечивается высокая доступность.
Учет высокого уровня доступности при проектировании
Зоны доступности
Некоторые службы Azure поддерживают зоны доступности. Для регионов, в которых поддерживаются зоны доступности, если зона становится недоступной, любая рабочая нагрузка приостанавливается, а данные должны быть сохранены. Однако данные недоступны для обновления до тех пор, пока зона не будет подключена к сети.
Дополнительные сведения см. в разделе "Поддержка службы зоны доступности".
Развертывание критически важных компонентов в нескольких регионах
Определите уровень непрерывности бизнес-процессов, на который вы стремитесь. Уровень может отличаться между компонентами решения. Например, может понадобиться конфигурация hot/hot для промышленных конвейеров или развертывания моделей, а конфигурация hot/cold — для экспериментов.
Управление данными для обучения в изолированном хранилище
Обеспечение изоляции вашего хранилища данных от хранилища по умолчанию, используемого рабочей областью для журналов, позволяет:
- Подключите одни и те же экземпляры хранилища в качестве хранилищ данных к основному и вторичному рабочим пространствам.
- Используйте георепликацию для учетных записей хранилища данных и обеспечьте максимальное время бесперебойной работы.
Управление ресурсами машинного обучения в виде кода
Примечание.
Резервное копирование и восстановление метаданных рабочей области, таких как журнал выполнения, модели и среды, недоступно. Указание ресурсов и конфигураций в качестве кода с помощью спецификаций YAML помогает повторно создавать ресурсы в рабочих областях в случае аварии.
Задания в Машинном обучении Azure определяются спецификацией задания. Эта спецификация включает зависимости от входных артефактов, управляемых на уровне экземпляра рабочей области, включая среды и вычисления. Для развертываний и отправки заданий в нескольких регионах рекомендуется следовать приведенным ниже указаниям.
Управляйте базой кода локально, храня резервную копию в репозитории Git.
- Экспортируйте важные записные книжки из Студии машинного обучения Azure.
- Экспортируйте созданные в Студии конвейеры в виде кода.
Управляйте конфигурациями в виде кода.
- Избегайте жёстко закодированных ссылок на рабочую область. Вместо этого настройте ссылку на экземпляр рабочей области с помощью файла конфигурации и используйте MLClient.from_config() для инициализации рабочей области.
- Используйте Dockerfile, если работаете с пользовательскими образами Docker.
Инициировать аварийное переключение
Продолжить работу в рабочей области аварийного переключения
Когда основная рабочая область становится недоступной, можно переключиться на дополнительную рабочую область, чтобы продолжить экспериментирование и разработку. Машинное обучение Azure не отправляет задания в вторичную рабочую область при сбое. Измените конфигурацию кода, чтобы она указывала на новый ресурс рабочей области. Рекомендуется избегать жёстко закодированных ссылок на рабочие области. Вместо этого используйте файл конфигурации рабочей области, чтобы минимизировать ручные действия пользователя при смене рабочих областей. Обязательно обновите и все средства автоматизации, такие как конвейеры непрерывной интеграции и развертывания, с учетом новой рабочей области.
Машинное обучение Azure не может синхронизировать или восстановить артефакты или метаданные между экземплярами рабочей области. В зависимости от стратегии развертывания приложения вам может потребоваться переместить артефакты или воссоздать входные данные экспериментов, например ресурсы данных, в рабочей области аварийного переключения, чтобы продолжить отправку заданий. Если вы настроили ресурсы основной и дополнительной рабочих областей для совместного использования связанных ресурсов при включённой георепликации, некоторые объекты могут быть напрямую доступны в рабочей области аварийного переключения. Например, если обе рабочие области совместно используют одни и те же образы Docker, настроенные хранилища данных и ресурсы Azure Key Vault. На следующей схеме показана конфигурация, где две рабочие области совместно используют одни и те же образы (1), хранилища данных (2) и Key Vault (3).
Примечание.
Все задания, выполняемые при сбое службы, не будут автоматически переходить в вторичную рабочую область. Кроме того, маловероятно, что задания будут возобновляться и успешно завершатся в основной рабочей области после устранения сбоя. Вместо этого такие задания необходимо повторно отправить либо во вторичной рабочей области, либо в основной (после устранения сбоя).
Перемещение артефактов между рабочими областями
В зависимости от выбранного способа восстановления вам может потребоваться скопировать артефакты между рабочими областями, чтобы продолжить работу. Сейчас возможность переноса артефактов между рабочими областями ограничена. Рекомендуется по возможности управлять артефактами как кодом, чтобы их можно было воссоздать в экземпляре аварийного переключения.
Следующие артефакты можно экспортировать и импортировать между рабочими областями с помощью расширения Azure CLI для машинного обучения:
Совет
- Выходные данные задания хранятся в учетной записи хранения по умолчанию, связанной с рабочей областью. Хотя выходные данные задания могут стать недоступными из пользовательского интерфейса Студии в случае сбоя службы, к ним можно обратиться напрямую через учетную запись хранения. Дополнительные сведения о работе с данными, хранящимися в BLOB-объектах, см. в разделе Создание, скачивание и вывод списка BLOB-объектов с помощью Azure CLI.
Варианты восстановления
Удаление рабочей области
Если вы случайно удалили рабочую область, ее можно восстановить. Инструкции по восстановлению см. в разделе Восстановление данных рабочей области после случайного мягкого удаления.
Даже если не удается восстановить рабочую область, вы можете получить записные книжки из ресурса хранилища Azure, связанного с рабочей областью, выполнив следующие действия.
- На портале Azure перейдите к учетной записи хранения данных, которая была связана с удаленной рабочей областью Машинное обучение Azure.
- Выберите Общие папки в разделе Хранилище данных слева.
- Ваши записные книжки находятся в общей папке, имя которой содержит идентификатор вашей рабочей области.
Следующие шаги
Чтобы узнать о повторяемых развертываниях инфраструктуры с помощью Машинное обучение Azure, используйте шаблон Bicep или шаблон Terraform.