管理 Azure Machine Learning 計算執行個體
適用於:Azure CLI ml 延伸模組 v2 (目前)Python SDK azure-ai-ml v2 (目前)
了解如何在 Azure Machine Learning 工作區中管理計算執行個體。
請在雲端中使用計算執行個體來作為已完整設定和完全受控的開發環境。 如果是開發或測試,您也可以使用執行個體作為定型計算目標。 計算執行個體可以平行執行多個作業,並具有作業佇列。 在開發環境中,無法與您工作區中的其他使用者共用計算執行個體。
在本文中,您將了解如何啟動、停止、重新啟動、刪除計算執行個體。 請參閱建立 Azure Machine Learning 計算執行個體,以了解如何建立計算執行個體。
注意
本文會在下列各節中說明 CLI v2。 如果您仍在使用 CLI v1,請參閱建立 Azure Machine Learning 計算叢集 CLI v1。
必要條件
Azure Machine Learning 工作區。 如需詳細資訊,請參閱建立 Azure Machine Learning 工作區。 在儲存體帳戶中,必須啟用 [允許儲存體帳戶金鑰存取] 選項,才能成功建立計算執行個體。
適用於 Machine Learning 服務的 Azure CLI 延伸模組 (v2)、Azure Machine Learning Python SDK (v2) 或 Azure Machine Learning Visual Studio Code 延伸模組。
如果使用 Python SDK,請使用工作區設定您的開發環境。 設定環境之後,連結至您的 Python 指令碼中的工作區:
適用於:Python SDK azure-ai-ml v2 (目前)
執行此程式碼以連線至您的 Azure ML 工作區。
在下方的程式碼中替換為您的訂閱識別碼、資源群組名稱和工作區名稱。 若要尋找這些值:
- 登入 Azure Machine Learning Studio。
- 開啟您要使用的工作區。
- 在右上方的 Azure Machine Learning 工作室工具列中,選取您的工作區名稱。
- 將工作區、資源群組和訂閱識別碼的值複製到程式碼。
- 如果您使用 Studio 中的筆記本,則須複製值、關閉區域並貼上,然後返回複製下一個值。
# Enter details of your AML workspace subscription_id = "<SUBSCRIPTION_ID>" resource_group = "<RESOURCE_GROUP>" workspace = "<AML_WORKSPACE_NAME>"
# get a handle to the workspace from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential ml_client = MLClient( DefaultAzureCredential(), subscription_id, resource_group, workspace )
ml_client
是工作區的處理常式,用來管理其他資源和作業。
管理
啟動、停止、重新啟動、刪除計算執行個體。 計算執行個體不一定會自動縮小,因此請務必停止資源以避免持續收費。 停止計算執行個體會將其解除配置。 然後再於需要時加以啟動。 停止計算執行個體會停止計算時數的計費,但您仍需支付磁片、公用 IP 和標準負載平衡器的費用。
您可以啟用自動關機,以在指定的時間之後自動停止計算執行個體。
您也可以建立排程,讓計算執行個體根據每週特定日期和時間自動啟動及停止。
提示
計算執行個體具有 120GB 的 OS 磁碟。 若您用盡磁碟空間,請先使用終端清除至少 1-2 GB 的空間,然後再停止或重新啟動計算執行個體。 請不要從終端機發出 sudo 關機來停止計算執行個體。 計算執行個體上的暫存磁碟大小取決於所選擇的 VM 大小,並掛接於/mnt。
適用於:Python SDK azure-ai-ml v2 (目前)
在下列範例中,計算執行個體的名稱儲存於 ci_basic_name
變數。
取得狀態
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Get compute ci_basic_state = ml_client.compute.get(ci_basic_name)
停止
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Stop compute ml_client.compute.begin_stop(ci_basic_name).wait()
啟動
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Start compute ml_client.compute.begin_start(ci_basic_name).wait()
重新啟動
from azure.ai.ml.entities import ComputeInstance, AmlCompute # Restart compute ml_client.compute.begin_restart(ci_basic_name).wait()
刪除
from azure.ai.ml.entities import ComputeInstance, AmlCompute ml_client.compute.begin_delete(ci_basic_name).wait()
Azure RBAC 可讓您控制工作區中的哪些使用者可以建立、刪除、啟動、停止、重新啟動計算執行個體。 工作區參與者和擁有者角色中的所有使用者都可以在工作區中建立、刪除、啟動、停止和重新啟動計算執行個體。 不過,只有特定計算執行個體的建立者,或代表其建立的使用者指派時,才允許存取該計算執行個體上的 Jupyter、JupyterLab 和 RStudio。 計算執行個體僅供具有根存取權的單一使用者使用。 該使用者可以存取在執行個體上執行的 Jupyter/JupyterLab/RStudio。 計算執行個體只會有單一使用者登入,而且所有動作都會使用該使用者的身分識別來獲得實驗作業 Azure RBAC 和屬性。 SSH 存取是透過公開/私密金鑰機制來加以控制的。
這些動作可由 Azure RBAC 控制:
- Microsoft.MachineLearningServices/workspaces/computes/read
- Microsoft.MachineLearningServices/workspaces/computes/write
- Microsoft.MachineLearningServices/workspaces/computes/delete
- Microsoft.MachineLearningServices/workspaces/computes/start/action
- Microsoft.MachineLearningServices/workspaces/computes/stop/action
- Microsoft.MachineLearningServices/workspaces/computes/restart/action
- Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action
若要建立計算執行個體,您將需要下列動作的權限:
- Microsoft.MachineLearningServices/workspaces/computes/write
- Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action
稽核並觀察計算執行個體版本
計算執行個體一經部署,就不會自動更新。 Microsoft 會每個月發行新的 VM 映像。 若要了解使用最新版本保持最新狀態的選項,請參閱弱點管理。
若要追蹤執行個體的作業系統版本是否為最新版本,您可以使用 CLI、SDK 或 Studio UI 查詢其版本。
適用於:Python SDK azure-ai-ml v2 (目前)
from azure.ai.ml.entities import ComputeInstance, AmlCompute
# Display operating system version
instance = ml_client.compute.get("myci")
print instance.os_image_metadata
如需此範例中所使用的類別、方法和參數的詳細資訊,請參閱下列參考文件:
IT 系統管理員可以使用 Azure 原則來監視 Azure 原則合規性入口網站中工作區執行個體的清查。 在 Azure 訂用帳戶或 Azure 管理群組範圍上,指派內建原則稽核 Azure Machine Learning Compute 執行個體與過時的作業系統。