Zarządzanie obszarami roboczymi usługi Azure Machine Learning przy użyciu narzędzia Terraform
Z tego artykułu dowiesz się, jak utworzyć obszar roboczy usługi Azure Machine Edukacja i zarządzać nim przy użyciu plików konfiguracji programu Terraform. Pliki konfiguracji oparte na szablonach programu Terraform umożliwiają definiowanie, tworzenie i konfigurowanie zasobów platformy Azure w powtarzalny i przewidywalny sposób. Narzędzie Terraform śledzi stan zasobu i umożliwia czyszczenie i niszczenie zasobów.
Konfiguracja narzędzia Terraform to dokument definiujący zasoby potrzebne do wdrożenia. Może również określać zmienne wdrożenia. Zmienne są używane do podawania wartości wejściowych podczas korzystania z konfiguracji.
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli go nie masz, wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Edukacja.
- Zainstalowana wersja interfejsu wiersza polecenia platformy Azure.
- Konfigurowanie narzędzia Terraform: postępuj zgodnie z instrukcjami w tym artykule oraz narzędziem Terraform i skonfiguruj dostęp do platformy Azure .
Ograniczenia
Podczas tworzenia nowego obszaru roboczego można automatycznie tworzyć usługi wymagane przez obszar roboczy lub korzystać z istniejących usług. Jeśli chcesz używać istniejących usług z innej subskrypcji platformy Azure niż obszar roboczy, musisz zarejestrować przestrzeń nazw usługi Azure Machine Edukacja w subskrypcji zawierającej te usługi. Na przykład utworzenie obszaru roboczego w subskrypcji A korzystającej z konta magazynu z subskrypcji B, przestrzeń nazw usługi Azure Machine Edukacja musi być zarejestrowana w subskrypcji B, zanim będzie można używać konta magazynu z obszarem roboczym.
Dostawca zasobów dla usługi Azure Machine Edukacja to Microsoft.Machine Edukacja Services. Aby uzyskać informacje na temat sposobu jego rejestrowania i rejestrowania, zobacz artykuł Azure resource providers and types (Dostawcy zasobów i typy platformy Azure).
Ważne
Dotyczy to tylko zasobów udostępnianych podczas tworzenia obszaru roboczego; Konta usługi Azure Storage, rejestr kontenerów platformy Azure, usługa Azure Key Vault i Szczegółowe informacje aplikacji.
Napiwek
Wystąpienie aplikacja systemu Azure Szczegółowe informacje jest tworzone podczas tworzenia obszaru roboczego. Jeśli chcesz, możesz usunąć wystąpienie aplikacji Szczegółowe informacje po utworzeniu klastra. Usunięcie go ogranicza informacje zebrane z obszaru roboczego i może utrudnić rozwiązywanie problemów. Jeśli usuniesz wystąpienie aplikacji Szczegółowe informacje utworzone przez obszar roboczy, nie można go ponownie utworzyć bez usuwania i ponownego tworzenia obszaru roboczego.
Aby uzyskać więcej informacji na temat korzystania z tego wystąpienia usługi Application Szczegółowe informacje, zobacz Monitorowanie i zbieranie danych z punktów końcowych usługi internetowej Edukacja maszyny.
Deklarowanie dostawcy platformy Azure
Utwórz plik konfiguracji narzędzia Terraform, który deklaruje dostawcę platformy Azure:
Utwórz nowy plik o nazwie
main.tf
. Jeśli pracujesz z usługą Azure Cloud Shell, użyj powłoki bash:code main.tf
Wklej następujący kod do edytora:
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 }
Zapisz plik (Ctrl S) i zamknij edytor (<Ctrl>Q).><
Wdrażanie obszaru roboczego
Poniższe konfiguracje programu Terraform mogą służyć do tworzenia obszaru roboczego usługi Azure Machine Edukacja. Podczas tworzenia obszaru roboczego usługi Azure Machine Edukacja różne inne usługi są wymagane jako zależności. Szablon określa również te skojarzone zasoby z obszarem roboczym. W zależności od potrzeb możesz użyć szablonu, który tworzy zasoby z łącznością z siecią publiczną lub prywatną.
Niektóre zasoby na platformie Azure wymagają globalnie unikatowych nazw. Przed wdrożeniem zasobów przy użyciu poniższych szablonów ustaw name
zmienną na unikatową wartość.
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"
}
}
Rozwiązywanie problemów
Błędy dostawcy zasobów
Podczas tworzenia obszaru roboczego usługi Azure Machine Edukacja lub zasobu używanego przez obszar roboczy może zostać wyświetlony błąd podobny do następujących komunikatów:
No registered resource provider found for location {location}
The subscription is not registered to use namespace {resource-provider-namespace}
Większość dostawców zasobów jest automatycznie rejestrowana, ale nie wszystkie. Jeśli zostanie wyświetlony ten komunikat, musisz zarejestrować wymienionego dostawcę.
Poniższa tabela zawiera listę dostawców zasobów wymaganych przez usługę Azure Machine Edukacja:
Dostawca zasobów | Dlaczego jest to potrzebne |
---|---|
Microsoft.Machine Edukacja Services | Tworzenie obszaru roboczego usługi Azure Machine Edukacja. |
Microsoft.Storage | Konto usługi Azure Storage jest używane jako domyślny magazyn dla obszaru roboczego. |
Microsoft.ContainerRegistry | Usługa Azure Container Registry jest używana przez obszar roboczy do tworzenia obrazów platformy Docker. |
Microsoft.KeyVault | Usługa Azure Key Vault jest używana przez obszar roboczy do przechowywania wpisów tajnych. |
Microsoft.Notebooks | Zintegrowane notesy na maszynie Azure Edukacja wystąpienia obliczeniowego. |
Microsoft.ContainerService | Jeśli planujesz wdrażanie wytrenowanych modeli w usługach Azure Kubernetes Services. |
Jeśli planujesz używanie klucza zarządzanego przez klienta z usługą Azure Machine Edukacja, należy zarejestrować następujących dostawców usług:
Dostawca zasobów | Dlaczego jest to potrzebne |
---|---|
Microsoft.DocumentDB | Wystąpienie usługi Azure CosmosDB, które rejestruje metadane obszaru roboczego. |
Microsoft.Search | Usługa Azure Search udostępnia funkcje indeksowania dla obszaru roboczego. |
Jeśli planujesz korzystanie z zarządzanej sieci wirtualnej z usługą Azure Machine Edukacja, należy zarejestrować dostawcę zasobów Microsoft.Network. Ten dostawca zasobów jest używany przez obszar roboczy podczas tworzenia prywatnych punktów końcowych dla zarządzanej sieci wirtualnej.
Aby uzyskać informacje na temat rejestrowania dostawców zasobów, zobacz Rozwiązywanie błędów dotyczących rejestracji dostawcy zasobów.
Następne kroki
Aby dowiedzieć się więcej na temat obsługi programu Terraform na platformie Azure, zobacz dokumentację narzędzia Terraform na platformie Azure.
Aby uzyskać szczegółowe informacje na temat dostawcy platformy Azure programu Terraform i modułu machine Edukacja, zobacz Terraform Registry Azure Resource Manager Provider (Dostawca usługi Azure Resource Manager w usłudze Terraform Registry).
Aby znaleźć przykłady szablonów "Szybki start" dla narzędzia Terraform, zobacz Szablony szybkiego startu narzędzia Azure Terraform:
- 101: Obszar roboczy i obliczenia uczenia maszynowego — minimalny zestaw zasobów potrzebnych do rozpoczęcia pracy z usługą Azure Machine Edukacja.
- 201: Obszar roboczy uczenia maszynowego, obliczenia i zestaw składników sieci na potrzeby izolacji sieci — wszystkie zasoby potrzebne do utworzenia środowiska pilotażowego produkcji do użycia z danymi karty HBI.
- 202: Podobnie jak w 201 r., ale z opcją przeniesienia istniejących składników sieciowych.
- 301: Obszar roboczy maszyny Edukacja (Secure Hub and Spoke with Firewall).
Aby dowiedzieć się więcej na temat opcji konfiguracji sieci, zobacz Secure Azure Machine Edukacja workspace resources using virtual networks (VNets) (Zabezpieczanie zasobów obszaru roboczego usługi Azure Machine Edukacja przy użyciu sieci wirtualnych).
Aby zapoznać się z alternatywnymi wdrożeniami opartymi na szablonach usługi Azure Resource Manager, zobacz Wdrażanie zasobów przy użyciu szablonów usługi Resource Manager i interfejsu API REST usługi Resource Manager.
Aby uzyskać informacje o sposobie aktualizowania usługi Azure Machine Edukacja przy użyciu najnowszych aktualizacji zabezpieczeń, zobacz Zarządzanie lukami w zabezpieczeniach.