Správa pracovních prostorů Azure Machine Learning pomocí Terraformu
V tomto článku se dozvíte, jak vytvořit a spravovat pracovní prostor Azure Machine Učení pomocí konfiguračních souborů Terraformu. Konfigurační soubory založené na šablonách Terraformu umožňují definovat, vytvářet a konfigurovat prostředky Azure opakovatelným a předvídatelným způsobem. Terraform sleduje stav prostředků a dokáže vyčistit a zničit prostředky.
Konfigurace Terraformu je dokument, který definuje prostředky potřebné pro nasazení. Může také určovat proměnné nasazení. Proměnné se používají k zadání vstupních hodnot při použití konfigurace.
Předpoklady
- Předplatné Azure Pokud ho nemáte, vyzkoušejte bezplatnou nebo placenou verzi služby Azure Machine Učení.
- Nainstalovaná verze Azure CLI.
- Konfigurace Terraformu: Postupujte podle pokynů v tomto článku a Terraformu a nakonfigurujte přístup k článku Azure .
Omezení
Při vytváření nového pracovního prostoru můžete buď automaticky vytvářet služby potřebné pracovním prostorem, nebo používat existující služby. Pokud chcete použít existující služby z jiného předplatného Azure, než je pracovní prostor, musíte zaregistrovat obor názvů azure machine Učení v předplatném, které tyto služby obsahuje. Například vytvoření pracovního prostoru v předplatném A, který používá účet úložiště z předplatného B, musí být obor názvů Azure Machine Učení zaregistrovaný v předplatném B, abyste mohli použít účet úložiště s pracovním prostorem.
Poskytovatel prostředků pro Azure Machine Učení je Microsoft.Machine Učení Services. Informace o tom, jak zjistit, jestli je zaregistrovaná a jak ji zaregistrovat, najdete v článku o poskytovatelích a typech prostředků Azure.
Důležité
To platí pouze pro prostředky poskytnuté během vytváření pracovního prostoru; Účty azure Storage, Azure Container Register, Azure Key Vault a Přehledy aplikací.
Tip
Při vytváření pracovního prostoru se vytvoří instance Aplikace Azure Přehledy. Pokud chcete, můžete instanci Přehledy aplikace odstranit po vytvoření clusteru. Odstraněním omezíte informace shromážděné z pracovního prostoru a může být obtížnější řešit problémy. Pokud odstraníte aplikaci Přehledy instanci vytvořenou pracovním prostorem, nemůžete ji znovu vytvořit bez odstranění a opětovného vytvoření pracovního prostoru.
Další informace o používání této instance Přehledy aplikace najdete v tématu Monitorování a shromažďování dat z koncových bodů webové služby Učení počítače.
Deklarování zprostředkovatele Azure
Vytvořte konfigurační soubor Terraformu, který deklaruje poskytovatele Azure:
Vytvořte nový soubor s názvem
main.tf
. Pokud pracujete s Azure Cloud Shellem, použijte Bash:code main.tf
Do editoru vložte následující kód:
main.tf:
data "azurerm_client_config" "current" {} resource "azurerm_resource_group" "default" { name = "${random_pet.prefix.id}-rg" location = var.location } resource "random_pet" "prefix" { prefix = var.prefix length = 2 } resource "random_integer" "suffix" { min = 10000000 max = 99999999 }
Uložte soubor (<Ctrl>S) a ukončete editor (<Ctrl>Q).
Nasazení pracovního prostoru
Následující konfigurace Terraformu je možné použít k vytvoření pracovního prostoru Azure Machine Učení. Při vytváření pracovního prostoru Azure Machine Učení se jako závislosti vyžadují různé další služby. Šablona také určuje tyto přidružené prostředky k pracovnímu prostoru. V závislosti na vašich potřebách se můžete rozhodnout použít šablonu, která vytváří prostředky s připojením k veřejné nebo privátní síti.
Některé prostředky v Azure vyžadují globálně jedinečné názvy. Před nasazením prostředků pomocí následujících šablon nastavte name
proměnnou na jedinečnou hodnotu.
variables.tf:
variable "environment" {
type = string
description = "Name of the environment"
default = "dev"
}
variable "location" {
type = string
description = "Location of the resources"
default = "eastus"
}
variable "prefix" {
type = string
description = "Prefix of the resource name"
default = "ml"
}
workspace.tf:
# Dependent resources for Azure Machine Learning
resource "azurerm_application_insights" "default" {
name = "${random_pet.prefix.id}-appi"
location = azurerm_resource_group.default.location
resource_group_name = azurerm_resource_group.default.name
application_type = "web"
}
resource "azurerm_key_vault" "default" {
name = "${var.prefix}${var.environment}${random_integer.suffix.result}kv"
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 = "${var.prefix}${var.environment}${random_integer.suffix.result}st"
location = azurerm_resource_group.default.location
resource_group_name = azurerm_resource_group.default.name
account_tier = "Standard"
account_replication_type = "GRS"
allow_nested_items_to_be_public = false
}
resource "azurerm_container_registry" "default" {
name = "${var.prefix}${var.environment}${random_integer.suffix.result}cr"
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 = "${random_pet.prefix.id}-mlw"
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
public_network_access_enabled = true
identity {
type = "SystemAssigned"
}
}
Řešení problému
Chyby poskytovatele prostředků
Při vytváření pracovního prostoru azure machine Učení nebo prostředku používaného pracovním prostorem se může zobrazit chyba podobná následujícím zprávě:
No registered resource provider found for location {location}
The subscription is not registered to use namespace {resource-provider-namespace}
Většina poskytovatelů prostředků se registruje automaticky, ale ne všechny. Pokud se zobrazí tato zpráva, musíte zaregistrovat uvedeného poskytovatele.
Následující tabulka obsahuje seznam poskytovatelů prostředků vyžadovaných službou Azure Machine Učení:
Poskytovatel prostředků | Proč je to potřeba |
---|---|
Microsoft.Machine Učení Services | Vytvoření pracovního prostoru Azure Machine Učení |
Microsoft.Storage | Účet služby Azure Storage se používá jako výchozí úložiště pro pracovní prostor. |
Microsoft.ContainerRegistry | Azure Container Registry používá pracovní prostor k vytváření imagí Dockeru. |
Microsoft.KeyVault | Azure Key Vault používá pracovní prostor k ukládání tajných kódů. |
Microsoft.Notebooks | Integrované poznámkové bloky ve službě Azure Machine Učení výpočetní instanci |
Microsoft.ContainerService | Pokud plánujete nasadit natrénované modely do azure Kubernetes Services. |
Pokud plánujete používat klíč spravovaný zákazníkem se službou Azure Machine Učení, musí být zaregistrovaní následující poskytovatelé služeb:
Poskytovatel prostředků | Proč je to potřeba |
---|---|
Microsoft.DocumentDB | Instance Azure CosmosDB, která protokoluje metadata pro pracovní prostor. |
Microsoft.Search | Azure Search poskytuje možnosti indexování pro pracovní prostor. |
Pokud plánujete používat spravovanou virtuální síť se službou Azure Machine Učení, musí být zaregistrovaný poskytovatel prostředků Microsoft.Network. Tento poskytovatel prostředků je používán pracovním prostorem při vytváření privátních koncových bodů pro spravovanou virtuální síť.
Informace o registraci poskytovatelů prostředků najdete v tématu Řešení chyb registrace poskytovatele prostředků.
Další kroky
Další informace o podpoře Terraformu v Azure najdete v dokumentaci k Terraformu v Azure.
Podrobnosti o poskytovateli Azure Terraformu a modulu Učení počítače najdete v tématu Zprostředkovatel Azure Resource Manageru ve službě Terraform Registry.
Pokud chcete najít příklady šablon "rychlý start" pro Terraform, projděte si šablony Rychlého startu Azure Terraformu:
- 101: Pracovní prostor a výpočetní prostředí machine learning – minimální sada prostředků potřebných k zahájení práce se službou Azure Machine Učení.
- 201: Pracovní prostor, výpočetní prostředky a sada síťových komponent pro izolaci sítě – všechny prostředky potřebné k vytvoření produkčního pilotního prostředí pro použití s daty HBI.
- 202: Podobá se verzi 201, ale s možností přenést existující síťové komponenty.
- 301: Pracovní prostor Učení počítače (Secure Hub and Spoke with Firewall)
Další informace o možnostech konfigurace sítě najdete v tématu Zabezpečení prostředků pracovního prostoru azure machine Učení pomocí virtuálních sítí.
Alternativní nasazení založené na šablonách Azure Resource Manageru najdete v tématu Nasazení prostředků pomocí šablon Resource Manageru a rozhraní REST API Resource Manageru.
Informace o tom, jak udržovat počítač Azure Učení aktuální s nejnovějšími aktualizacemi zabezpečení, najdete v tématu Správa ohrožení zabezpečení.