Freigeben über


Verwalten einer Compute-Instanz von Azure Machine Learning

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)

Erfahren Sie, wie Sie eine Compute-Instanz in Ihrem Azure Machine Learning-Arbeitsbereich verwalten.

Nutzen Sie eine Compute-Instanz als Ihre vollständig konfigurierte und verwaltete Entwicklungsumgebung in der Cloud. Zu Entwicklungs- und Testzwecken können Sie die Instanz auch als Trainingscomputeziel verwenden. Computeinstanzen können mehrere Aufträge parallel ausführen und verfügen über eine Auftragswarteschlange. Da es sich bei einer Compute-Instanz um eine Entwicklungsumgebung handelt, kann diese nicht für andere in Ihrem Arbeitsbereich freigegeben werden.

In diesem Artikel erfahren Sie, wie Sie eine Compute-Instanz starten, beenden, neu starten und löschen. Unter Erstellen einer Azure Machine Learning-Compute-Instanz erfahren Sie, wie Sie eine Compute-Instanz erstellen.

Hinweis

Die folgenden Abschnitte in diesem Artikel zeigen die CLI v2. Wenn Sie noch die CLI v1 verwenden, lesen Sie Erstellen eines Azure Machine Learning-Computeclusters (CLI v1).

Voraussetzungen

Wählen Sie die entsprechende Registerkarte für die restlichen Voraussetzungen basierend auf Ihrer bevorzugten Methode zum Verwalten Ihrer Compute-Instanz aus.

  • Wenn Sie Ihren Code nicht auf einer Compute-Instanz ausführen, installieren Sie das Python-SDK für Azure Machine Learning. Dieses SDK ist auf einer Compute-Instanz bereits installiert.

  • Fügen Sie den Arbeitsbereich in Ihrem Python-Skript an:

    Führen Sie diesen Code aus, um eine Verbindung mit Ihrem Azure Machine Learning-Arbeitsbereich herzustellen.

    Ersetzen Sie Ihre Abonnement-ID, den Namen der Ressourcengruppe und den Namen des Arbeitsbereichs im folgenden Code. So finden Sie diese Werte:

    1. Melden Sie sich bei Azure Machine Learning Studio an.
    2. Öffnen Sie den Arbeitsbereich, den Sie verwenden möchten.
    3. Wählen Sie in der Azure Machine Learning Studio-Symbolleiste oben rechts den Namen Ihres Arbeitsbereichs aus.
    4. Kopieren Sie den Wert für Arbeitsbereich, Ressourcengruppe und Abonnement-ID in den Code.

    GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)

    # 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 ist ein Handler für den Arbeitsbereich, den Sie für die Verwaltung anderer Ressourcen und Aufträge verwenden.

Verwalten

Starten, Beenden, Neustarten und Löschen einer Compute-Instanz. Eine Compute-Instanz wird nicht immer automatisch herunterskaliert. Stellen Sie daher sicher, dass die Ressource beendet wird, um laufende Gebühren zu vermeiden. Das Beenden einer Compute-Instanz gibt diese frei. Starten Sie sie dann erneut, wenn Sie sie benötigen. Das Beenden der Compute-Instanz stoppt zwar die Abrechnung der Computestunden, es fallen aber weiterhin Kosten für Datenträger, öffentliche IP-Adresse und Standardlastenausgleich an.

Sie können das automatische Herunterfahren aktivieren, um die Compute-Instanz nach einer bestimmten Zeitspanne automatisch zu beenden.

Sie können für die Compute-Instanz einen Zeitplan erstellen, um diese automatisch zu einer bestimmten Uhrzeit und an einem bestimmten Wochentag zu starten und zu beenden.

Tipp

Die Compute-Instanz verfügt über einen 120 GB Betriebssystemdatenträger. Wenn Ihnen der Speicherplatz ausgeht, verwenden Sie das Terminal, um mindestens 5 GB zu löschen, bevor Sie die Compute-Instanz beenden oder neu starten. Bitte beenden Sie die Compute-Instanz nicht, indem Sie sudo Herunterfahren im Terminal eingeben. Die Größe des temporären Datenträgers auf der Compute-Instanz hängt von der gewählten VM-Größe ab und wird in „/mnt“ eingebunden.

GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)

In diesen Beispielen wird der Name der Compute-Instanz in der Variablen ci_basic_name gespeichert.

  • Abrufen des Status

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Get compute
    ci_basic_state = ml_client.compute.get(ci_basic_name)
  • Beenden

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Stop compute
    ml_client.compute.begin_stop(ci_basic_name).wait()
  • Start

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Start compute
    ml_client.compute.begin_start(ci_basic_name).wait()
  • Neu starten

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    # Restart compute
    ml_client.compute.begin_restart(ci_basic_name).wait()
  • Löschen

    from azure.ai.ml.entities import ComputeInstance, AmlCompute
    
    ml_client.compute.begin_delete(ci_basic_name).wait()

Mithilfe von Azure RBAC können Sie steuern, welche Benutzer im Arbeitsbereich eine Compute-Instanz erstellen, löschen, starten, beenden und neu starten können. Alle Benutzer mit der Rolle „Mitwirkender“ und „Besitzer“ des Arbeitsbereichs können Compute-Instanzen im gesamten Arbeitsbereich erstellen, löschen, starten, beenden und neu starten. Allerdings darf nur der Ersteller einer bestimmten Compute-Instanz oder der zugewiesene Benutzer (falls sie in seinem Namen erstellt wurde) auf dieser Compute-Instanz auf Jupyter, JupyterLab und RStudio zugreifen. Eine Compute-Instanz ist einem einzelnen Benutzer zugeordnet, der über Root-Zugriff verfügt. Dieser Benutzer hat Zugriff auf Jupyter/JupyterLab/RStudio, das auf der Instanz ausgeführt wird. Die Compute-Instanz verwendet eine Einzelbenutzeranmeldung, und diese Benutzeridentität wird bei allen Aktivitäten für Azure RBAC und die Zuordnung von Experimentaufträgen verwendet. Der SSH-Zugriff wird über einen Mechanismus mit öffentlichem/privatem Schlüssel gesteuert.

Diese Aktionen können von Azure RBAC gesteuert werden:

  • 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

Zum Erstellen einer Compute-Instanz benötigen Sie Berechtigungen für die folgenden Aktionen:

  • Microsoft.MachineLearningServices/workspaces/computes/write
  • Microsoft.MachineLearningServices/workspaces/checkComputeNameAvailability/action

Überwachen und Beobachten der Version der Compute-Instanz

Nachdem eine Compute-Instanz bereitgestellt wurde, wird sie nicht mehr automatisch aktualisiert. Microsoft veröffentlicht neue VM-Images monatlich. Informationen zu den Optionen zum Aktualisieren der neuesten Version finden Sie im Artikel zur Verwaltung von Sicherheitsrisiken.

Um zu überprüfen, ob die Betriebssystemversion einer Instanz aktuell ist, können Sie die Version per CLI, SDK oder Studio-Benutzeroberfläche abfragen.

GILT FÜR: Python SDK azure-ai-ml v2 (aktuell)

from azure.ai.ml.entities import ComputeInstance, AmlCompute

# Display operating system version
instance = ml_client.compute.get("myci")
print instance.os_image_metadata

Weitere Informationen zu den in diesem Beispiel verwendeten Klassen, Methoden und Parametern finden Sie in den folgenden Referenzdokumenten:

IT-Administrator*innen können Azure Policy verwenden, um den Bestand von Instanzen arbeitsbereichsübergreifend im Azure Policy-Complianceportal zu überwachen. Weisen Sie die integrierte Richtlinie Azure Machine Learning Compute-Instanzen mit einem veralteten Betriebssystem überwachen für ein Azure-Abonnement oder für einen Azure-Verwaltungsgruppenbereich zu.

Nächste Schritte