Przechodzenie w tryb failover na potrzeby ciągłości działania i odzyskiwania po awarii

Aby zmaksymalizować czas pracy, zaplanuj ciągłość działania i przygotuj się do odzyskiwania po awarii za pomocą usługi Azure Machine Learning.

Firma Microsoft stara się zapewnić, że usługi platformy Azure są zawsze dostępne. Mogą jednak wystąpić nieplanowane awarie usług. Przygotuj plan przywracania po awarii na wypadek regionalnych awarii usług. W tym artykule omówiono sposób wykonywania następujących zadań:

  • Planowanie wdrożenia wieloregionalnego usługi Azure Machine Learning i powiązanych zasobów.
  • Maksymalizuj szanse na odzyskanie dzienników, notesów, obrazów platformy Docker i innych metadanych.
  • Projektowanie pod kątem wysokiej dostępności rozwiązania.
  • Zainicjuj przejście w tryb failover do innego regionu.

Ważne

Sama usługa Azure Machine Learning nie zapewnia automatycznego przejścia w tryb failover ani odzyskiwania po awarii. Tworzenie kopii zapasowych i przywracanie metadanych obszaru roboczego, takich jak historia uruchamiania, nie jest dostępne.

Jeśli obszar roboczy lub odpowiednie składniki zostały przypadkowo usunięte, ten artykuł zawiera również obecnie obsługiwane opcje odzyskiwania.

Omówienie usług platformy Azure dla usługi Azure Machine Learning

Usługa Azure Machine Learning zależy od wielu usług platformy Azure. Niektóre z tych usług są udostępniane w ramach subskrypcji. Odpowiadasz za konfigurację tych usług o wysokiej dostępności. Inne usługi są tworzone w ramach subskrypcji firmy Microsoft i są zarządzane przez firmę Microsoft.

Usługi platformy Azure obejmują:

  • Infrastruktura usługi Azure Machine Learning: środowisko zarządzane przez firmę Microsoft dla obszaru roboczego usługi Azure Machine Learning.

  • Zasoby skojarzone: zasoby udostępnione w ramach subskrypcji podczas tworzenia obszaru roboczego usługi Azure Machine Learning. Te zasoby obejmują usługę Azure Storage, usługę Azure Key Vault, usługę Azure Container Registry i usługę Application Insights.

    • Domyślny magazyn zawiera dane, takie jak modele, dane dziennika treningu oraz odwołania do zasobów danych.
    • Usługa Key Vault ma poświadczenia dla usług Azure Storage, Container Registry i magazynów danych.
    • Container Registry zawiera obraz Docker dla środowisk trenowania i wnioskowania.
    • Usługa Application Insights służy do monitorowania usługi Azure Machine Learning.
  • Zasoby obliczeniowe: zasoby tworzone po wdrożeniu obszaru roboczego. Możesz na przykład utworzyć wystąpienie obliczeniowe lub klaster obliczeniowy w celu wytrenowania modelu uczenia maszynowego.

    • Instancja obliczeniowa i klaster obliczeniowy: zarządzane przez firmę Microsoft środowiska do tworzenia modeli.
    • Inne zasoby: zasoby obliczeniowe firmy Microsoft, które można dołączyć do usługi Azure Machine Learning, takie jak Azure Kubernetes Service (AKS), Azure Databricks, Azure Container Instances i Azure HDInsight. Odpowiadasz za konfigurowanie ustawień wysokiej dostępności dla tych zasobów.
  • Inne magazyny danych: usługa Azure Machine Learning może zainstalować inne magazyny danych, takie jak Azure Storage i Azure Data Lake Storage na potrzeby danych szkoleniowych. Te magazyny danych są udostępniane w ramach Twojej subskrypcji. Odpowiadasz za konfigurowanie ustawień wysokiej dostępności. Aby wyświetlić inne opcje magazynu danych, zobacz Tworzenie magazynów danych.

W poniższej tabeli przedstawiono, które usługi Azure są zarządzane przez Microsoft i które są zarządzane przez Ciebie. Wskazuje również usługi, które są domyślnie wysoce dostępne.

Usługa Zarządzane przez Wysoka dostępność domyślnie
Infrastruktura usługi Azure Machine Learning Microsoft
Powiązane zasoby
Azure Storage Ty
Key Vault Ty
Container Registry Ty
Application Insights Ty NIE
Zasoby obliczeniowe
Instancja obliczeniowa Microsoft
Klaster obliczeniowy Microsoft
Inne zasoby obliczeniowe, takie jak AKS,
Azure Databricks, Container Instances, HDInsight
Ty
Inne magazyny danych, takie jak Azure Storage, SQL Database,
Azure Database for PostgreSQL, Azure Database for MySQL,
System plików usługi Azure Databricks
Ty

W pozostałej części tego artykułu opisano akcje, które należy wykonać, aby każda z tych usług były wysoce dostępne.

Planowanie wdrożenia w wielu regionach

Wdrożenie obejmujące wiele regionów opiera się na tworzeniu usługi Azure Machine Learning i innych zasobów (infrastruktury) w dwóch regionach świadczenia usługi Azure. Jeśli wystąpi awaria regionalna, możesz przełączyć się do innego regionu. Podczas planowania miejsca wdrażania zasobów należy wziąć pod uwagę następujące kwestie:

  • Dostępność regionalna: jeśli to możliwe, użyj regionu w tym samym obszarze geograficznym, niekoniecznie takiego, który jest najbliżej. Aby sprawdzić dostępność regionalną usługi Azure Machine Learning, zobacz Produkty platformy Azure według regionów.

  • Sparowane regiony platformy Azure: sparowane regiony koordynują aktualizacje platformy i ustalają priorytety działań związanych z odzyskiwaniem w razie potrzeby. Jednak nie wszystkie regiony obsługują sparowane regiony. Aby uzyskać więcej informacji, zobacz artykuł Sparowane regiony platformy Azure.

  • Dostępność usługi: Zdecyduj, czy zasoby wykorzystywane przez rozwiązanie powinny działać w modelu hot/hot, hot/warm czy hot/cold.

    • Aktywny/aktywny: Oba regiony są aktywne jednocześnie, przy czym jeden z nich jest gotowy do natychmiastowego użycia.
    • Gorąca/ciepła: Aktywny region podstawowy, region pomocniczy ma krytyczne zasoby (na przykład wdrożone modele) gotowe do uruchomienia. Zasoby niekrytyczne muszą być wdrażane ręcznie w regionie pomocniczym.
    • Gorąca/zimna: Aktywny region podstawowy, region pomocniczy ma wdrożone usługi Azure Machine Learning i inne zasoby wraz z wymaganymi danymi. Zasoby, takie jak modele, wdrożenia modelu lub potoki, muszą być wdrażane ręcznie.

Wskazówka

W zależności od wymagań biznesowych możesz zdecydować się na różne traktowanie różnych zasobów usługi Azure Machine Learning. Na przykład możesz chcieć użyć hot/hot dla wdrożonych modeli (inferencja) oraz hot/cold dla eksperymentów (trening).

Usługa Azure Machine Learning bazuje na innych usługach. Niektóre usługi można skonfigurować do replikacji do innych regionów. Pozostałe musisz utworzyć ręcznie w wielu regionach. Poniższa tabela zawiera listę usług, które są odpowiedzialne za replikację oraz omówienie konfiguracji:

Usługa platformy Azure Replikowane geograficznie przez Konfigurowanie
Obszar roboczy Machine Learning Ty Utwórz obszar roboczy w wybranych regionach.
Moc obliczeniowa uczenia maszynowego Ty Utwórz zasoby obliczeniowe w wybranych regionach. W przypadku zasobów obliczeniowych, które mogą dynamicznie skalować, upewnij się, że oba regiony zapewniają wystarczający limit przydziału zasobów obliczeniowych dla Twoich potrzeb.
Rejestr uczenia maszynowego Ty Utwórz rejestr w wielu regionach.
Key Vault Microsoft Użyj tego samego wystąpienia usługi Key Vault z obszarem roboczym i zasobami usługi Azure Machine Learning w obu regionach. Usługa Key Vault automatycznie przełączy się w tryb failover do regionu pomocniczego. Aby uzyskać więcej informacji, zobacz Dostępność i nadmiarowość usługi Azure Key Vault.
Container Registry Microsoft Skonfiguruj wystąpienie rejestru kontenerów tak, aby rejestry były replikowane geograficznie do regionu sparowanego na potrzeby usługi Azure Machine Learning. Użyj tej samej instancji dla obu instancji obszaru roboczego. Aby uzyskać więcej informacji, zobacz Replikacja geograficzna w usłudze Azure Container Registry.
Konto magazynu Ty Usługa Azure Machine Learning nie obsługuje przełączania awaryjnego domyślnego konta magazynu z użyciem magazynu geograficznie nadmiarowego (GRS), magazynu geograficznie i strefowo nadmiarowego (GZRS), magazynu geograficznie nadmiarowego z dostępem do odczytu (RA-GRS) ani magazynu geograficznie i strefowo nadmiarowego z dostępem do odczytu (RA-GZRS). Utwórz oddzielne konto magazynowe dla domyślnej pamięci masowej każdego obszaru roboczego.
Utwórz oddzielne konta magazynu lub usługi dla innego magazynu danych. Aby uzyskać więcej informacji, zobacz Nadmiarowość usługi Azure Storage.
Application Insights Ty Utwórz usługę Application Insights dla obszaru roboczego w obu regionach. Aby dostosować okres przechowywania danych i szczegóły, zobacz Zbieranie, przechowywanie i przechowywanie danych w usłudze Application Insights.

Aby zapewnić szybkie odzyskiwanie i ponowne uruchomienie w regionie zapasowym, zalecamy stosowanie następujących praktyk programistycznych:

  • Użyj szablonów usługi Azure Resource Manager. Szablony to "infrastruktura jako kod" i umożliwiają szybkie wdrażanie usług w obu regionach.
  • Aby uniknąć dryfu między dwoma regionami, zaktualizuj potoki ciągłej integracji i wdrażania w celu wdrożenia w obu regionach.
  • Podczas automatyzowania wdrożeń uwzględnij konfigurację dołączonych zasobów obliczeniowych obszaru roboczego, takich jak usługa Azure Kubernetes Service.
  • Tworzenie przypisań ról dla użytkowników w obu regionach.
  • Utwórz zasoby sieciowe, takie jak sieci wirtualne platformy Azure i prywatne punkty końcowe dla obu regionów. Upewnij się, że użytkownicy mają dostęp do obu środowisk sieciowych. Na przykład konfiguracje sieci VPN i DNS dla obu sieci wirtualnych.

Usługi obliczeniowe i usługi danych

W zależności od potrzeb może istnieć więcej usług obliczeniowych lub danych, które są używane przez usługę Azure Machine Learning. Możesz na przykład użyć usług Azure Kubernetes Services lub Azure SQL Database. Skorzystaj z poniższych informacji, aby dowiedzieć się, jak skonfigurować te usługi pod kątem wysokiej dostępności.

Zasoby obliczeniowe

Usługi danych

Wskazówka

Jeśli podczas wdrażania obszaru roboczego usługi Azure Machine Learning podasz własny klucz zarządzany przez klienta, usługa Azure Cosmos DB również zostanie wdrożona w Twojej subskrypcji. W takim przypadku ponosisz odpowiedzialność za konfigurowanie ustawień wysokiej dostępności. Zobacz Wysoka dostępność w usłudze Azure Cosmos DB.

Projektowanie na potrzeby wysokiej dostępności

Strefy dostępności

Niektóre usługi platformy Azure obsługują strefy dostępności. W przypadku regionów obsługujących strefy dostępności, jeśli jedna ze stref ulegnie awarii, wszystkie obciążenia robocze zostaną wstrzymane, a dane powinny zostać zapisane. Jednak dane są niedostępne do odświeżenia, dopóki strefa nie wróci do trybu online.

Aby uzyskać więcej informacji, zobacz Obsługa usługi strefy dostępności.

Wdrażanie krytycznych składników w wielu regionach

Określ poziom ciągłości działania, do którego dążysz. Poziom może się różnić między składnikami rozwiązania. Na przykład możesz chcieć mieć konfigurację gorącą/gorącą dla potoków produkcyjnych lub wdrożeń modelu oraz gorącą/zimną na potrzeby eksperymentowania.

Zarządzanie danymi treningowymi w izolowanym magazynie

Utrzymując magazyn danych oddzielony od domyślnego magazynu używanego przez obszar roboczy na potrzeby dzienników, możesz:

  • Dołącz te same instancje magazynu jako magazyny danych do głównego i pomocniczego obszaru roboczego.
  • Korzystaj z replikacji geograficznej dla kont magazynu danych i maksymalizuj czas pracy.

Zarządzanie zasobami uczenia maszynowego jako kodem

Uwaga

Tworzenie kopii zapasowych i przywracanie metadanych obszaru roboczego, takich jak historia uruchamiania, modele i środowiska, są niedostępne. Określanie zasobów i konfiguracji jako kodu przy użyciu specyfikacji YAML ułatwia ponowne tworzenie zasobów w obszarach roboczych w przypadku awarii.

Zadania w usłudze Azure Machine Learning są definiowane przez specyfikację zadania. Ta specyfikacja obejmuje zależności od artefaktów wejściowych, które są zarządzane na poziomie instancji obszaru roboczego, w tym środowisk i zasobów obliczeniowych. W przypadku przesyłania i wdrożeń zadań obejmujących wiele regionów zalecamy następujące rozwiązania:

  • Lokalnie zarządzaj bazą kodu wspieraną przez repozytorium Git.

    • Eksportowanie ważnych notesów z usługi Azure Machine Learning Studio.
    • Eksportowanie potoków utworzonych w programie Studio jako kodu.
  • Zarządzanie konfiguracjami jako kodem.

    • Unikaj zakodowanych na stałe odwołań do obszaru roboczego. Zamiast tego skonfiguruj odwołanie do instancji obszaru roboczego za pomocą pliku konfiguracji i użyj MLClient.from_config(), aby zainicjować obszar roboczy.
    • Użyj pliku Dockerfile, jeśli używasz własnych obrazów Dockera.

Zainicjuj przełączenie awaryjne

Kontynuuj pracę w obszarze roboczym trybu failover

Gdy podstawowy obszar roboczy stanie się niedostępny, możesz przełączyć się na pomocniczy obszar roboczy, aby kontynuować eksperymentowanie i programowanie. Usługa Azure Machine Learning nie przesyła automatycznie zadań do pomocniczego obszaru roboczego, jeśli wystąpi awaria. Zaktualizuj konfigurację kodu, aby wskazywała nowy zasób obszaru roboczego. Zalecamy unikanie odwołań do obszaru roboczego zakodowanych na stałe. Zamiast tego użyj pliku konfiguracji obszaru roboczego, aby zminimalizować ręczne kroki użytkownika podczas zmieniania obszarów roboczych. Pamiętaj również o zaktualizowaniu wszelkich automatyzacji, takich jak potoki ciągłej integracji i wdrażania w nowym obszarze roboczym.

Usługa Azure Machine Learning nie może synchronizować ani odzyskiwać artefaktów ani metadanych między instancjami obszaru roboczego. W zależności od strategii wdrażania aplikacji może być konieczne przeniesienie artefaktów lub ponowne utworzenie danych wejściowych eksperymentów, takich jak zasoby danych, w obszarze roboczym trybu failover w celu kontynuowania przesyłania zadań. Jeśli skonfigurowano podstawowy obszar roboczy i zasoby pomocniczego obszaru roboczego tak, aby współużytkowały powiązane zasoby przy włączonej replikacji geograficznej, niektóre obiekty mogą być bezpośrednio dostępne w obszarze roboczym przełączenia awaryjnego. Jeśli na przykład oba obszary robocze korzystają z tych samych obrazów Dockera, skonfigurowanych magazynów danych i zasobów usługi Azure Key Vault. Na poniższym diagramie przedstawiono konfigurację, w której dwa obszary robocze współdzielą te same obrazy (1), magazyny danych (2) i usługę Key Vault (3).

Schemat przełączania awaryjnego między sparowanymi regionami.

Uwaga

Wszystkie zadania uruchomione w przypadku awarii usługi nie zostaną automatycznie przełączene do pomocniczego obszaru roboczego. Jest również mało prawdopodobne, że zadania zostaną wznowione i zakończone pomyślnie w podstawowym obszarze roboczym po rozwiązaniu awarii. Zamiast tego należy ponownie przesłać te zadania w pomocniczym obszarze roboczym lub w podstawowym (po rozwiązaniu awarii).

Przenoszenie artefaktów między obszarami roboczymi

W zależności od podejścia do odzyskiwania może być konieczne skopiowanie artefaktów między obszarami roboczymi, aby kontynuować pracę. Obecnie przenośność artefaktów między obszarami roboczymi jest ograniczona. Zalecamy zarządzanie artefaktami jako kodem tam, gdzie to możliwe, aby można je było odtworzyć w wystąpieniu trybu failover.

Następujące artefakty można eksportować i importować między obszarami roboczymi przy użyciu rozszerzenia Azure CLI dla uczenia maszynowego:

Artefakt Eksport Importowanie
Modele az ml model download --name {NAME} --version {VERSION} az ml model create - polecenie do tworzenia modelu ML
Środowiska az ml environment share --name my-environment --version {VERSION} --resource-group {RESOURCE_GROUP} --workspace-name {WORKSPACE} --share-with-name {NEW_NAME_IN_REGISTRY} --share-with-version {NEW_VERSION_IN_REGISTRY} --registry-name {REGISTRY_NAME} az ml środowisko utwórz
Zadania usługi Azure Machine Learning az ml job download -n {NAME} -g {RESOURCE_GROUP} -w {WORKSPACE_NAME} az ml job create -f {FILE} -g {RESOURCE_GROUP} -w {WORKSPACE_NAME}
Zasoby danych az ml data share --name {DATA_NAME} --version {VERSION} --resource-group {RESOURCE_GROUP} --workspace-name {WORKSPACE} --share-with-name {NEW_NAME_IN_REGISTRY} --share-with-version {NEW_VERSION_IN_REGISTRY} --registry-name {REGISTRY_NAME} az ml data create -f {FILE} -g {RESOURCE_GROUP} --registry-name {REGISTRY_NAME}

Wskazówka

  • Dane wyjściowe zadania są przechowywane na domyślnym koncie magazynu skojarzonym z obszarem roboczym. Dane wyjściowe zadania mogą stać się niedostępne z poziomu interfejsu użytkownika programu Studio w przypadku awarii usługi, ale możesz uzyskać bezpośredni dostęp do danych za pośrednictwem konta magazynu. Aby uzyskać więcej informacji na temat pracy z danymi przechowywanymi w obiektach blob, zobacz Tworzenie, pobieranie i wyświetlanie listy obiektów blob za pomocą interfejsu wiersza polecenia platformy Azure.

Opcje odzyskiwania

Usuwanie obszaru roboczego

Jeśli obszar roboczy został przypadkowo usunięty, możesz go odzyskać. Aby uzyskać instrukcje odzyskiwania, zobacz Odzyskiwanie danych obszaru roboczego po przypadkowym usunięciu przy użyciu usunięcia nietrwałego.

Nawet jeśli nie można odzyskać obszaru roboczego, nadal możesz pobrać notesy z skojarzonego z obszarem roboczym zasobu usługi Azure Storage, wykonując następujące kroki:

  • W witrynie Azure Portal przejdź do konta magazynu połączonego z usuniętym obszarem roboczym usługi Azure Machine Learning.
  • W sekcji Magazyn danych po lewej stronie wybierz pozycję Udziały plików.
  • Twoje notatniki znajdują się w udziale plików, którego nazwa zawiera identyfikator Twojego obszaru roboczego.

Następne kroki

Aby dowiedzieć się więcej o powtarzalnych wdrożeniach infrastruktury za pomocą usługi Azure Machine Learning, użyj szablonu Bicep lub szablonu narzędzia Terraform.