在受控虛擬網路中使用受控計算
本文內容
了解如何在 Azure Machine Learning 受控虛擬網路中設定計算叢集或計算執行個體。
當您使用受控網路時,Azure Machine Learning 所管理的計算資源可以參與虛擬網路。 Azure Machine Learning 計算叢集 、計算執行個體 ,以及在受控網路中建立 受控線上端點 。
本文著重於在受控網路中設定計算叢集和計算執行個體。 如需受控線上端點的資訊,請參閱 使用網路隔離保護線上端點 。
重要
如果您打算使用無伺服器 Spark 作業,請參閱 受控虛擬網路 一文以取得設定資訊。 設定受控虛擬網路時,必須遵循這些步驟。
必要條件
遵循本文中的步驟之前,請確定您已滿足下列必要條件:
設定為使用 受控虛擬網路 的 Azure Machine Learning 工作區。
Azure CLI 和 Azure CLI 的 ml
擴充功能。 如需詳細資訊,請參閱安裝、設定和使用 CLI (v2) 。
提示
Azure Machine Learning 受控虛擬網路於 2023 年 5 月 23 日推出。 如果您有舊版的 ml 延伸模組,您可能需要更新它,本文中的範例才能運作。 若要更新延伸模組,請使用下列 Azure CLI 命令:
az extension update -n ml
本文中的 CLI 範例假設您使用 Bash (或相容的) 殼層。 例如,從 Linux 系統或 Windows 子系統 Linux 版 。
本文中的 Azure CLI 範例會使用 ws
來表示工作區的名稱,以及 rg
來表示資源群組的名稱。 使用命令搭配您的 Azure 訂用帳戶時,請視需要變更這些值。
設定為使用 受控虛擬網路 的 Azure Machine Learning 工作區。
Azure Machine Learning Python SDK v2。 如需 SDK 的詳細資訊,請參閱 安裝適用於 Azure Machine Learning 的 Python SDK v2 。
提示
Azure Machine Learning 受控虛擬網路於 2023 年 5 月 23 日推出。 如果您有已安裝舊版的 SDK,您可能需要更新它,本文中的範例才能運作。 若要更新 SDK,請使用下列命令:
pip install --upgrade azure-ai-ml azure-identity
本文中的範例假設您的程式碼以下列 Python 開頭。 此程式碼會匯入使用受控虛擬網路建立工作區時所需的類別、設定 Azure 訂用帳戶和資源群組的變數,並建立 ml_client
:
from azure.ai.ml import MLClient
from azure.ai.ml.entities import (
Workspace,
ManagedNetwork,
IsolationMode,
ServiceTagDestination,
PrivateEndpointDestination,
FqdnDestination
)
from azure.identity import DefaultAzureCredential
# Replace with the values for your Azure subscription and resource group.
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace_name = "<WORKSPACE_NAME>"
# get a handle to the subscription
ml_client = MLClient(
workspace_name=workspace_name,
subscription_id=subscription_id,
resource_group_name=resource_group,
credential=DefaultAzureCredential()
)
設定為使用 受控虛擬網路 的 Azure Machine Learning 工作區。
使用以下索引標籤了解如何在 Azure Machine Learning 受控虛擬網路中設定計算叢集或計算執行個體:
提示
使用受控虛擬網路時,會自動在受控網路中建立計算叢集和計算執行個體。 下列步驟著重於將計算資源設定為不使用公用 IP 位址。
若要建立沒有公用 IP 的計算叢集 ,請使用下列命令:
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --type AmlCompute --set enable_node_public_ip=False
若要建立沒有公用IP的 計算執行個體 ,請使用下列命令:
az ml compute create --name myci --resource-group rg --workspace-name ws --type ComputeInstance --set enable_node_public_ip=False
下列 Python SDK 範例會示範如何建立不含公用 IP 的計算叢集和計算執行個體:
from azure.ai.ml.entities import AmlCompute
# Create a compute cluster
compute_cluster = AmlCompute(
name="mycomputecluster",
size="STANDARD_D2_V2",
min_instances=0,
max_instances=4,
enable_node_public_ip=False
)
ml_client.begin_create_or_update(entity=compute_cluster)
# Create a compute instance
from azure.ai.ml.entities import ComputeInstance
compute_instance = ComputeInstance(
name="mycomputeinstance",
size="STANDARD_DS3_V2",
enable_node_public_ip=False
)
ml_client.begin_create_or_update(compute_instance)
您無法從 Azure 入口網站建立計算叢集或計算執行個體。 請改用下列步驟,在 Azure Machine Learning 工作室 中建立計算叢集:
在 工作室 中選取您的工作區。
從左側導覽列選取 [計算] 頁面。
從 計算執行個體 或 計算叢集 的導覽列選取 [+ 新增] 。
設定您需要的 VM 大小和設定,然後選取 [下一步] ,直到您到達下列頁面為止:
繼續建立計算資源。
限制
使用受控虛擬網路時,不支援在與工作區不同的區域中建立計算叢集。
如果計算位於受控網路中,而且未針對公用 IP 進行設定,請使用 az ml compute connect-ssh
命令透過 SSH 連線到計算執行個體。
計算資源的移轉
如果您有現有的工作區,且想要為其啟用受控虛擬網路,則現有受控計算資源目前沒有支援的移轉路徑。 您必須刪除所有現有的受控計算資源,並在啟用受控虛擬網路之後重新建立它們。 下列清單包含必須刪除並重新建立的計算資源:
下一步