Azure Machine Learning-munkaterületek kezelése a Terraform segítségével
Ebből a cikkből megtudhatja, hogyan hozhat létre és kezelhet Azure Machine Tanulás-munkaterületet Terraform-konfigurációs fájlok használatával. A Terraform sablonalapú konfigurációs fájljai lehetővé teszik az Azure-erőforrások ismételt és kiszámítható definiálását, létrehozását és konfigurálását. A Terraform nyomon követi az erőforrások állapotát, és képes megtisztítani és megsemmisíteni az erőforrásokat.
A Terraform-konfiguráció olyan dokumentum, amely meghatározza az üzembe helyezéshez szükséges erőforrásokat. Az üzembehelyezési változókat is megadhatja. A változók bemeneti értékeket adnak meg a konfiguráció használatakor.
Előfeltételek
- Egy Azure-előfizetés. Ha nincs, próbálja ki az Azure Machine Tanulás ingyenes vagy fizetős verzióját.
- Az Azure CLI telepített verziója.
- A Terraform konfigurálása: kövesse a cikkben és a Terraformban található utasításokat, és konfigurálja az Azure-cikkhez való hozzáférést.
Korlátozások
Új munkaterület létrehozásakor automatikusan létrehozhatja a munkaterülethez szükséges szolgáltatásokat, vagy használhatja a meglévő szolgáltatásokat. Ha a munkaterülettől eltérő Azure-előfizetésből származó meglévő szolgáltatásokat szeretne használni, regisztrálnia kell az Azure Machine Tanulás névterét a szolgáltatásokat tartalmazó előfizetésben. Ha például létrehoz egy munkaterületet az A előfizetésben, amely a B előfizetésből származó tárfiókot használ, az Azure Machine Tanulás névterét regisztrálni kell a B előfizetésben, mielőtt a tárfiókot használhassa a munkaterülettel.
Az Azure Machine Tanulás erőforrás-szolgáltatója a Microsoft.Machine Tanulás Services. Az Azure-erőforrás-szolgáltatókról és -típusokról szóló cikkből megtudhatja, hogyan lehet regisztrálni, és hogyan lehet regisztrálni.
Fontos
Ez csak a munkaterület létrehozása során biztosított erőforrásokra vonatkozik; Azure Storage-fiókok, Azure Container Register, Azure Key Vault és alkalmazás Elemzések.
Tipp.
A munkaterület létrehozásakor létrejön egy Azure-alkalmazás Elemzések példány. Ha szeretné, törölheti az Alkalmazás Elemzések-példányt a fürt létrehozása után. A törlés korlátozza a munkaterületről gyűjtött információkat, és megnehezítheti a problémák elhárítását. Ha törli a munkaterület által létrehozott alkalmazáspéldányt Elemzések, a munkaterület törlése és újbóli létrehozása nélkül nem hozhatja létre újra.
Az alkalmazás Elemzések-példány használatáról további információt a Tanulás-webszolgáltatás-végpontok monitorozása és adatgyűjtése című témakörben talál.
Az Azure-szolgáltató deklarálása
Hozza létre az Azure-szolgáltatót deklaráló Terraform-konfigurációs fájlt:
Hozzon létre egy új fájlt
main.tf
néven. Ha az Azure Cloud Shellt használja, használja a basht:code main.tf
Másolja az alábbi kódot a szerkesztőbe:
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 }
Mentse a fájlt (<Ctrl>S), és lépjen ki a szerkesztőből (<Ctrl>Q).
Munkaterület üzembe helyezése
Az alábbi Terraform-konfigurációk használhatók egy Azure Machine-Tanulás-munkaterület létrehozásához. Azure Machine Tanulás-munkaterület létrehozásakor függőségként számos más szolgáltatásra van szükség. A sablon a munkaterülethez társított erőforrásokat is megadja. Igényeitől függően választhatja azt a sablont, amely nyilvános vagy magánhálózati kapcsolattal hoz létre erőforrásokat.
Az Azure egyes erőforrásai globálisan egyedi neveket igényelnek. Mielőtt az erőforrásokat az alábbi sablonokkal telepíti, állítsa a name
változót egyedi értékre.
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"
}
}
Hibaelhárítás
Erőforrás-szolgáltatói hibák
Azure Machine Tanulás-munkaterület 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 alábbi táblázat az Azure Machine Tanulás által igényelt erőforrás-szolgáltatók listáját tartalmazza:
Erőforrás-szolgáltató | Why it's needed |
---|---|
Microsoft.Machine Tanulás Szolgáltatások | Az Azure Machine Tanulás-munkaterület létrehozása. |
Microsoft.Storage | A rendszer az Azure Storage-fiókot használja a munkaterület alapértelmezett tárolójaként. |
Microsoft.ContainerRegistry | Az Azure Container Registryt a munkaterület használja Docker-rendszerképek létrehozásához. |
Microsoft.KeyVault | Az Azure Key Vaultot a munkaterület titkos kulcsok tárolására használja. |
Microsoft.Notebooks | Integrált jegyzetfüzetek az Azure Machine Tanulás számítási példányon. |
Microsoft.ContainerService | Ha betanított modellek üzembe helyezését tervezi az Azure Kubernetes Servicesben. |
Ha ügyfél által felügyelt kulcsot szeretne használni az Azure Machine Tanulás, akkor a következő szolgáltatókat kell regisztrálnia:
Erőforrás-szolgáltató | Why it's needed |
---|---|
Microsoft.DocumentDB | Azure CosmosDB-példány, amely naplózza a munkaterület metaadatait. |
Microsoft.Search | Az Azure Search indexelési képességeket biztosít a munkaterülethez. |
Ha felügyelt virtuális hálózatot tervez használni az Azure Machine Tanulás, akkor a Microsoft.Network erőforrás-szolgáltatót regisztrálni kell. Ezt az erőforrás-szolgáltatót használja a munkaterület a felügyelt virtuális hálózat privát végpontjainak létrehozásakor.
Az erőforrás-szolgáltatók regisztrálásáról további információt az erőforrás-szolgáltató regisztrációjának hibáinak megoldása című témakörben talál.
Következő lépések
Az Azure-ra vonatkozó Terraform-támogatásról további információt az Azure-ról szóló Terraform-dokumentációban talál.
A Terraform Azure-szolgáltató és a Gép Tanulás modul részleteiért lásd: Terraform Registry Azure Resource Manager Provider.
A Terraformhoz készült "gyors üzembe helyezés" sablonmintákat az Azure Terraform gyorsindítási sablonjaiban találja:
- 101: Gépi tanulási munkaterület és számítás – az Azure Machine Tanulás használatának megkezdéséhez szükséges minimális erőforráskészlet.
- 201: Gépi tanulási munkaterület, számítás és hálózati összetevők készlete a hálózatelkülönítéshez – minden olyan erőforrás, amely a HBI-adatokkal való használathoz szükséges éles próbakörnyezet létrehozásához szükséges.
- 202: Hasonló a 201-hez, de lehetőség van meglévő hálózati összetevők behozására.
- 301: Gépi Tanulás munkaterület (Secure Hub and Spoke with Firewall).
A hálózatkonfigurációs lehetőségekről további információt az Azure Machine biztonságos Tanulás virtuális hálózatokat használó munkaterületi erőforrások című témakörben talál.
Az Azure Resource Manager sablonalapú központi telepítéseivel kapcsolatban lásd : Erőforrások üzembe helyezése Resource Manager-sablonokkal és Resource Manager REST API-val.
Az Azure Machine Tanulás naprakészen tartásáról a legújabb biztonsági frissítésekről a biztonsági rések kezelése című témakörben olvashat.