Руководство. Создание безопасной рабочей области с помощью шаблона

Шаблоны обеспечивают удобный способ создания воспроизводимых развертываний служб. Шаблон определяет, что будет создано. Также используются сведения, которые вы предоставили по время использования шаблона. Например, можно указать уникальное имя для рабочей области Машинного обучения Azure.

В этом руководстве описано, как использовать шаблоны Microsoft Bicep и Hashicorp Terraform для создания следующих ресурсов Azure:

  • Виртуальная сеть Azure. Следующие ресурсы защищены за этой виртуальной сетью:
    • Рабочая область Машинное обучение Azure
      • Вычислительная операция Машинного обучения Azure
      • Вычислительный кластер Машинного обучения Azure
    • Учетная запись хранения Azure
    • Azure Key Vault
    • Azure Application Insights
    • Реестр контейнеров Azure
    • Узел Бастиона Azure
    • Виртуальная машина Машинного обучения Azure (Виртуальная машина для обработки и анализа данных)
    • Шаблон Bicep также создает кластер Службы Azure Kubernetes и отдельную группу ресурсов для нее.

Совет

Корпорация Майкрософт рекомендует использовать Машинное обучение Azure управляемых виртуальных сетей вместо действий, описанных в этой статье. С помощью управляемой виртуальной сети Машинное обучение Azure обрабатывает задание сетевой изоляции для рабочей области и управляемых вычислений. Вы также можете добавить частные конечные точки для ресурсов, необходимых рабочей области, например служба хранилища Azure account. Дополнительные сведения см. в изоляция управляемой сети рабочей области.

Необходимые компоненты

Прежде чем приступать к действиям, описанным в этой статье, необходимо оформить подписку Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись.

Также потребуется командная строка Bash или Azure PowerShell.

Совет

В процессе чтения этой статьи используйте вкладки в каждом разделе, чтобы просматривать сведения для одного из шаблонов, Bicep или Terraform.

  1. Сведения об установке программ командной строки см. в статье Настройка сред разработки и развертывания Bicep.

  2. Шаблон Bicep, используемый в этой статье, находится по адресу https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure. Используйте следующие команды, чтобы клонировать репозиторий GitHub в свою среду разработки:

    Совет

    Если у вас нет команды git в среде разработки, ее можно установить из https://git-scm.com/.

    git clone https://github.com/Azure/azure-quickstart-templates
    cd azure-quickstart-templates/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure
    

Общие сведения о шаблоне

Шаблон Bicep состоит из main.bicep и других файлов .bicep во вложенном каталоге modules. В следующей таблице описывается, что за каждый файл отвечает.

Файл Description
main.bicep Параметры и переменные. Передача параметров и переменных другим модулям в подкаталоге modules .
vnet.bicep Определяет виртуальную сеть и подсети Azure.
nsg.bicep Определяет правила группы безопасности сети для виртуальной сети.
bastion.bicep Определяет узел и подсеть Бастиона Azure. Бастион Azure позволяет легко получить доступ к виртуальной машине в виртуальной сети с помощью веб-браузера.
dsvmjumpbox.bicep Определяет Виртуальную машину для обработки и анализа данных (DSVM). Бастион Azure используется для доступа к этой виртуальной машине через веб-браузер.
storage.bicep Определяет учетную запись службы хранилища Azure, которая используется рабочей областью как хранилище по умолчанию.
keyvault.bicep Определяет хранилище Azure Key Vault, которое используется рабочей областью.
containerregistry.bicep Определяет Реестр контейнеров Azure, который используется рабочей областью.
applicationinsights.bicep Определяет экземпляр Application Insights Azure, который используется рабочей областью.
machinelearningnetworking.bicep Определяет частные конечные точки и зоны DNS для рабочей области Машинное обучение Azure.
Machinelearning.bicep Определяет рабочую область Машинного обучения Azure.
machinelearningcompute.bicep Определяет вычислительный кластер и вычислительный экземпляр Машинного обучения Azure.
privateaks.bicep Определяет экземпляр кластера Службы Azure Kubernetes.

Внимание

Примеры шаблонов не всегда могут использовать последнюю версию API для Машинное обучение Azure. Прежде чем использовать шаблон, рекомендуется изменить его для использования последних версий API. Сведения о последних версиях API для Машинное обучение Azure см. в Машинное обучение Azure REST API.

Каждая служба Azure имеет собственный набор версий API. Сведения об API для конкретной службы проверка сведения о службе в справочнике по REST API Azure.

Чтобы обновить версию API, найдите Microsoft.MachineLearningServices/<resource> запись для типа ресурса и обновите ее до последней версии. В следующем примере представлена запись для рабочей области Машинное обучение Azure, использующая версию 2022-05-01API:

resource machineLearning 'Microsoft.MachineLearningServices/workspaces@2022-05-01' = {

Внимание

DSVM и Бастион Azure используются в этом руководстве как простой способ подключения к защищенной рабочей области. В рабочей среде мы рекомендуем использовать VPN-шлюз Azure или Azure ExpressRoute, чтобы получать доступ к ресурсам в виртуальной сети непосредственно из локальной сети.

Настройка шаблона

Чтобы выполнить шаблон Bicep, используйте следующие команды из каталога machine-learning-end-to-end-secure, где находится файл main.bicep:

  1. Чтобы создать новую группу ресурсов Azure, выполните следующую команду. Замените exampleRG на имя группы ресурсов, а eastus — на регион Azure, который необходимо использовать:

    az group create --name exampleRG --location eastus
    
  2. Чтобы запустить шаблон, используйте следующую команду. Замените prefix уникальным префиксом. Префикс будет использоваться при создании ресурсов Azure, необходимых для Машинное обучение Azure. Замените securepassword безопасный пароль для поля перехода. Пароль предназначен для учетной записи входа в поле перехода (azureadmin в примерах ниже):

    Совет

    Должно prefix быть 5 или меньше символов. Он не может быть полностью числовым или содержать следующие символы: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

    az deployment group create \
        --resource-group exampleRG \
        --template-file main.bicep \
        --parameters \
        prefix=prefix \
        dsvmJumpboxUsername=azureadmin \
        dsvmJumpboxPassword=securepassword
    

Подключение к рабочей области

После завершения обработки шаблона выполните следующие действия, чтобы подключиться к DSVM:

  1. На портале Azure выберите группу ресурсов Azure, которая использовалась с шаблоном. Затем выберите Виртуальную машину для обработки и анализа данных, созданную с помощью шаблона. Если вы не можете найти ее, используйте раздел фильтров. Укажите для фильтра Тип значение виртуальная машина.

    Screenshot of filtering and selecting the vm.

  2. В разделе Обзор виртуальной машины выберите Подключить и укажите Бастион в раскрывающемся списке.

    Screenshot of selecting to connect using Bastion.

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

    Внимание

    При первом подключении к рабочему столу DSVM открывается окно PowerShell и начнется выполнение скрипта. Дождитесь завершения, прежде чем перейти к следующему шагу.

  4. На рабочем столе DSVM запустите Microsoft Edge и введите адрес https://ml.azure.com. Войдите в подписку Azure, а затем выберите рабочую область, созданную с помощью шаблона. Откроется студия для рабочей области.

Устранение неполадок

Ошибка: имя компьютера Windows не может содержать более 15 символов, быть полностью числовыми или содержать следующие символы.

Эта ошибка может возникать, если имя поля прыжка DSVM больше 15 символов или содержит один из следующих символов: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

При использовании шаблона Bicep имя поля перехода создается программным способом с помощью значения префикса, предоставленного шаблону. Чтобы убедиться, что имя не превышает 15 символов или содержит недопустимые символы, используйте префикс, который равен 5 символам или меньше, и не используйте ни один из следующих символов в префиксе: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

При использовании шаблона Terraform имя поля перехода передается с помощью dsvm_name параметра. Чтобы избежать этой ошибки, используйте имя, не превышающее 15 символов, и не использует ни один из следующих символов в составе имени: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

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

Внимание

Счет выставляется за каждый час работы Виртуальной машины для обработки и анализа данных (DSVM) и ресурсов вычислительных экземпляров. Чтобы избежать излишних затрат, следует останавливать работу ресурсов, когда они не используются. Дополнительные сведения см. в следующих статьях:

Чтобы продолжить обучение использованию защищенной рабочей области из DSVM, см. руководство по Машинное обучение Azure в день.

Дополнительные сведения о стандартных конфигурациях защищенных рабочих областей и требованиях к входным и выходным данным см. в статье Поток трафика защищенной рабочей области Машинного обучения Azure.