Terrayform kullanarak Azure Machine Learning çalışma alanlarını yönetme
Bu makalede Terraform yapılandırma dosyalarını kullanarak Azure Machine Learning çalışma alanı oluşturmayı ve yönetmeyi öğreneceksiniz. Terraform'un şablon tabanlı yapılandırma dosyaları, Azure kaynaklarını yinelenebilir ve öngörülebilir bir şekilde tanımlamanıza, oluşturmanıza ve yapılandırmanıza olanak tanır. Terraform kaynak durumunu izler ve kaynakları temizleyip yok eder.
Terraform yapılandırması, dağıtım için gereken kaynakları tanımlayan bir belgedir. Ayrıca dağıtım değişkenlerini de belirtebilir. Değişkenler, yapılandırma kullanılırken giriş değerleri sağlamak için kullanılır.
Ön koşullar
- Bir Azure aboneliği. Yoksa Azure Machine Learning'in ücretsiz veya ücretli sürümünü deneyin.
- Azure CLI'nın yüklü bir sürümü.
- Terraform'u yapılandırma: Bu makaledeki yönergeleri ve Terraform'u ve Azure erişimini yapılandırma makalesini izleyin.
Sınırlamalar
Yeni bir çalışma alanı oluştururken, çalışma alanı için gereken hizmetleri otomatik olarak oluşturabilir veya mevcut hizmetleri kullanabilirsiniz. Çalışma alanından farklı bir Azure aboneliğindeki mevcut hizmetleri kullanmak istiyorsanız, Azure Machine Learning ad alanını bu hizmetleri içeren aboneliğe kaydetmeniz gerekir. Örneğin, A aboneliğinde B aboneliğinden bir depolama hesabı kullanan bir çalışma alanı oluştururken, depolama hesabını çalışma alanıyla kullanabilmeniz için önce Azure Machine Learning ad alanının B aboneliğine kaydedilmesi gerekir.
Azure Machine Learning için kaynak sağlayıcısı Microsoft.MachineLearningServices'tir. Kayıtlı olup olmadığını ve nasıl kaydedildiğini görme hakkında bilgi için Azure kaynak sağlayıcıları ve türleri makalesine bakın.
Önemli
Bu yalnızca çalışma alanı oluşturma sırasında sağlanan kaynaklar için geçerlidir; Azure Depolama Hesapları, Azure Container Register, Azure Key Vault ve Uygulama Analizler.
Bahşiş
Çalışma alanını oluşturduğunuzda bir Azure Uygulaması Analizler örneği oluşturulur. İsterseniz küme oluşturulduktan sonra Application Analizler örneğini silebilirsiniz. Silme, çalışma alanından toplanan bilgileri sınırlar ve sorunları gidermeyi zorlaştırabilir. Çalışma alanı tarafından oluşturulan Application Analizler örneğini silerseniz, çalışma alanını silip yeniden oluşturmadan yeniden oluşturamazsınız.
Bu Uygulama Analizler örneğini kullanma hakkında daha fazla bilgi için bkz. Machine Learning web hizmeti uç noktalarındaki verileri izleme ve toplama.
Azure sağlayıcısını tanımlama
Azure sağlayıcısını bildiren Terraform yapılandırma dosyasını oluşturun:
main.tf
adlı yeni bir dosya oluşturun. Azure Cloud Shell ile çalışıyorsanız bash komutunu kullanın:code main.tf
Aşağıdaki kodu düzenleyiciye yapıştırın:
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 }
Dosyayı kaydedin (Ctrl S) ve düzenleyiciden çıkın (<Ctrl>Q).><
Çalışma alanı dağıtma
Azure Machine Learning çalışma alanı oluşturmak için aşağıdaki Terraform yapılandırmaları kullanılabilir. Azure Machine Learning çalışma alanı oluşturduğunuzda, bağımlılık olarak farklı hizmetler gerekir. Şablon, çalışma alanıyla ilişkili bu kaynakları da belirtir. gereksinimlerinize bağlı olarak, ortak veya özel ağ bağlantısıyla kaynak oluşturan şablonu kullanmayı seçebilirsiniz.
Azure'daki bazı kaynaklar genel olarak benzersiz adlar gerektirir. Aşağıdaki şablonları kullanarak kaynaklarınızı dağıtmadan önce değişkenini name
benzersiz bir değere ayarlayın.
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"
}
}
Sorun giderme
Kaynak sağlayıcısı hataları
Azure Machine Learning çalışma alanı veya çalışma alanı tarafından kullanılan bir kaynak oluştururken aşağıdaki iletilere benzer bir hata alabilirsiniz:
No registered resource provider found for location {location}
The subscription is not registered to use namespace {resource-provider-namespace}
Çoğu kaynak sağlayıcısı otomatik olarak kaydedilir, ancak tümü kaydedilmez. Bu iletiyi alırsanız, bahsedilen sağlayıcıyı kaydetmeniz gerekir.
Aşağıdaki tabloda Azure Machine Learning tarafından gereken kaynak sağlayıcılarının listesi yer alır:
Kaynak sağlayıcısı | Neden gereklidir? |
---|---|
Microsoft.MachineLearningServices | Azure Machine Learning çalışma alanını oluşturma. |
Microsoft. Depolama | Azure Depolama Hesabı, çalışma alanı için varsayılan depolama alanı olarak kullanılır. |
Microsoft.ContainerRegistry | Azure Container Registry, çalışma alanı tarafından Docker görüntüleri oluşturmak için kullanılır. |
Microsoft.KeyVault | Azure Key Vault, çalışma alanı tarafından gizli dizileri depolamak için kullanılır. |
Microsoft.Notebooks | Azure Machine Learning işlem örneğindeki tümleşik not defterleri. |
Microsoft.ContainerService | Eğitilmiş modelleri Azure Kubernetes Services'e dağıtmayı planlıyorsanız. |
Azure Machine Learning ile müşteri tarafından yönetilen bir anahtar kullanmayı planlıyorsanız aşağıdaki hizmet sağlayıcılarının kaydedilmesi gerekir:
Kaynak sağlayıcısı | Neden gereklidir? |
---|---|
Microsoft.DocumentDB | Çalışma alanı için meta verileri günlüğe kaydeden Azure CosmosDB örneği. |
Microsoft.Search | Azure Search, çalışma alanı için dizin oluşturma özellikleri sağlar. |
Azure Machine Learning ile yönetilen bir sanal ağ kullanmayı planlıyorsanız Microsoft.Network kaynak sağlayıcısının kayıtlı olması gerekir. Bu kaynak sağlayıcısı, yönetilen sanal ağ için özel uç noktalar oluştururken çalışma alanı tarafından kullanılır.
Kaynak sağlayıcılarını kaydetme hakkında bilgi için bkz . Kaynak sağlayıcısı kaydı hatalarını çözme.
Sonraki adımlar
Azure'da Terraform desteği hakkında daha fazla bilgi edinmek için Bkz . Azure'da Terraform belgeleri.
Terraform Azure sağlayıcısı ve Machine Learning modülüyle ilgili ayrıntılar için bkz . Terraform Kayıt Defteri Azure Resource Manager Sağlayıcısı.
Terraform için "hızlı başlangıç" şablon örneklerini bulmak için bkz . Azure Terraform Hızlı Başlangıç Şablonları:
- 101: Makine öğrenmesi çalışma alanı ve işlem – Azure Machine Learning'i kullanmaya başlamak için gereken en düşük kaynak kümesi.
- 201: Makine öğrenmesi çalışma alanı, işlem ve ağ yalıtımı için bir dizi ağ bileşeni – HBI verileriyle kullanılmak üzere bir üretim pilotu ortamı oluşturmak için gereken tüm kaynaklar.
- 202: 201'e benzer, ancak mevcut ağ bileşenlerini getirme seçeneğiyle...
- 301: Machine Learning çalışma alanı (Güvenlik Duvarı ile Güvenli Merkez ve Uç).
Ağ yapılandırma seçenekleri hakkında daha fazla bilgi edinmek için bkz . Sanal ağları (VNet) kullanarak Azure Machine Learning çalışma alanı kaynaklarının güvenliğini sağlama.
Alternatif Azure Resource Manager şablon tabanlı dağıtımlar için bkz . Resource Manager şablonları ve Resource Manager REST API'siyle kaynakları dağıtma.
Azure Machine Learning'inizi en son güvenlik güncelleştirmeleriyle güncel tutma hakkında bilgi için bkz . Güvenlik açığı yönetimi.