Munkaterületek Azure Machine Learning Terraformmal (előzetes verzió)

Ebből a cikkből megtudhatja, hogyan hozhat létre és kezelhet egy Azure Machine Learning Terraform konfigurációs fájlokkal. A Terraformsablonalapú konfigurációs fájljai lehetővé teszik Az Azure-erőforrások ismételhető és kiszámítható módon való definiálása, létrehozása és konfigurálása. A Terraform nyomon követi az erőforrás állapotát, és képes az erőforrások tisztítására és megsemmisítésére.

A Terraform-konfiguráció egy olyan dokumentum, amely meghatározza az üzembe helyezéshez szükséges erőforrásokat. Üzembe helyezési változókat is megadhat. A változók bemeneti értékeket biztosítanak a konfiguráció használata során.

Fontos

Ez a funkció jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatói szerződés nélkül érhető el, és nem ajánlott éles számítási feladatokhoz. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Előfeltételek

Az Azure-szolgáltató deklarálása

Hozza létre az Azure-szolgáltatót deklaráló Terraform konfigurációs fájlt:

  1. Hozzon létre egy új fájlt main.tf néven. Ha az alkalmazással Azure Cloud Shell, használja a basht:

    code main.tf
    
  2. Másolja az alábbi kódot a szerkesztőbe:

    main.tf:

    terraform {
      required_version = ">=1.0"
    
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "=2.76.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
    data "azurerm_client_config" "current" {}
    
    resource "azurerm_resource_group" "default" {
      name     = "rg-${var.name}-${var.environment}"
      location = var.location
    }
    
  3. Mentse a fájlt < (Ctrl>S), majd lépjen ki a szerkesztőből ( Ctrl>< Q).

Munkaterület üzembe helyezése

Az alábbi Terraform-konfigurációk használatával hozhat létre Azure Machine Learning munkaterületet. A munkaterület létrehozásakor Azure Machine Learning más szolgáltatásokra is szükség van függőségként. A sablon a munkaterülethez társított erőforrásokat is meghatározza. Igény szerint használhatja azt a sablont, amely nyilvános vagy magánhálózati kapcsolattal hoz létre erőforrásokat.

Egyes Azure-erőforrásoknak globálisan egyedi nevekre van szükségük. Mielőtt üzembe helyezi az erőforrásokat a következő sablonokkal, állítsa a változót egy name egyedi értékre.

variables.tf:

variable "name" {
  type        = string
  description = "Name of the deployment"
}

variable "environment" {
  type        = string
  description = "Name of the environment"
  default     = "dev"
}

variable "location" {
  type        = string
  description = "Location of the resources"
  default     = "East US"
}

workspace.tf:

# Dependent resources for Azure Machine Learning
resource "azurerm_application_insights" "default" {
  name                = "appi-${var.name}-${var.environment}"
  location            = azurerm_resource_group.default.location
  resource_group_name = azurerm_resource_group.default.name
  application_type    = "web"
}

resource "azurerm_key_vault" "default" {
  name                     = "kv-${var.name}-${var.environment}"
  location                 = azurerm_resource_group.default.location
  resource_group_name      = azurerm_resource_group.default.name
  tenant_id                = data.azurerm_client_config.current.tenant_id
  sku_name                 = "premium"
  purge_protection_enabled = false
}

resource "azurerm_storage_account" "default" {
  name                     = "st${var.name}${var.environment}"
  location                 = azurerm_resource_group.default.location
  resource_group_name      = azurerm_resource_group.default.name
  account_tier             = "Standard"
  account_replication_type = "GRS"
}

resource "azurerm_container_registry" "default" {
  name                = "cr${var.name}${var.environment}"
  location            = azurerm_resource_group.default.location
  resource_group_name = azurerm_resource_group.default.name
  sku                 = "Premium"
  admin_enabled       = true
}

# Machine Learning workspace
resource "azurerm_machine_learning_workspace" "default" {
  name                    = "mlw-${var.name}-${var.environment}"
  location                = azurerm_resource_group.default.location
  resource_group_name     = azurerm_resource_group.default.name
  application_insights_id = azurerm_application_insights.default.id
  key_vault_id            = azurerm_key_vault.default.id
  storage_account_id      = azurerm_storage_account.default.id
  container_registry_id   = azurerm_container_registry.default.id

  identity {
    type = "SystemAssigned"
  }
}

Hibaelhárítás

Erőforrás-szolgáltatói hibák

A munkaterület Azure Machine Learning vagy a munkaterület által használt erőforrás létrehozásakor a következő üzenetekhez hasonló hibaüzenet jelenhet meg:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

A legtöbb erőforrás-szolgáltató automatikusan regisztrálva van, de nem az összes. Ha ezt az üzenetet kapja, regisztrálnia kell az említett szolgáltatót.

Az erőforrás-szolgáltatók regisztrációjával kapcsolatos információkért lásd: Erőforrás-szolgáltató regisztrációjával kapcsolatos hibák elhárítása.

Aktuális korlátozások

  • A Terraform jelenleg nem használható a munkaterületek ügyfél által felügyelt titkosítási kulcsokkal való üzembe helyezéséhez.

Következő lépések

  • A Terraform Azure-beli támogatásával kapcsolatos további információkért tekintse meg a Terraform az Azure-on dokumentációját.

  • A Terraform "gyors üzembe helyezési" sablonpépéiért lásd: Azure Terraform gyorsindítási sablonok:

    • 101: Machine Learning-munkaterület és -számítás – az Azure-beli virtuális gépek használatának első ML.
    • 201: Gépi tanulási munkaterület, számítás és hálózati összetevők egy készlete a hálózatelszigeteléshez – minden olyan erőforrás, amely a HBI-adatokkal használható éles próbakörnyezet létrehozásához szükséges.
    • 202: Hasonló a 201-hez,de a meglévő hálózati összetevők is átvesznek. .
  • A Terraform Azure-szolgáltatóval kapcsolatos részletekért lásd: Terraform Registry Azure Resource Manager Provider.

  • A hálózati konfigurációs beállításokkal kapcsolatos további információkért lásd: Biztonságos Azure Machine Learning munkaterület-erőforrások használata virtuális hálózatokkal (VNetekkel).

  • A sablonalapú Azure Resource Manager üzembe helyezésének alternatív megoldását lásd: Erőforrások üzembe helyezése Resource Manager sablonokkal és Resource Manager REST API.