Zamiast kroków opisanych w tym artykule można użyć zarządzanych sieci wirtualnych usługi Azure Machine Learning. W przypadku zarządzanej sieci wirtualnej usługa Azure Machine Learning obsługuje zadanie izolacji sieci dla obszaru roboczego i zarządzanych zasobów obliczeniowych. Możesz również dodać prywatne punkty końcowe dla zasobów wymaganych przez obszar roboczy, na przykład konto usługi Azure Storage. Aby uzyskać więcej informacji, zobacz Obszar roboczy zarządzana izolacja sieci.
Wystąpienie obliczeniowe usługi Azure Machine Learning, bezserwerowe zasoby obliczeniowe i klaster obliczeniowy mogą służyć do bezpiecznego trenowania modeli w usłudze Azure Virtual Network. Podczas planowania środowiska można skonfigurować wystąpienie obliczeniowe/klaster lub zasoby obliczeniowe bezserwerowe z publicznym adresem IP lub bez tego adresu. Ogólne różnice między nimi są następujące:
Brak publicznego adresu IP: zmniejsza koszty, ponieważ nie ma tych samych wymagań dotyczących zasobów sieciowych. Zwiększa bezpieczeństwo, usuwając wymóg ruchu przychodzącego z Internetu. Istnieją jednak dodatkowe zmiany konfiguracji wymagane do włączenia dostępu wychodzącego do wymaganych zasobów (identyfikator entra firmy Microsoft, usługa Azure Resource Manager itp.).
Publiczny adres IP: działa domyślnie, ale kosztuje więcej ze względu na dodatkowe zasoby sieciowe platformy Azure. Wymaga komunikacji przychodzącej z usługi Azure Machine Learning za pośrednictwem publicznego Internetu.
Poniższa tabela zawiera różnice między tymi konfiguracjami:
Konfigurowanie
Z publicznym adresem IP
Bez publicznego adresu IP
Ruch przychodzący
AzureMachineLearning tag usługi.
Brak
Ruch wychodzący
Domyślnie dostęp do publicznego Internetu nie ma żadnych ograniczeń. Możesz ograniczyć dostęp do tych elementów przy użyciu sieciowej grupy zabezpieczeń lub zapory.
Domyślnie można uzyskać dostęp do sieci publicznej przy użyciu domyślnego dostępu wychodzącego udostępnianego przez platformę Azure. Zalecamy użycie bramy translatora adresów sieci wirtualnej lub zapory, jeśli konieczne jest kierowanie ruchu wychodzącego do wymaganych zasobów w Internecie.
Możesz również użyć usługi Azure Databricks lub HDInsight do trenowania modeli w sieci wirtualnej.
Ważne
Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej.
Wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.
Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Ten artykuł jest częścią serii dotyczącej zabezpieczania przepływu pracy usługi Azure Machine Learning. Zobacz inne artykuły z tej serii:
Przetwarzanie bezserwerowe w usłudze 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. Ta sieć wirtualna musi znajdować się w tej samej subskrypcji co obszar roboczy usługi Azure Machine Learning.
Zalecamy umieszczenie kont magazynu używanych przez obszar roboczy i zadania szkoleniowe w tym samym regionie świadczenia usługi Azure, który ma być używany dla wystąpień obliczeniowych, bezserwerowych zasobów obliczeniowych i klastrów. Jeśli nie są one w tym samym regionie świadczenia usługi Azure, możesz ponieść koszty transferu danych i zwiększyć opóźnienie sieci.
Upewnij się, że w Twojej sieci wirtualnej jest dozwolona komunikacja za pośrednictwem protokołu WebSocket do *.instances.azureml.net i *.instances.azureml.ms. Elementy WebSocket są używane przez program Jupyter w wystąpieniach obliczeniowych.
Istniejąca podsieć w sieci wirtualnej. Ta podsieć jest używana podczas tworzenia wystąpień obliczeniowych, klastrów i węzłów na potrzeby obliczeń bezserwerowych.
Upewnij się, że podsieć nie jest delegowana do innych usług platformy Azure.
Upewnij się, że podsieć zawiera wystarczającą ilość wolnych adresów IP. Każde wystąpienie obliczeniowe wymaga jednego adresu IP. Każdy węzeł w klastrze obliczeniowym i każdy bezserwerowy węzeł obliczeniowy wymaga jednego adresu IP.
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 platformy Azure (Azure RBAC):
"Microsoft.Network/*/read" w zasobie sieci wirtualnej. To uprawnienie nie jest wymagane w przypadku wdrożeń szablonów usługi Azure Resource Manager (ARM).
"Microsoft.Network/virtualNetworks/join/action" w zasobie sieci wirtualnej.
"Microsoft.Network/virtualNetworks/subnets/join/action" w zasobie podsieci.
Wdrożenie klastra obliczeniowego/wystąpienia i bezserwerowego środowiska obliczeniowego w sieci wirtualnej nie jest obsługiwane w usłudze Azure Lighthouse.
Port 445 musi być otwarty w celu komunikacji sieci prywatnej między wystąpieniami obliczeniowymi a domyślnym kontem magazynu podczas trenowania. Jeśli na przykład obliczenia znajdują się w jednej sieci wirtualnej, a konto magazynu znajduje się w innej sieci, nie blokuj portu 445 do sieci wirtualnej konta magazynu.
Klaster obliczeniowy w innej sieci wirtualnej/regionie z obszaru roboczego
Ważne
Nie można utworzyć wystąpienia obliczeniowego w innym regionie/sieci wirtualnej, tylko w klastrze obliczeniowym.
Aby utworzyć klaster obliczeniowy w sieci wirtualnej platformy Azure w innym regionie niż sieć wirtualna obszaru roboczego, istnieje kilka opcji umożliwiających komunikację między dwiema sieciami wirtualnymi.
Dodaj prywatny punkt końcowy dla obszaru roboczego w sieci wirtualnej, który będzie zawierać klaster obliczeniowy.
Ważne
Niezależnie od wybranej metody należy również utworzyć sieć wirtualną dla klastra obliczeniowego; Usługa Azure Machine Learning nie utworzy jej dla Ciebie.
Należy również zezwolić domyślnemu kontu magazynu, usłudze Azure Container Registry i usłudze Azure Key Vault na dostęp do sieci wirtualnej dla klastra obliczeniowego. Istnieje wiele sposobów, aby to osiągnąć. Można na przykład utworzyć prywatny punkt końcowy dla każdego zasobu w sieci wirtualnej dla klastra obliczeniowego lub użyć komunikacji równorzędnej sieci wirtualnej, aby umożliwić sieci wirtualnej obszaru roboczego dostęp do sieci wirtualnej klastra obliczeniowego.
Scenariusz: komunikacja równorzędna sieci wirtualnych
Skonfiguruj obszar roboczy do korzystania z usługi Azure Virtual Network. Aby uzyskać więcej informacji, zobacz Zabezpieczanie zasobów obszaru roboczego.
Utwórz drugą sieć wirtualną platformy Azure, która będzie używana dla klastrów obliczeniowych. Może on znajdować się w innym regionie świadczenia usługi Azure niż używany dla obszaru roboczego.
Przed kontynuowaniem poczekaj, aż stan komunikacji równorzędnej sieci wirtualnej ma wartość Połączono .
Zmodyfikuj strefę DNS, privatelink.api.azureml.ms aby dodać link do sieci wirtualnej dla klastra obliczeniowego. Ta strefa jest tworzona przez obszar roboczy usługi Azure Machine Learning, gdy używa prywatnego punktu końcowego do udziału w sieci wirtualnej.
Dodaj nowy link do sieci wirtualnej do strefy DNS. Możesz to zrobić na wiele sposobów:
W witrynie Azure Portal przejdź do strefy DNS i wybierz pozycję Łącza sieci wirtualnej. Następnie wybierz pozycję + Dodaj i wybierz sieć wirtualną utworzoną dla klastrów obliczeniowych.
W interfejsie wiersza polecenia platformy az network private-dns link vnet create Azure użyj polecenia . Aby uzyskać więcej informacji, zobacz az network private-dns link vnet create.
W programie Azure PowerShell użyj New-AzPrivateDnsVirtualNetworkLink polecenia . Aby uzyskać więcej informacji, zobacz New-AzPrivateDnsVirtualNetworkLink.
Powtórz poprzedni krok i kroki podrzędne dla privatelink.notebooks.azure.net strefy DNS.
Skonfiguruj następujące zasoby platformy Azure, aby zezwolić na dostęp z obu sieci wirtualnych.
Domyślne konto magazynu dla obszaru roboczego.
Rejestr kontenerów platformy Azure dla obszaru roboczego.
Usługa Azure Key Vault dla obszaru roboczego.
Napiwek
Istnieje wiele sposobów konfigurowania tych usług w celu umożliwienia dostępu do sieci wirtualnych. Można na przykład utworzyć prywatny punkt końcowy dla każdego zasobu w obu sieciach wirtualnych. Możesz też skonfigurować zasoby, aby zezwolić na dostęp z obu sieci wirtualnych.
Utwórz klaster obliczeniowy, tak jak zwykle w przypadku korzystania z sieci wirtualnej, ale wybierz sieć wirtualną utworzoną dla klastra obliczeniowego. Jeśli sieć wirtualna znajduje się w innym regionie, wybierz ten region podczas tworzenia klastra obliczeniowego.
Ostrzeżenie
W przypadku ustawiania regionu, jeśli jest to inny region niż obszar roboczy lub magazyny danych, może wystąpić zwiększone opóźnienie sieci i koszty transferu danych. Opóźnienie i koszty mogą wystąpić podczas tworzenia klastra i uruchamiania w nim zadań.
Scenariusz: Prywatny punkt końcowy
Skonfiguruj obszar roboczy do korzystania z usługi Azure Virtual Network. Aby uzyskać więcej informacji, zobacz Zabezpieczanie zasobów obszaru roboczego.
Utwórz drugą sieć wirtualną platformy Azure, która będzie używana dla klastrów obliczeniowych. Może on znajdować się w innym regionie świadczenia usługi Azure niż używany dla obszaru roboczego.
Utwórz nowy prywatny punkt końcowy dla obszaru roboczego w sieci wirtualnej, który będzie zawierać klaster obliczeniowy.
Aby dodać nowy prywatny punkt końcowy przy użyciu witryny Azure Portal, wybierz swój obszar roboczy, a następnie wybierz pozycję Sieć. Wybierz pozycję Połączenia prywatnego punktu końcowego i prywatny punkt końcowy i użyj pól, aby utworzyć nowy prywatny punkt końcowy.
Po wybraniu pozycji Region wybierz ten sam region co sieć wirtualna.
Podczas wybierania typu zasobu użyj wartości Microsoft.MachineLearningServices/workspaces.
Ustaw wartość Zasób na nazwę obszaru roboczego.
Ustaw sieć wirtualną i podsieć na sieć wirtualną i podsieć utworzoną dla klastrów obliczeniowych.
Na koniec wybierz pozycję Utwórz , aby utworzyć prywatny punkt końcowy.
Aby dodać nowy prywatny punkt końcowy przy użyciu interfejsu wiersza polecenia platformy Azure, użyj polecenia az network private-endpoint create. Aby zapoznać się z przykładem użycia tego polecenia, zobacz Konfigurowanie prywatnego punktu końcowego dla obszaru roboczego usługi Azure Machine Learning.
Utwórz klaster obliczeniowy, tak jak zwykle w przypadku korzystania z sieci wirtualnej, ale wybierz sieć wirtualną utworzoną dla klastra obliczeniowego. Jeśli sieć wirtualna znajduje się w innym regionie, wybierz ten region podczas tworzenia klastra obliczeniowego.
Ostrzeżenie
W przypadku ustawiania regionu, jeśli jest to inny region niż obszar roboczy lub magazyny danych, może wystąpić zwiększone opóźnienie sieci i koszty transferu danych. Opóźnienie i koszty mogą wystąpić podczas tworzenia klastra i uruchamiania w nim zadań.
Wystąpienie obliczeniowe/klaster lub bezserwerowe obliczenia bez publicznego adresu IP
Ważne
Te informacje są prawidłowe tylko w przypadku korzystania z usługi Azure Virtual Network. Jeśli używasz zarządzanej sieci wirtualnej, nie można wdrożyć zasobów obliczeniowych w usłudze Azure Virtual Network. Aby uzyskać informacje na temat korzystania z zarządzanej sieci wirtualnej, zobacz Zarządzane zasoby obliczeniowe z siecią zarządzaną.
Ważne
Jeśli używasz wystąpień obliczeniowych lub klastrów obliczeniowych skonfigurowanych dla żadnego publicznego adresu IP bez zgody na korzystanie z wersji zapoznawczej, musisz je usunąć i ponownie utworzyć po 20 stycznia 2023 r. (gdy funkcja jest ogólnie dostępna).
Jeśli wcześniej używano wersji zapoznawczej żadnego publicznego adresu IP, może być również konieczne zmodyfikowanie ruchu przychodzącego i wychodzącego, ponieważ wymagania zostały zmienione pod kątem ogólnej dostępności:
Wymagania dotyczące ruchu wychodzącego — dwa dodatkowe wychodzące, które są używane tylko do zarządzania wystąpieniami obliczeniowymi i klastrami. Miejsce docelowe tych tagów usługi jest własnością firmy Microsoft:
AzureMachineLearning tag usługi na porcie UDP 5831.
BatchNodeManagement tag usługi na porcie TCP 443.
Poniższe konfiguracje są dodatkiem do tych wymienionych w sekcji Wymagania wstępne i są specyficzne dla tworzenia wystąpień obliczeniowych/klastrów skonfigurowanych dla żadnego publicznego adresu IP. Mają one również zastosowanie do obliczeń bezserwerowych:
Aby komunikować się z usługami Azure Machine Learning z sieci wirtualnej, musisz użyć prywatnego punktu końcowego obszaru roboczego dla zasobu obliczeniowego. Aby uzyskać więcej informacji, zobacz Konfigurowanie prywatnego punktu końcowego dla obszaru roboczego usługi Azure Machine Learning.
W sieci wirtualnej zezwól na ruch wychodzący do następujących tagów usługi lub w pełni kwalifikowanych nazw domen (FQDN):
Tag usługi
Protokół
Port
Uwagi
AzureMachineLearning
TCP UDP
443/8787/18881 5831
Komunikacja z usługą Azure Machine Learning.
BatchNodeManagement.<region>
DOWOLNE
443
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning. Komunikacja w usłudze Azure Batch. Wystąpienie obliczeniowe i klaster obliczeniowy są implementowane przy użyciu usługi Azure Batch.
Storage.<region>
TCP
443
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning. Ten tag usługi służy do komunikowania się z kontem usługi Azure Storage używanym przez usługę Azure Batch.
Ważne
Dostęp wychodzący do Storage.<region> programu może być potencjalnie używany do eksfiltrowania danych z obszaru roboczego. Za pomocą zasad punktu końcowego usługi można wyeliminować tę lukę w zabezpieczeniach. Aby uzyskać więcej informacji, zobacz artykuł Ochrona przed eksfiltracją danych w usłudze Azure Machine Learning.
Nazwa FQDN
Protokół
Port
Uwagi
<region>.tundra.azureml.ms
UDP
5831
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning.
graph.windows.net
TCP
443
Komunikacja z interfejsem API programu Microsoft Graph.
*.instances.azureml.ms
TCP
443/8787/18881
Komunikacja z usługą Azure Machine Learning.
*.<region>.batch.azure.com
DOWOLNE
443
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning. Komunikacja w usłudze Azure Batch.
*.<region>.service.batch.azure.com
DOWOLNE
443
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning. Komunikacja w usłudze Azure Batch.
*.blob.core.windows.net
TCP
443
Komunikacja z usługą Azure Blob Storage.
*.queue.core.windows.net
TCP
443
Komunikacja z usługą Azure Queue Storage.
*.table.core.windows.net
TCP
443
Komunikacja z usługą Azure Table Storage.
Domyślnie wystąpienie obliczeniowe/klaster skonfigurowany dla żadnego publicznego adresu IP nie ma dostępu wychodzącego do Internetu. Jeśli możesz uzyskać dostęp do Internetu z niego, jest to spowodowane domyślnym dostępem wychodzącym platformy Azure i masz sieciową grupę zabezpieczeń, która zezwala na ruch wychodzący do Internetu.
Nie zalecamy jednak używania domyślnego dostępu wychodzącego. Jeśli potrzebujesz dostępu wychodzącego do Internetu, zalecamy użycie reguł zapory i ruchu wychodzącego lub bramy translatora adresów sieciowych i grup usług sieciowych, aby zamiast tego zezwalać na ruch wychodzący.
Aby uzyskać więcej informacji na temat ruchu wychodzącego używanego przez usługę Azure Machine Learning, zobacz następujące artykuły:
W poleceniu zastąp az ml compute create następujące wartości:
rg: grupa zasobów, w której zostaną utworzone zasoby obliczeniowe.
ws: nazwa obszaru roboczego usługi Azure Machine Learning.
yourvnet: Sieć wirtualna platformy Azure.
yoursubnet: podsieć do użycia na potrzeby obliczeń.
AmlComputelub ComputeInstance: Określanie tworzenia AmlCompute klastra obliczeniowego.
ComputeInstance tworzy wystąpienie obliczeniowe.
# create a compute cluster with no public IP
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type AmlCompute --set enable_node_public_ip=False
# create a compute instance with no public IP
az ml compute create --name myci --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type ComputeInstance --set enable_node_public_ip=False
Ważne
Poniższy fragment kodu zakłada, że ml_client wskazuje obszar roboczy usługi Azure Machine Learning, który używa prywatnego punktu końcowego do udziału w sieci wirtualnej. Aby uzyskać więcej informacji na temat korzystania z usługi ml_client, zobacz samouczek Azure Machine Learning w ciągu dnia.
Podczas konfigurowania podsieci w klasie NetworkSettings powinna być nazwą podsieci podczas tworzenia nowej sieci wirtualnej lub odwoływania się do istniejącej albo w pełni kwalifikowanym identyfikatorem zasobu podsieci w istniejącej sieci wirtualnej. Nie należy określać vnet_name , jeśli określono identyfikator podsieci. Identyfikator podsieci może odwoływać się do sieci wirtualnej/podsieci w innej grupie zasobów.
Wybierz stronę Obliczenia na pasku nawigacyjnym po lewej stronie.
Wybierz pozycję + Nowy na pasku nawigacyjnym wystąpienia obliczeniowego lub klastra obliczeniowego.
Skonfiguruj potrzebny rozmiar i konfigurację maszyny wirtualnej, a następnie wybierz pozycję Dalej.
W obszarze Zabezpieczenia wybierz pozycję Włącz sieć wirtualną, sieć wirtualną i podsieć, a na koniec wybierz opcję Brak publicznego adresu IP w sekcji Sieć wirtualna/podsieć.
Skorzystaj z poniższych informacji, aby skonfigurować bezserwerowe węzły obliczeniowe bez publicznego adresu IP w sieci wirtualnej dla danego obszaru roboczego:
Ważne
Jeśli używasz bezserwerowego wystąpienia obliczeniowego publicznego adresu IP, a obszar roboczy używa listy dozwolonych adresów IP, musisz dodać wychodzący prywatny punkt końcowy do obszaru roboczego. Przetwarzanie bezserwerowe musi komunikować się z obszarem roboczym, ale jeśli skonfigurowano go pod kątem braku publicznego adresu IP, używa domyślnego ruchu wychodzącego platformy Azure na potrzeby dostępu do Internetu. Publiczny adres IP dla tego ruchu wychodzącego jest dynamiczny i nie można go dodać do listy dozwolonych adresów IP. Utworzenie wychodzącego prywatnego punktu końcowego do obszaru roboczego umożliwia ruch z bezserwerowego środowiska obliczeniowego powiązanego z obszarem roboczym w celu obejścia listy dozwolonych adresów IP.
Poniższy fragment kodu zakłada, że ml_client wskazuje obszar roboczy usługi Azure Machine Learning, który używa prywatnego punktu końcowego do udziału w sieci wirtualnej. Aby uzyskać więcej informacji na temat korzystania z usługi ml_client, zobacz samouczek Azure Machine Learning w ciągu dnia.
Konfigurowanie bezserwerowych węzłów obliczeniowych bez publicznego adresu IP w sieci wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure lub zestawu SDK języka Python
Wystąpienie obliczeniowe/klaster lub bezserwerowe obliczenia z publicznym adresem IP
Ważne
Te informacje są prawidłowe tylko w przypadku korzystania z usługi Azure Virtual Network. Jeśli używasz zarządzanej sieci wirtualnej, nie można wdrożyć zasobów obliczeniowych w usłudze Azure Virtual Network. Aby uzyskać informacje na temat korzystania z zarządzanej sieci wirtualnej, zobacz Zarządzane zasoby obliczeniowe z siecią zarządzaną.
Poniższe konfiguracje są dodatkiem do tych wymienionych w sekcji Wymagania wstępne i są specyficzne dla tworzenia wystąpień obliczeniowych/klastrów, które mają publiczny adres IP. Mają one również zastosowanie do obliczeń bezserwerowych:
W przypadku umieszczenia wielu wystąpień obliczeniowych/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:
Sieciowa grupa zabezpieczeń jest tworzona automatycznie. Ta sieciowa grupa zabezpieczeń zezwala na przychodzący ruch TCP na porcie 44224 z tagu AzureMachineLearning usługi.
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ń.
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 do momentu usunięcia klastra obliczeniowego/wystąpienia. Upewnij się również, że nie ma przypisania usługi Azure Policy, które uniemożliwia tworzenie sieciowych grup zabezpieczeń.
W sieci wirtualnej zezwól na przychodzący ruch TCP na porcie 44224 z tagu AzureMachineLearning usługi.
Ważne
Wystąpienie obliczeniowe/klaster jest dynamicznie przypisywany adres IP podczas jego tworzenia. Ponieważ adres nie jest znany przed utworzeniem, a dostęp przychodzący jest wymagany w ramach procesu tworzenia, nie można go statycznie przypisać w zaporze. Zamiast tego, jeśli używasz zapory z siecią wirtualną, musisz utworzyć trasę zdefiniowaną przez użytkownika, aby zezwolić na ten ruch przychodzący.
W sieci wirtualnej zezwól na ruch wychodzący do następujących tagów usługi:
Tag usługi
Protokół
Port
Uwagi
AzureMachineLearning
TCP UDP
443/8787/18881 5831
Komunikacja z usługą Azure Machine Learning.
BatchNodeManagement.<region>
DOWOLNE
443
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning. Komunikacja w usłudze Azure Batch. Wystąpienie obliczeniowe i klaster obliczeniowy są implementowane przy użyciu usługi Azure Batch.
Storage.<region>
TCP
443
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning. Ten tag usługi służy do komunikowania się z kontem usługi Azure Storage używanym przez usługę Azure Batch.
Ważne
Dostęp wychodzący do Storage.<region> programu może być potencjalnie używany do eksfiltrowania danych z obszaru roboczego. Za pomocą zasad punktu końcowego usługi można wyeliminować tę lukę w zabezpieczeniach. Aby uzyskać więcej informacji, zobacz artykuł Ochrona przed eksfiltracją danych w usłudze Azure Machine Learning.
Nazwa FQDN
Protokół
Port
Uwagi
<region>.tundra.azureml.ms
UDP
5831
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning.
graph.windows.net
TCP
443
Komunikacja z interfejsem API programu Microsoft Graph.
*.instances.azureml.ms
TCP
443/8787/18881
Komunikacja z usługą Azure Machine Learning.
*.<region>.batch.azure.com
DOWOLNE
443
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning. Komunikacja w usłudze Azure Batch.
*.<region>.service.batch.azure.com
DOWOLNE
443
Zastąp element <region> regionem platformy Azure zawierającym obszar roboczy usługi Azure Machine Learning. Komunikacja w usłudze Azure Batch.
*.blob.core.windows.net
TCP
443
Komunikacja z usługą Azure Blob Storage.
*.queue.core.windows.net
TCP
443
Komunikacja z usługą Azure Queue Storage.
*.table.core.windows.net
TCP
443
Komunikacja z usługą Azure Table Storage.
Użyj poniższych informacji, aby utworzyć wystąpienie obliczeniowe lub klaster z publicznym adresem IP w sieci wirtualnej:
W poleceniu zastąp az ml compute create następujące wartości:
rg: grupa zasobów, w której zostaną utworzone zasoby obliczeniowe.
ws: nazwa obszaru roboczego usługi Azure Machine Learning.
yourvnet: Sieć wirtualna platformy Azure.
yoursubnet: podsieć do użycia na potrzeby obliczeń.
AmlComputelub ComputeInstance: Określanie tworzenia AmlCompute klastra obliczeniowego.
ComputeInstance tworzy wystąpienie obliczeniowe.
# create a compute cluster with a public IP
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type AmlCompute
# create a compute instance with a public IP
az ml compute create --name myci --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type ComputeInstance
Ważne
Poniższy fragment kodu zakłada, że ml_client wskazuje obszar roboczy usługi Azure Machine Learning, który używa prywatnego punktu końcowego do udziału w sieci wirtualnej. Aby uzyskać więcej informacji na temat korzystania z usługi ml_client, zobacz samouczek Azure Machine Learning w ciągu dnia.
Podczas konfigurowania podsieci w klasie NetworkSettings powinna być nazwą podsieci podczas tworzenia nowej sieci wirtualnej lub odwoływania się do istniejącej albo w pełni kwalifikowanym identyfikatorem zasobu podsieci w istniejącej sieci wirtualnej. Nie należy określać vnet_name , jeśli określono identyfikator podsieci. Identyfikator podsieci może odwoływać się do sieci wirtualnej/podsieci w innej grupie zasobów.
Wybierz stronę Obliczenia na pasku nawigacyjnym po lewej stronie.
Wybierz pozycję + Nowy na pasku nawigacyjnym wystąpienia obliczeniowego lub klastra obliczeniowego.
Skonfiguruj potrzebny rozmiar i konfigurację maszyny wirtualnej, a następnie wybierz pozycję Dalej.
W obszarze Zabezpieczenia wybierz pozycję Włącz sieć wirtualną, a następnie wybierz sieć wirtualną i podsieć.
Skorzystaj z poniższych informacji, aby skonfigurować bezserwerowe węzły obliczeniowe z publicznym adresem IP w sieci wirtualnej dla danego obszaru roboczego:
Poniższy fragment kodu zakłada, że ml_client wskazuje obszar roboczy usługi Azure Machine Learning, który używa prywatnego punktu końcowego do udziału w sieci wirtualnej. Aby uzyskać więcej informacji na temat korzystania z usługi ml_client, zobacz samouczek Azure Machine Learning w ciągu dnia.
Użyj interfejsu wiersza polecenia platformy Azure lub zestawu SDK języka Python, aby skonfigurować bezserwerowe węzły obliczeniowe z publicznym adresem IP w sieci wirtualnej.
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.
Oprócz podsieci databricks-private 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ą.
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
Ważne
Usługa Azure Machine Learning obsługuje tylko maszyny wirtualne z systemem Ubuntu.
Utwórz maszynę wirtualną lub klaster usługi HDInsight przy użyciu witryny 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:
Zezwalaj usłudze Azure Machine Learning na komunikowanie się z portem SSH na maszynie wirtualnej lub klastrze, skonfiguruj wpis źródłowy dla sieciowej grupy zabezpieczeń. Port SSH jest zwykle portem 22. Aby zezwolić na ruch z tego źródła, wykonaj następujące czynności:
Z listy rozwijanej Źródło wybierz pozycję Tag usługi.
Z listy rozwijanej Tag usługi źródłowej wybierz pozycję AzureMachineLearning.
Z listy rozwijanej Zakresy portów źródłowych wybierz pozycję *.
Z listy rozwijanej Miejsce docelowe wybierz pozycję Dowolne.
Z listy rozwijanej Zakresy portów docelowych wybierz pozycję 22.
W obszarze Protokół wybierz pozycję Dowolne.
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, zapoznaj się z sekcją wymaganą publicznego dostępu do Internetu.
Dołączanie maszyny wirtualnej lub klastra usługi HDInsight
Wymagany publiczny dostęp do Internetu do trenowania modeli
Ważne
Chociaż w poprzednich sekcjach tego artykułu opisano konfiguracje wymagane do tworzenia zasobów obliczeniowych, informacje o konfiguracji w tej sekcji są wymagane do używania tych zasobów do trenowania modeli.
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 celu, jaki służy. W przypadku tagów usługi kończących się na elemencie .regionzastąp region element regionem świadczenia usługi zawierającym obszar roboczy. Na przykład : Storage.westus
Napiwek
Wymagana karta zawiera wymaganą konfigurację ruchu przychodzącego i wychodzącego. Karta sytuacyjna zawiera opcjonalne konfiguracje ruchu przychodzącego i wychodzącego wymagane przez określone konfiguracje, które warto włączyć.
Uwierzytelnianie za pomocą usługi Microsoft Entra ID.
Wychodzący
TCP: 443, 18881 UDP: 5831
AzureMachineLearning
Korzystanie z usług Azure Machine Learning. Funkcja IntelliSense języka Python w notesach używa portu 18881. Tworzenie, aktualizowanie i usuwanie wystąpienia obliczeniowego usługi Azure Machine Learning używa portu 5831.
Wychodzący
DOWOLNY: 443
BatchNodeManagement.region
Komunikacja z zapleczem usługi Azure Batch dla wystąpień obliczeniowych/klastrów usługi Azure Machine Learning.
Wychodzący
TCP: 443
AzureResourceManager
Tworzenie zasobów platformy Azure przy użyciu usługi Azure Machine Learning, interfejsu wiersza polecenia platformy Azure i zestawu Azure Machine Learning SDK.
Wychodzący
TCP: 443
Storage.region
Uzyskiwanie dostępu do danych przechowywanych na koncie usługi Microsoft Azure Storage dla klastra obliczeniowego i wystąpienia obliczeniowego. Aby uzyskać informacje na temat zapobiegania eksfiltracji danych za pośrednictwem tego ruchu wychodzącego, zobacz Ochrona eksfiltracji danych.
Wychodzący
TCP: 443
AzureFrontDoor.FrontEnd * Nie jest wymagane na platformie Microsoft Azure obsługiwanej przez firmę 21Vianet.
Globalny punkt wejścia dla usługiAzure Machine Learning studio. Przechowywanie obrazów i środowisk dla rozwiązania AutoML. Aby uzyskać informacje na temat zapobiegania eksfiltracji danych za pośrednictwem tego ruchu wychodzącego, zobacz Ochrona eksfiltracji danych.
Wychodzący
TCP: 443
MicrosoftContainerRegistry.region Pamiętaj, że ten tag ma zależność od tagu AzureFrontDoor.FirstParty
Uzyskiwanie dostępu do obrazów platformy Docker dostarczonych przez firmę Microsoft. Konfiguracja routera usługi Azure Machine Learning dla usługi Azure Kubernetes Service.
Kierunek
Protokół i porty
Tag usługi
Purpose
Przychodzący
TCP: 44224
AzureMachineLearning
Tworzenie, aktualizowanie i usuwanie wystąpienia obliczeniowego/klastra usługi Azure Machine Learning.
Wymagane, jeśli wystąpienie/klaster skonfigurowano z opcją Publicznego adresu IP.
Wychodzący
TCP: 8787
AzureMachineLearning
Korzystanie z usług Azure Machine Learning. Port 8787 jest wymagany, jeśli używasz programu RStudio.
Wychodzący
TCP: 445
Storage.region
Uzyskiwanie dostępu do danych przechowywanych na koncie usługi Microsoft Azure Storage dla klastra obliczeniowego i wystąpienia obliczeniowego. Aby uzyskać informacje na temat zapobiegania eksfiltracji danych za pośrednictwem tego ruchu wychodzącego, zobacz Ochrona eksfiltracji danych. 445 jest wymagane tylko wtedy, gdy masz zaporę między siecią wirtualną dla usługi Azure ML i prywatnym punktem końcowym dla kont magazynu.
Wychodzący
TCP: 443
AzureMonitor
Służy do rejestrowania monitorowania i metryk w usługach App Insights i Azure Monitor. Wymagane tylko wtedy, gdy usługa Azure Monitor nie jest zabezpieczona dla obszaru roboczego.
* Ten ruch wychodzący jest również używany do rejestrowania informacji dotyczących zdarzeń pomocy technicznej.
Wychodzący
TCP: 443
Keyvault.region
Uzyskaj dostęp do magazynu kluczy dla usługi Azure Batch. Wymagane tylko w przypadku włączenia flagi hbi_workspace podczas tworzenia obszaru roboczego.
Napiwek
Jeśli potrzebujesz adresów IP zamiast tagów usługi, użyj jednej z następujących opcji:
Może być również konieczne zezwolenie na ruch wychodzący do programu Visual Studio Code i witryn innych niż Microsoft na potrzeby instalacji pakietów wymaganych przez projekt uczenia maszynowego. W poniższej tabeli wymieniono często używane repozytoria na potrzeby uczenia maszynowego:
Nazwa hosta
Purpose
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 jest zastępowany, należy również zezwolić na *.pythonhosted.orgwartość .
cloud.r-project.org
Używany podczas instalowania pakietów CRAN na potrzeby programowania w języku R.
*.pytorch.org
Używane przez niektóre przykłady 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 Visual Studio Code desktop. Nie jest to wymagane dla sieci Web programu Visual Studio Code.
update.code.visualstudio.com *.vo.msecnd.net
Służy do pobierania bitów serwera programu Visual Studio Code zainstalowanych w wystąpieniu obliczeniowym za pomocą skryptu instalacji.
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ń od klienta programu Visual Studio Code (aplikacji klasycznej) do serwera programu Visual Studio Code uruchomionego w wystąpieniu obliczeniowym.
Uwaga
W przypadku korzystania z rozszerzenia VS Code dla usługi Azure Machine Learning zdalne wystąpienie obliczeniowe będzie wymagać dostępu do repozytoriów publicznych w celu zainstalowania pakietów wymaganych przez rozszerzenie. Jeśli wystąpienie obliczeniowe wymaga serwera proxy dla dostępu do tych publicznych repozytoriów lub Internetu, należy ustawić i wyeksportować zmienne środowiskowe HTTP_PROXY i HTTPS_PROXY w ~/.bashrc pliku wystąpienia obliczeniowego. Ten proces można zautomatyzować w czasie aprowizacji przy użyciu skryptu niestandardowego.
W przypadku korzystania z usługi Azure Kubernetes Service (AKS) z usługą Azure Machine Learning zezwól na następujący ruch do sieci wirtualnej usługi AKS:
Podczas wdrażania modelu w klastrze usługi AKS skorzystaj ze wskazówek w artykule Wdrażanie modeli uczenia maszynowego w usłudze Azure Kubernetes Service .
Azure HPC to specjalnie utworzona funkcja chmury dla obciążeń HPC i sztucznej inteligencji przy użyciu wiodących procesorów i połączeń między firmami HPC klasy InfiniBand w celu zapewnienia najlepszej wydajności aplikacji, skalowalności i wartości. Usługa Azure HPC umożliwia użytkownikom odblokowanie innowacji, produktywności i elastyczności biznesowej dzięki szerokiej gamie technologii HPC i sztucznej inteligencji, które mogą być dynamicznie przydzielane w miarę zmian potrzeb biznesowych i technicznych. Ta
Planowanie, dostarczanie i monitorowanie środowisk pulpitu wirtualnego oraz aplikacji zdalnych oraz zarządzanie nimi na platformie Microsoft Azure dla dowolnego urządzenia.
Użyj izolowanej sieci wirtualnej platformy Azure, aby zabezpieczyć obszar roboczy usługi Azure Machine Learning i skojarzone zasoby z zestawem SDK/interfejsem wiersza polecenia w wersji 1.
Zabezpieczanie zasobów obszarów roboczych i środowisk obliczeniowych usługi Azure Machine Learning przy użyciu izolowanej sieci wirtualnej platformy Azure.