Zabezpieczanie środowiska trenowania usługi Azure Machine Learning za pomocą sieci wirtualnych

DOTYCZY: Zestaw PYTHON SDK azure-ai-ml w wersji 2 (bieżąca)

Z tego artykułu dowiesz się, jak zabezpieczyć środowiska szkoleniowe za pomocą sieci wirtualnej w usłudze Azure Machine Learning. Dowiesz się, jak zabezpieczyć środowiska szkoleniowe za pomocą programu Azure Machine Learning Studio i zestawu Python SDK w wersji 2.

Porada

Ten artykuł jest częścią serii dotyczącej zabezpieczania przepływu pracy usługi Azure Machine Learning. Zobacz inne artykuły z tej serii:

Aby zapoznać się z samouczkiem dotyczącym tworzenia bezpiecznego obszaru roboczego, zobacz Samouczek: tworzenie bezpiecznego obszaru roboczego lub Samouczek: tworzenie bezpiecznego obszaru roboczego przy użyciu szablonu.

Z tego artykułu dowiesz się, jak zabezpieczyć następujące zasoby obliczeniowe trenowania w sieci wirtualnej:

  • Klaster obliczeniowy usługi Azure Machine Learning
  • Wystąpienie obliczeniowe usługi Azure Machine Learning
  • Azure Databricks
  • Maszyna wirtualna
  • Klaster usługi HDInsight

Wymagania wstępne

  • Przeczytaj artykuł Omówienie zabezpieczeń sieci, aby poznać typowe scenariusze sieci wirtualnej i ogólną architekturę sieci wirtualnej.

  • Istniejąca sieć wirtualna i podsieć do użycia z zasobami obliczeniowymi.

  • Aby wdrożyć zasoby w sieci wirtualnej lub podsieci, konto użytkownika musi mieć uprawnienia do następujących akcji w kontroli dostępu opartej na rolach (RBAC) platformy Azure:

    • "Microsoft. Sieć/virtualNetworks/*/read" w zasobie sieci wirtualnej. To uprawnienie nie jest wymagane w przypadku wdrożeń szablonów usługi Azure Resource Manager (ARM).
    • "Microsoft. Sieć/virtualNetworks/podsieć/join/action" w zasobie podsieci.

    Aby uzyskać więcej informacji na temat kontroli dostępu opartej na rolach platformy Azure z siecią, zobacz Wbudowane role sieciowe

Klaster obliczeniowy/wystąpienie usługi Azure Machine Learning

  • Klastry obliczeniowe i wystąpienia tworzą następujące zasoby. Jeśli nie mogą utworzyć tych zasobów (na przykład jeśli istnieje blokada zasobów w grupie zasobów), tworzenie, skalowanie w poziomie lub skalowanie w poziomie może zakończyć się niepowodzeniem.

    • Adres IP.
    • Sieciowa grupa zabezpieczeń.
    • Moduł równoważenia obciążenia.
  • Sieć wirtualna musi znajdować się w tej samej subskrypcji co obszar roboczy usługi Azure Machine Learning.

  • Podsieć używana dla wystąpienia obliczeniowego lub klastra musi mieć wystarczającą liczbę nieprzypisanych adresów IP.

    • Klaster obliczeniowy może dynamicznie skalować. Jeśli nie ma wystarczającej liczby nieprzypisanych adresów IP, klaster zostanie częściowo przydzielony.
    • Wystąpienie obliczeniowe wymaga tylko jednego adresu IP.
  • Aby utworzyć klaster obliczeniowy lub wystąpienie bez publicznego adresu IP (funkcja w wersji zapoznawczej), obszar roboczy musi używać prywatnego punktu końcowego do nawiązywania połączenia z siecią wirtualną. Aby uzyskać więcej informacji, zobacz Konfigurowanie prywatnego punktu końcowego dla obszaru roboczego usługi Azure Machine Learning.

  • Jeśli planujesz zabezpieczyć sieć wirtualną przez ograniczenie ruchu, zobacz sekcję Wymagany publiczny dostęp do Internetu .

  • Podsieć używana do wdrażania klastra obliczeniowego/wystąpienia nie powinna być delegowana do żadnej innej usługi. Na przykład nie powinno być delegowane do usługi ACI.

Azure Databricks

  • Sieć wirtualna musi znajdować się w tej samej subskrypcji i regionie co obszar roboczy usługi Azure Machine Learning.
  • Jeśli konta usługi Azure Storage dla obszaru roboczego są również zabezpieczone w sieci wirtualnej, muszą znajdować się w tej samej sieci wirtualnej co klaster usługi Azure Databricks.

Ograniczenia

Klaster obliczeniowy/wystąpienie usługi Azure Machine Learning

  • W przypadku umieszczenia wielu wystąpień obliczeniowych lub klastrów w jednej sieci wirtualnej może być konieczne zażądanie zwiększenia limitu przydziału dla co najmniej jednego zasobu. Wystąpienie obliczeniowe lub klaster usługi Machine Learning automatycznie przydziela zasoby sieciowe w grupie zasobów zawierającej sieć wirtualną. Dla każdego wystąpienia obliczeniowego lub klastra usługa przydziela następujące zasoby:

    • Jedna sieciowa grupa zabezpieczeń. Ta sieciowa grupa zabezpieczeń zawiera następujące reguły specyficzne dla klastra obliczeniowego i wystąpienia obliczeniowego:

      Ważne

      Wystąpienie obliczeniowe i klaster obliczeniowy automatycznie tworzą sieciową grupę zabezpieczeń z wymaganymi regułami.

      Jeśli masz inną sieciową grupę zabezpieczeń na poziomie podsieci, reguły w sieciowej grupie zabezpieczeń na poziomie podsieci nie mogą powodować konfliktu z regułami w automatycznie utworzonej sieciowej grupie zabezpieczeń.

      Aby dowiedzieć się, jak sieciowe grupy zabezpieczeń filtrować ruch sieciowy, zobacz Jak sieciowe grupy zabezpieczeń filtrować ruch sieciowy.

      • Zezwalaj na przychodzący ruch TCP na portach 29876-29877 z tagu BatchNodeManagement usługi.
      • Zezwalaj na przychodzący ruch TCP na porcie 44224 z tagu AzureMachineLearning usługi.

      Poniższy zrzut ekranu przedstawia przykład tych reguł:

      Zrzut ekranu przedstawiający sieciową grupę zabezpieczeń

      Porada

      Jeśli klaster obliczeniowy lub wystąpienie nie używa publicznego adresu IP (funkcji w wersji zapoznawczej), te reguły przychodzącej sieciowej grupy zabezpieczeń nie są wymagane.

    • W przypadku klastra obliczeniowego lub wystąpienia można teraz usunąć publiczny adres IP (funkcja w wersji zapoznawczej). Jeśli masz Azure Policy przypisania uniemożliwiające utworzenie publicznego adresu IP, wdrożenie klastra obliczeniowego lub wystąpienia zakończy się pomyślnie.

    • Jeden moduł równoważenia obciążenia

    W przypadku klastrów obliczeniowych te zasoby są usuwane za każdym razem, gdy klaster jest skalowany w dół do 0 węzłów i tworzony podczas skalowania w górę.

    W przypadku wystąpienia obliczeniowego te zasoby są zachowywane do momentu usunięcia wystąpienia. Zatrzymanie wystąpienia nie powoduje usunięcia zasobów.

    Ważne

    Te zasoby są ograniczone przez limity zasobów subskrypcji. Jeśli grupa zasobów sieci wirtualnej jest zablokowana, usunięcie klastra obliczeniowego/wystąpienia zakończy się niepowodzeniem. Nie można usunąć modułu równoważenia obciążenia, dopóki klaster/wystąpienie obliczeniowe nie zostanie usunięte. Upewnij się również, że nie ma Azure Policy przypisania, które uniemożliwia tworzenie sieciowych grup zabezpieczeń.

  • Jeśli tworzysz wystąpienie obliczeniowe i planujesz używać konfiguracji bez publicznego adresu IP, tożsamość zarządzana obszaru roboczego usługi Azure Machine Learning musi mieć przypisaną rolę Czytelnik dla sieci wirtualnej, która zawiera obszar roboczy. Aby uzyskać więcej informacji na temat przypisywania ról, zobacz Kroki przypisywania roli platformy Azure.

    Ważne

    Korzystanie z konfiguracji bez publicznego adresu IP wymaga zgody na korzystanie z tej wersji zapoznawczej. Przed wyrażeniem zgody musisz utworzyć obszar roboczy i wystąpienie obliczeniowe w ramach subskrypcji, której zamierzasz użyć. Wystąpienie obliczeniowe i/lub obszar roboczy można usunąć po ich utworzeniu.

    Użyj formularza w witrynie , https://forms.office.com/r/0Rw6mXTT07 aby wyrazić zgodę na korzystanie z tej wersji zapoznawczej usługi Azure Machine Learning. Microsoft skontaktuje się z Tobą, gdy twoja subskrypcja zostanie wyświetlona w wersji zapoznawczej. Może upłynąć od jednego do dwóch tygodni, aby zezwolić na listę subskrypcji. Zgoda zapewnia następujące korzyści:

    • Dodatkowe regiony są dostępne do użycia bez konfiguracji publicznego adresu IP
    • Ochrona przed eksfiltracją danych.
    • Brak kosztów sieci z modułu równoważenia obciążenia, publicznego adresu IP lub usługi łącza prywatnego.

    Jeśli używasz wystąpień obliczeniowych skonfigurowanych dla żadnego publicznego adresu IP bez zgody na korzystanie z wersji zapoznawczej przy użyciu formularza, musisz usunąć je i utworzyć ponownie po udostępnieniu subskrypcji, aby skorzystać z nowej architektury i dostępności regionu. W przypadku istniejących klastrów obliczeniowych skonfigurowanych pod kątem braku publicznego adresu IP po zmniejszeniu klastra do 0 węzłów (wymaga skonfigurowania węzłów minimalnych jako 0), będzie ona korzystać z nowej architektury przy następnym przydzieleniu węzłów po zakończeniu listy dozwolonych subskrypcji.

    Uwaga

    Po udostępnieniu subskrypcji platformy Azure dla publicznej wersji zapoznawczej adresu IP obsługa wystąpień obliczeniowych i klastrów obliczeniowych bez publicznych adresów IP jest obecnie dostępna i dostępna w publicznej wersji zapoznawczej dla następujących regionów: Publiczna: Francja Środkowa, Azja Wschodnia, Azja Południowo-Wschodnia, Zachodnio-środkowe stany USA, Południowo-środkowe stany USA, Zachodnie stany USA 2, Zachodnie stany USA 3, Wschodnie stany USA, Wschodnie stany USA 2, Europa Północna, Europa Zachodnia, Środkowe stany USA, Północno-środkowe stany USA, Zachodnie stany USA, Australia Wschodnia, Australia Południowo-Wschodnia, Japonia Wschodnia, Brazylia Południowo-Wschodnia, Brazylia Południowa, Kanada Środkowa, Indie Południowe, Korea Środkowa, Korea Południowa, Korea Południowa, Szwecja Południowa, Szwajcaria Północna, Szwajcaria Zachodnia, Zachodnie Zjednoczone Królestwo, Południowe Zjednoczone Królestwo, Północne Zjednoczone Emiraty Arabskie, Niemcy Środkowe, Norwegia Wschodnia Republika Południowej Afryki Północnej. Rząd: USGov Arizona, USGov Virginia, USGov Texas. Azure Chiny: Chiny Północne 3.

    Jeśli używasz publicznej wersji zapoznawczej adresu IP bez korzystania z formularza zgody, możesz użyć następujących regionów: Francja Środkowa, Azja Wschodnia, Zachodnio-środkowe stany USA, Południowo-środkowe stany USA, Południowo-środkowe stany USA 2, Wschodnie stany USA, Europa Północna, Wschodnie stany USA 2, Środkowe stany USA, Europa Zachodnia, Północno-środkowe stany USA, Zachodnie stany USA, Australia Wschodnia, Japonia Wschodnia, Japonia Zachodnia.

  • Jeśli skonfigurowano Azure Container Registry dla obszaru roboczego za siecią wirtualną, należy użyć klastra obliczeniowego do kompilowania obrazów platformy Docker. Jeśli używasz klastra obliczeniowego skonfigurowanego dla żadnego publicznego adresu IP, musisz podać jakąś metodę dostępu do publicznego Internetu klastra. Dostęp do Internetu jest wymagany podczas uzyskiwania dostępu do obrazów przechowywanych w usłudze Microsoft Container Registry, pakietów zainstalowanych na platformie Pypi, Conda itp. Aby uzyskać więcej informacji, zobacz Włączanie Azure Container Registry.

  • Jeśli konta usługi Azure Storage dla obszaru roboczego znajdują się również w sieci wirtualnej, skorzystaj z poniższych wskazówek dotyczących ograniczeń podsieci:

    • Jeśli planujesz użyć usługi Azure Machine Learning Studio do wizualizacji danych lub projektanta, konto magazynu musi znajdować się w tej samej podsieci co wystąpienie obliczeniowe lub klaster.
    • Jeśli planujesz używać zestawu SDK, konto magazynu może znajdować się w innej podsieci.

    Uwaga

    Dodanie wystąpienia zasobu dla obszaru roboczego lub wybranie pola wyboru "Zezwalaj zaufanym usługom Microsoft na dostęp do tego konta" nie wystarczy, aby zezwolić na komunikację z zasobów obliczeniowych.

  • Gdy obszar roboczy używa prywatnego punktu końcowego, wystąpienie obliczeniowe może być dostępne tylko z poziomu sieci wirtualnej. Jeśli używasz niestandardowego pliku DNS lub hostów, dodaj wpis dla <instance-name>.<region>.instances.azureml.mselementu . Zamapuj ten wpis na prywatny adres IP prywatnego punktu końcowego obszaru roboczego. Aby uzyskać więcej informacji, zobacz niestandardowy artykuł DNS .

  • Zasady punktu końcowego usługi sieci wirtualnej nie działają dla kont magazynu klastra obliczeniowego/wystąpienia systemu.

  • Jeśli magazyn i wystąpienie obliczeniowe znajdują się w różnych regionach, mogą pojawić się sporadyczne przekroczenia limitu czasu.

  • Jeśli Azure Container Registry dla obszaru roboczego używa prywatnego punktu końcowego do nawiązania połączenia z siecią wirtualną, nie możesz użyć tożsamości zarządzanej dla wystąpienia obliczeniowego. Aby użyć tożsamości zarządzanej z wystąpieniem obliczeniowym, nie umieszczaj rejestru kontenerów w sieci wirtualnej.

  • Jeśli chcesz używać notesów Jupyter Notebook w wystąpieniu obliczeniowym:

    • Nie wyłączaj komunikacji protokołu Websocket. Upewnij się, że sieć zezwala na komunikację protokołu Websocket z elementami *.instances.azureml.net i *.instances.azureml.ms.
    • Upewnij się, że notes jest uruchomiony w zasobie obliczeniowym za tą samą siecią wirtualną i podsiecią co dane. Podczas tworzenia wystąpienia obliczeniowego użyj ustawień> zaawansowanychSkonfiguruj sieć wirtualną, aby wybrać sieć i podsieć.
  • Klastry obliczeniowe można tworzyć w innym regionie niż obszar roboczy. Ta funkcja jest dostępna w wersji zapoznawczej i jest dostępna tylko dla klastrów obliczeniowych, a nie wystąpień obliczeniowych. W przypadku korzystania z innego regionu klastra obowiązują następujące ograniczenia:

    • Jeśli obszar roboczy jest skojarzony z zasobami, takimi jak magazyn, znajdują się w innej sieci wirtualnej niż klaster, skonfiguruj globalną komunikację równorzędną sieci wirtualnych między sieciami. Aby uzyskać więcej informacji, zobacz Komunikacja równorzędna sieci wirtualnych.
    • Może pojawić się zwiększone opóźnienie sieci i koszty transferu danych. Opóźnienie i koszty mogą wystąpić podczas tworzenia klastra i uruchamiania na nim zadań.

    Wskazówki, takie jak używanie reguł sieciowej grupy zabezpieczeń, tras zdefiniowanych przez użytkownika i wymagań wejściowych/wyjściowych, mają zastosowanie tak jak zwykle w przypadku korzystania z innego regionu niż obszar roboczy.

    Ostrzeżenie

    Jeśli używasz prywatnego obszaru roboczego z obsługą punktu końcowego, tworzenie klastra w innym regionie nie jest obsługiwane.

  • Obszar roboczy usługi Azure Machine Learning wymaga dostępu wychodzącego do storage.<region>/*.blob.core.windows.net publicznego Internetu, gdzie <region> jest regionem świadczenia usługi Azure w obszarze roboczym. Ten dostęp wychodzący jest wymagany przez klaster obliczeniowy usługi Azure Machine Learning i wystąpienie obliczeniowe. Oba są oparte na Azure Batch i muszą uzyskać dostęp do konta magazynu udostępnionego przez Azure Batch w sieci publicznej.

    Za pomocą zasad punktu końcowego usługi można wyeliminować tę lukę w zabezpieczeniach. Ta funkcja jest obecnie w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz artykuł Dotyczący zapobiegania eksfiltracji danych usługi Azure Machine Learning .

Azure Databricks

  • Oprócz podsieci prywatnych i databricks-public używanych przez usługę Azure Databricks wymagana jest również domyślna podsieć utworzona dla sieci wirtualnej.
  • Usługa Azure Databricks nie używa prywatnego punktu końcowego do komunikowania się z siecią wirtualną.

Aby uzyskać więcej informacji na temat korzystania z usługi Azure Databricks w sieci wirtualnej, zobacz Deploy Azure Databricks in your Azure Virtual Network (Wdrażanie usługi Azure Databricks w usłudze Azure Virtual Network).

Azure HDInsight lub maszyna wirtualna

  • Usługa Azure Machine Learning obsługuje tylko maszyny wirtualne z systemem Ubuntu.

Wymagany publiczny dostęp do Internetu

Usługa Azure Machine Learning wymaga dostępu do publicznego Internetu zarówno dla ruchu przychodzącego, jak i wychodzącego. Poniższe tabele zawierają omówienie wymaganego dostępu i jej potrzeb. Protokół dla wszystkich elementów to TCP. W przypadku tagów usług, które kończą się na .regionelemencie , zastąp element region regionem świadczenia usługi zawierającym obszar roboczy. Na przykład : Storage.westus

Kierunek Porty Tag usługi Przeznaczenie
Przychodzący 29876-29877 BatchNodeManagement Tworzenie, aktualizowanie i usuwanie wystąpienia obliczeniowego i klastra obliczeniowego usługi Azure Machine Learning. Nie jest to wymagane, jeśli używasz opcji Brak publicznego adresu IP.
Przychodzący 44224 AzureMachineLearning Tworzenie, aktualizowanie i usuwanie wystąpienia obliczeniowego usługi Azure Machine Learning. Nie jest to wymagane, jeśli używasz opcji Brak publicznego adresu IP.
Wychodzący 80, 443 AzureActiveDirectory Uwierzytelnianie przy użyciu Azure AD.
Wychodzący 443, 8787, 18881 AzureMachineLearning Korzystanie z usług Azure Machine Learning.
Wychodzący 443 BatchNodeManagement.region Komunikacja z zapleczem Azure Batch na potrzeby obliczeń. Zastąp element region regionem świadczenia usługi Azure obszaru roboczego.
Wychodzący 443 AzureResourceManager Tworzenie zasobów platformy Azure za pomocą usługi Azure Machine Learning.
Wychodzący 443, 445 (*) Storage.region Uzyskiwanie dostępu do danych przechowywanych na koncie usługi Azure Storage dla klastra obliczeniowego i wystąpienia obliczeniowego. Ten ruch wychodzący może służyć do eksfiltrowania danych. Aby uzyskać więcej informacji, zobacz Ochrona eksfiltracji danych. (*) 445 jest wymagane tylko wtedy, gdy masz zaporę między siecią wirtualną usługi Azure ML i prywatnym punktem końcowym dla kont magazynu.
Wychodzący 443 Usługa AzureFrontDoor.FrontEnd
* nie jest potrzebna na platformie Azure w Chinach.
Globalny punkt wejścia dla Azure Machine Learning studio. Przechowywanie obrazów i środowisk dla rozwiązania AutoML.
Wychodzący 443 MicrosoftContainerRegistry.region
Uwaga: ten tag ma zależność od tagu AzureFrontDoor.FirstParty
Uzyskiwanie dostępu do obrazów platformy Docker udostępnianych przez Microsoft. Konfiguracja routera usługi Azure Machine Learning dla Azure Kubernetes Service.
Wychodzący 443 AzureMonitor Służy do rejestrowania monitorowania i metryk w usłudze App Insights i usłudze Azure Monitor.
Wychodzący 443 Keyvault.region Uzyskaj dostęp do magazynu kluczy dla usługi Azure Batch. Wymagane tylko w przypadku utworzenia obszaru roboczego z włączoną flagą hbi_workspace .

Porada

Jeśli potrzebujesz adresów IP zamiast tagów usługi, użyj jednej z następujących opcji:

Adresy IP mogą się okresowo zmieniać.

Ważne

W przypadku korzystania z klastra obliczeniowego skonfigurowanego pod kątem braku publicznego adresu IP należy zezwolić na następujący ruch:

  • Przychodzący ze źródła usługi VirtualNetwork i dowolnego źródła portów do miejsca docelowego usługi VirtualNetwork i portu docelowego 29876, 29877.
  • Przychodzący ze źródłowego modułu AzureLoadBalancer i dowolnego źródła portu do docelowego miejsca docelowego VirtualNetwork i portu 44224 .

Może być również konieczne zezwolenie na ruch wychodzący do Visual Studio Code i lokacji innych niż Microsoft na potrzeby instalacji pakietów wymaganych przez projekt uczenia maszynowego. W poniższej tabeli wymieniono często używane repozytoria uczenia maszynowego:

Nazwa hosta Przeznaczenie

anaconda.com *.anaconda.com
Służy do instalowania pakietów domyślnych.
*.anaconda.org Służy do pobierania danych repozytorium.
pypi.org Służy do wyświetlania listy zależności z domyślnego indeksu, jeśli istnieje, a indeks nie jest zastępowany przez ustawienia użytkownika. Jeśli indeks zostanie zastąpiony, należy również zezwolić na *.pythonhosted.org.
cloud.r-project.org Używany podczas instalowania pakietów CRAN na potrzeby programowania w języku R.
*pytorch.org Używane przez kilka przykładów na podstawie PyTorch.
*.tensorflow.org Używane przez niektóre przykłady na podstawie biblioteki Tensorflow.
code.visualstudio.com Wymagane do pobrania i zainstalowania programu VS Code desktop. Nie jest to wymagane w przypadku sieci Web programu VS Code.

update.code.visualstudio.com *.vo.msecnd.net
Służy do pobierania bitów serwera programu VS Code zainstalowanych w wystąpieniu obliczeniowym za pomocą skryptu instalacji.

marketplace.visualstudio.com
vscode.blob.core.windows.net *.gallerycdn.vsassets.io
Wymagane do pobrania i zainstalowania rozszerzeń programu VS Code. Umożliwiają one zdalne połączenie z wystąpieniami obliczeniowymi dostarczonymi przez rozszerzenie usługi Azure ML dla programu VS Code, zobacz Łączenie z wystąpieniem obliczeniowym usługi Azure Machine Learning w Visual Studio Code, aby uzyskać więcej informacji.
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* Służy do pobierania bitów serwera websocket, które są instalowane w wystąpieniu obliczeniowym. Serwer websocket służy do przesyłania żądań z klienta Visual Studio Code (aplikacji klasycznej) do serwera Visual Studio Code uruchomionego w wystąpieniu obliczeniowym.

W przypadku korzystania z Azure Kubernetes Service (AKS) z usługą Azure Machine Learning zezwalaj na następujący ruch do sieci wirtualnej usługi AKS:

Aby uzyskać informacje na temat korzystania z rozwiązania zapory, zobacz Używanie zapory z usługą Azure Machine Learning.

Klaster obliczeniowy

Wykonaj następujące kroki, aby utworzyć klaster obliczeniowy w Azure Machine Learning studio:

  1. Zaloguj się do Azure Machine Learning studio, a następnie wybierz subskrypcję i obszar roboczy.

  2. Wybierz pozycję Obliczenia po lewej stronie, Klastry obliczeniowe w środku, a następnie wybierz pozycję + Nowy.

    Zrzut ekranu przedstawiający tworzenie klastra

  3. W oknie dialogowym Tworzenie klastra obliczeniowego wybierz potrzebny rozmiar i konfigurację maszyny wirtualnej, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający ustawianie konfiguracji maszyny wirtualnej

  4. W sekcji Konfigurowanie ustawień ustaw nazwę obliczeniową, sieć wirtualną i podsieć.

    Zrzut ekranu przedstawia ustawienie nazwy obliczeniowej, sieci wirtualnej i podsieci.

    Porada

    Jeśli obszar roboczy używa prywatnego punktu końcowego do nawiązania połączenia z siecią wirtualną, pole Wybór sieci wirtualnej jest wyszarzony.

  5. Wybierz pozycję Utwórz , aby utworzyć klaster obliczeniowy.

Po zakończeniu procesu tworzenia model jest trenowany przy użyciu klastra w eksperymencie.

Uwaga

Możesz użyć maszyn wirtualnych o niskim priorytetu , aby uruchamiać niektóre lub wszystkie obciążenia. Zobacz, jak utworzyć maszynę wirtualną o niskim priorytcie.

Brak publicznego adresu IP dla klastrów obliczeniowych (wersja zapoznawcza)

Po włączeniu opcji Brak publicznego adresu IP klaster obliczeniowy nie używa publicznego adresu IP do komunikacji z żadnymi zależnościami. Zamiast tego komunikuje się wyłącznie w sieci wirtualnej przy użyciu Azure Private Link ekosystemu i usług/prywatnych punktów końcowych, eliminując konieczność całkowitego użycia publicznego adresu IP. Żaden publiczny adres IP nie usuwa dostępu i możliwości odnajdywania węzłów klastra obliczeniowego z Internetu, eliminując w ten sposób znaczący wektor zagrożenia. Żadne publiczne klastry adresów IP nie pomagają zapewnić zgodności z zasadami publicznego adresu IP, które mają wiele przedsiębiorstw.

Klaster obliczeniowy bez włączonego publicznego adresu IP nie ma wymagań dotyczących komunikacji przychodzącej z publicznego Internetu. W szczególności nie jest wymagana żadna reguła sieciowej grupy zabezpieczeń dla ruchu przychodzącego (BatchNodeManagement, AzureMachineLearning). Nadal musisz zezwolić na ruch przychodzący ze źródła usługi VirtualNetwork i dowolnego źródła portów, do miejsca docelowego usługi VirtualNetwork oraz portu docelowego 29876, 29877 i przychodzącego ze źródłowego modułu AzureLoadBalancer i dowolnego źródła portu do docelowego miejsca docelowego VirtualNetwork i portu 44224 .

Ostrzeżenie

Domyślnie nie masz publicznego dostępu do Internetu z poziomu klastra obliczeniowego bez publicznego adresu IP. Zapobiega to dostępowi wychodzącym do wymaganych zasobów, takich jak Azure Active Directory, Azure Resource Manager, Microsoft Container Registry i inne zasoby wychodzące wymienione w sekcji Wymagany publiczny dostęp do Internetu. Lub do zasobów innych niż Microsoft, takich jak repozytoria Pypi lub Conda. Aby rozwiązać ten problem, należy skonfigurować routing zdefiniowany przez użytkownika (UDR), aby uzyskać dostęp do publicznego adresu IP w celu uzyskania dostępu do Internetu. Można na przykład użyć publicznego adresu IP zapory lub użyć Virtual Network translatora adresów sieciowych z publicznym adresem IP.

Żadne publiczne klastry adresów IP nie są zależne od Azure Private Link dla obszaru roboczego usługi Azure Machine Learning. Klaster obliczeniowy bez publicznego adresu IP wymaga również wyłączenia zasad sieci prywatnych punktów końcowych i zasad sieci usługi łącza prywatnego. Te wymagania pochodzą z usługi Azure Private Link i prywatnych punktów końcowych i nie są specyficzne dla usługi Azure Machine Learning. Postępuj zgodnie z instrukcjami w sekcji Wyłącz zasady sieci dla usługi Private Link, aby ustawić parametry disable-private-endpoint-network-policies i disable-private-link-service-network-policies w podsieci sieci wirtualnej.

Aby połączenia wychodzące działały, należy skonfigurować zaporę ruchu wychodzącego, taką jak usługa Azure Firewall z trasami zdefiniowanymi przez użytkownika. Można na przykład użyć zapory skonfigurowanej z konfiguracją ruchu przychodzącego/wychodzącego i kierować tam ruch, definiując tabelę tras w podsieci, w której wdrożono klaster obliczeniowy. Wpis tabeli tras może skonfigurować następny przeskok prywatnego adresu IP zapory z prefiksem adresu 0.0.0.0/0.

Możesz użyć punktu końcowego usługi lub prywatnego punktu końcowego dla rejestru kontenerów platformy Azure i usługi Azure Storage w podsieci, w której wdrożono klaster.

Aby utworzyć klaster obliczeniowy bez publicznego adresu IP (funkcja w wersji zapoznawczej) w programie Studio, ustaw pole wyboru Brak publicznego adresu IP w sekcji sieć wirtualna. Można również utworzyć żaden publiczny klaster obliczeniowy ip za pomocą szablonu usługi ARM. W zestawie szablonów usługi ARM włącz parametrNodePublicIP na wartość false.

Rozwiązywanie problemów

  • Jeśli ten komunikat o błędzie zostanie wyświetlony podczas tworzenia klastraThe specified subnet has PrivateLinkServiceNetworkPolicies or PrivateEndpointNetworkEndpoints enabled, postępuj zgodnie z instrukcjami w temacie Wyłącz zasady sieciowe dla usługi Private Link i Wyłącz zasady sieciowe dla prywatnego punktu końcowego.

  • Jeśli wykonanie zadania zakończy się niepowodzeniem z problemami z połączeniem z usługą ACR lub Azure Storage, sprawdź, czy klient dodał usługę ACR i punkt końcowy usługi Azure Storage/prywatne punkty końcowe do podsieci, a usługa ACR/Azure Storage zezwala na dostęp z podsieci.

  • Aby upewnić się, że utworzono żaden publiczny klaster adresów IP, w programie Studio podczas przeglądania szczegółów klastra zobaczysz, że w obszarze właściwości zasobu nie ustawiono właściwości Publicznego adresu IP.

Wystąpienie obliczeniowe

Aby uzyskać instrukcje dotyczące tworzenia wystąpienia obliczeniowego wdrożonego w sieci wirtualnej, zobacz Tworzenie wystąpienia obliczeniowego usługi Azure Machine Learning i zarządzanie nim.

Brak publicznego adresu IP dla wystąpień obliczeniowych (wersja zapoznawcza)

Po włączeniu opcji Brak publicznego adresu IP wystąpienie obliczeniowe nie używa publicznego adresu IP do komunikacji z żadnymi zależnościami. Zamiast tego komunikuje się wyłącznie w sieci wirtualnej przy użyciu Azure Private Link ekosystemu i usług/prywatnych punktów końcowych, eliminując konieczność całkowitego użycia publicznego adresu IP. Żaden publiczny adres IP nie usuwa dostępu i możliwości odnajdywania węzła wystąpienia obliczeniowego z Internetu, eliminując w ten sposób znaczący wektor zagrożenia. Wystąpienia obliczeniowe będą również filtrować pakiety, aby odrzucić dowolny ruch spoza sieci wirtualnej. Żadne publiczne wystąpienia adresów IP nie są zależne od Azure Private Link dla obszaru roboczego usługi Azure Machine Learning.

Ostrzeżenie

Domyślnie nie masz publicznego dostępu do Internetu z wystąpienia obliczeniowego Brak publicznego adresu IP. Aby uzyskać dostęp do Internetu, należy skonfigurować routing zdefiniowany przez użytkownika (UDR, User Defined Routing). Możesz na przykład użyć publicznego adresu IP zapory lub użyć Virtual Network translatora adresów sieciowych z publicznym adresem IP. W szczególności potrzebujesz dostępu do usług Azure Active Directory, Azure Resource Manager, Microsoft Container Registry i innych zasobów wychodzących wymienionych w sekcji Wymagany publiczny dostęp do Internetu. Może być również potrzebny dostęp wychodzący do zasobów innych niż Microsoft, takich jak repozytoria Pypi lub Conda.

Aby połączenia wychodzące działały, należy skonfigurować zaporę ruchu wychodzącego, taką jak usługa Azure Firewall z trasami zdefiniowanymi przez użytkownika. Na przykład można użyć zapory skonfigurowanej z konfiguracją ruchu przychodzącego/wychodzącego i kierować tam ruch, definiując tabelę tras w podsieci, w której wdrożono wystąpienie obliczeniowe. Wpis tabeli tras może skonfigurować następny przeskok prywatnego adresu IP zapory z prefiksem adresu 0.0.0.0/0.

Wystąpienie obliczeniowe bez włączonego publicznego adresu IP nie ma wymagań dotyczących komunikacji przychodzącej z publicznego Internetu. W szczególności nie jest wymagana żadna reguła sieciowej grupy zabezpieczeń dla ruchu przychodzącego (BatchNodeManagement, AzureMachineLearning). Nadal musisz zezwolić na ruch przychodzący ze źródła sieci Wirtualnej, dowolnego źródła portu, miejsca docelowego sieci VirtualNetwork i portu docelowego 29876, 29877, 44224.

Wystąpienie obliczeniowe bez publicznego adresu IP wymaga również wyłączenia zasad sieci prywatnych punktów końcowych i zasad sieci usługi łącza prywatnego. Te wymagania pochodzą z usługi Azure Private Link i prywatnych punktów końcowych i nie są specyficzne dla usługi Azure Machine Learning. Postępuj zgodnie z instrukcjami w sekcji Wyłączanie zasad sieciowych dla adresu IP źródła usługi Private Link, aby ustawić parametry disable-private-endpoint-network-policies i disable-private-link-service-network-policies w podsieci sieci wirtualnej.

Aby utworzyć wystąpienie obliczeniowe bez publicznego adresu IP (funkcja w wersji zapoznawczej) w programie Studio, zaznacz pole wyboru Brak publicznego adresu IP w sekcji sieć wirtualna. Nie można również utworzyć publicznego wystąpienia obliczeniowego adresu IP za pomocą szablonu usługi ARM. W zestawie szablonów usługi ARM parametr enableNodePublicIP ma wartość false.

Następne kroki:

Ruch przychodzący

Ważne

Wystąpienie obliczeniowe lub klaster obliczeniowy bez publicznego adresu IP (funkcja w wersji zapoznawczej) nie wymaga ruchu przychodzącego z zarządzania Azure Batch i usług Azure Machine Learning. Jeśli jednak masz wiele obliczeń, a niektóre z nich używają publicznego adresu IP, musisz zezwolić na ten ruch.

W przypadku korzystania z wystąpienia obliczeniowego usługi Azure Machine Learning lub klastra obliczeniowego (z publicznym adresem IP) zezwalaj na ruch przychodzący z Azure Batch zarządzania i usług Azure Machine Learning. Wystąpienie obliczeniowe lub klaster obliczeniowy bez publicznego adresu IP (wersja zapoznawcza) nie wymaga tej komunikacji przychodzącej. Sieciowa grupa zabezpieczeń zezwalająca na ten ruch jest tworzona dynamicznie, jednak może być konieczne również utworzenie tras zdefiniowanych przez użytkownika (UDR), jeśli masz zaporę. Podczas tworzenia trasy zdefiniowanej przez użytkownika dla tego ruchu można użyć adresów IP lub tagów usługi do kierowania ruchu.

W przypadku usługi Azure Machine Learning należy dodać adres IP regionów podstawowych i pomocniczych . Aby znaleźć region pomocniczy, zobacz replikację między regionami na platformie Azure. Jeśli na przykład usługa Azure Machine Learning service znajduje się w regionie Wschodnie stany USA 2, region pomocniczy to Środkowe stany USA.

Aby uzyskać listę adresów IP usługi Batch i usługi Azure Machine Learning, pobierz zakresy adresów IP platformy Azure i tagi usług oraz wyszukaj plik BatchNodeManagement.<region> i AzureMachineLearning.<region>, gdzie <region> znajduje się region świadczenia usługi Azure.

Ważne

Adresy IP mogą ulec zmianie w czasie.

Podczas tworzenia trasy zdefiniowanej przez użytkownika ustaw typ Następnego przeskoku na Internet. Oznacza to, że komunikacja przychodząca z platformy Azure pomija zaporę w celu uzyskania dostępu do modułów równoważenia obciążenia przy użyciu publicznych adresów IP wystąpień obliczeniowych i klastra obliczeniowego. Trasa zdefiniowana przez użytkownika jest wymagana, ponieważ wystąpienie obliczeniowe i klaster obliczeniowy otrzymają losowe publiczne adresy IP podczas tworzenia i nie można znać publicznych adresów IP przed utworzeniem, aby zarejestrować je w zaporze, aby zezwolić na ruch przychodzący z platformy Azure do określonych adresów IP dla wystąpienia obliczeniowego i klastra obliczeniowego. Na poniższej ilustracji przedstawiono przykładowy adres IP oparty na trasach zdefiniowanych przez użytkownika w Azure Portal:

Obraz przedstawiający konfigurację trasy zdefiniowanej przez użytkownika

Aby uzyskać informacje na temat konfigurowania trasy zdefiniowanej przez użytkownika, zobacz Route network traffic with a routing table (Kierowanie ruchem sieciowym przy użyciu tabeli routingu).

Aby uzyskać więcej informacji na temat wymagań dotyczących ruchu wejściowego i wyjściowego dla usługi Azure Machine Learning, zobacz Używanie obszaru roboczego za zaporą.

Azure Databricks

Aby uzyskać szczegółowe informacje na temat korzystania z usługi Azure Databricks z siecią wirtualną, zobacz Deploy Azure Databricks in your Azure Virtual Network (Wdrażanie usługi Azure Databricks w usłudze Azure Virtual Network).

Maszyna wirtualna lub klaster usługi HDInsight

W tej sekcji dowiesz się, jak używać maszyny wirtualnej lub klastra usługi Azure HDInsight w sieci wirtualnej z obszarem roboczym.

Tworzenie maszyny wirtualnej lub klastra usługi HDInsight

Utwórz maszynę wirtualną lub klaster usługi HDInsight przy użyciu Azure Portal lub interfejsu wiersza polecenia platformy Azure i umieść klaster w sieci wirtualnej platformy Azure. Aby uzyskać więcej informacji, zobacz następujące artykuły:

Konfigurowanie portów sieciowych

Zezwól usłudze Azure Machine Learning na komunikację z portem SSH na maszynie wirtualnej lub klastrze, skonfiguruj wpis źródłowy dla sieciowej grupy zabezpieczeń. Port SSH jest zazwyczaj portem 22. Aby zezwolić na ruch z tego źródła, wykonaj następujące czynności:

  1. Z listy rozwijanej Źródło wybierz pozycję Tag usługi.

  2. Z listy rozwijanej Tag usługi źródłowej wybierz pozycję AzureMachineLearning.

    Reguły ruchu przychodzącego do wykonywania eksperymentów na maszynie wirtualnej lub klastrze usługi HDInsight w sieci wirtualnej

  3. Z listy rozwijanej Zakresy portów źródłowych wybierz pozycję *.

  4. Z listy rozwijanej Miejsce docelowe wybierz pozycję Dowolne.

  5. Z listy rozwijanej Zakresy portów docelowych wybierz pozycję 22.

  6. W obszarze Protokół wybierz pozycję Dowolne.

  7. W obszarze Akcja wybierz pozycję Zezwalaj.

Zachowaj domyślne reguły ruchu wychodzącego dla sieciowej grupy zabezpieczeń. Aby uzyskać więcej informacji, zobacz domyślne reguły zabezpieczeń w grupach zabezpieczeń.

Jeśli nie chcesz używać domyślnych reguł ruchu wychodzącego i chcesz ograniczyć dostęp wychodzący sieci wirtualnej, zobacz sekcję Wymagany publiczny dostęp do Internetu .

Dołączanie maszyny wirtualnej lub klastra usługi HDInsight

Dołącz maszynę wirtualną lub klaster usługi HDInsight do obszaru roboczego usługi Azure Machine Learning. Aby uzyskać więcej informacji, zobacz Zarządzanie zasobami obliczeniowymi na potrzeby trenowania i wdrażania modelu w programie Studio.

Następne kroki

Ten artykuł jest częścią serii dotyczącej zabezpieczania przepływu pracy usługi Azure Machine Learning. Zobacz inne artykuły z tej serii: