Verwalten von Azure Machine Learning-Arbeitsbereichen mithilfe von Terraform (Vorschau)

In diesem Artikel erfahren Sie, wie Sie einen Azure Machine Learning-Arbeitsbereich mithilfe von Terraform-Konfigurationsdateien erstellen und verwalten. Die vorlagenbasierten Konfigurationsdateien von Terraform ermöglichen es Ihnen, Azure-Ressourcen in wiederholbarer und vorhersagbarer Weise zu definieren, zu erstellen und zu konfigurieren. Terraform verfolgt den Ressourcenzustand nach und kann Ressourcen bereinigen und zerstören.

Eine Terraform-Konfiguration ist ein Dokument, das die Ressourcen definiert, die für eine Bereitstellung benötigt werden. Sie kann auch Variablen für die Bereitstellung angeben. Variablen werden verwendet, um Eingabewerte bereitzustellen, wenn die Konfiguration verwendet wird.

Wichtig

Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Voraussetzungen

Deklarieren des Azure-Anbieters

Erstellen Sie die Terraform-Konfigurationsdatei, die den Azure-Anbieter deklariert:

  1. Erstellen Sie eine neue Datei mit dem Namen main.tf. Wenn Sie mit Azure Cloud Shell arbeiten, verwenden Sie Bash:

    code main.tf
    
  2. Fügen Sie den folgenden Code in den Editor ein:

    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. Speichern Sie die Datei ( <STRG+S), und beenden Sie den Editor ( <STRG+Q).

Bereitstellen eines Arbeitsbereichs

Die folgenden Terraform-Konfigurationen können verwendet werden, um einen Azure Machine Learning-Arbeitsbereich zu erstellen. Wenn Sie einen Azure Machine Learning-Arbeitsbereich erstellen, werden verschiedene andere Dienste als Abhängigkeiten benötigt. Die Vorlage gibt auch diese zugeordneten Ressourcen für den Arbeitsbereich an. Je nach Bedarf können Sie die Vorlage verwenden, die Ressourcen mit öffentlicher oder privater Netzwerkkonnektivität erstellt.

Einige Ressourcen in Azure erfordern global eindeutige Namen. Bevor Sie Ihre Ressourcen mithilfe der folgenden Vorlagen bereitstellen, legen Sie die name-Variable auf einen eindeutigen Wert fest.

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"
  }
}

Problembehandlung

Fehler der Ressourcenanbieter

Wenn Sie einen Azure Machine Learning-Arbeitsbereich oder eine vom Arbeitsbereich verwendete Ressource erstellen, erhalten Sie möglicherweise eine Fehlermeldung ähnlich der folgenden:

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

Die meisten Ressourcenanbieter werden automatisch registriert, aber nicht alle. Wenn Sie diese Meldung erhalten, müssen Sie den erwähnten Anbieter registrieren.

Weitere Informationen zum Registrieren eines Ressourcenanbieters finden Sie unter Beheben von Fehlern bei der Ressourcenanbieterregistrierung.

Aktuelle Einschränkungen

  • Es ist derzeit nicht möglich, Terraform für die Bereitstellung von Arbeitsbereichen mit kundenseitig verwalteten Verschlüsselungsschlüsseln zu verwenden.

Nächste Schritte