Azure Machine Learning 컴퓨팅 인스턴스 관리

적용 대상:Azure CLI ml 확장 v2(현재)Python SDK azure-ai-ml v2(현재)

Azure Machine Learning 작업 영역에서 컴퓨팅 인스턴스를 관리하는 방법을 알아봅니다.

클라우드에서 완전 구성 및 관리형 개발 환경으로 컴퓨팅 인스턴스를 사용합니다. 개발 및 테스트를 위해 인스턴스를 학습 컴퓨팅 대상으로 사용할 수도 있습니다. 컴퓨팅 인스턴스는 여러 작업을 병렬로 실행할 수 있으며 1개의 작업 큐가 있습니다. 개발 환경에서는 컴퓨팅 인스턴스를 작업 영역에 있는 다른 사용자와 공유할 수 없습니다.

이 문서에서는 컴퓨팅 인스턴스를 시작, 중지, 다시 시작, 삭제하는 방법을 알아봅니다. 컴퓨팅 인스턴스를 만드는 방법을 알아보려면 Azure Machine Learning 컴퓨팅 인스턴스 만들기를 참조하세요.

참고 항목

이 문서에서는 아래 섹션의 CLI v2를 보여 줍니다. 여전히 CLI v1을 사용하는 경우 Azure Machine Learning 컴퓨팅 클러스터 CLI v1) 만들기를 참조하세요.

필수 조건

컴퓨팅 인스턴스 관리를 위해 선호하는 방법을 기준으로 나머지 필수 구성 요소에 대한 적절한 탭을 선택합니다.

  • 컴퓨팅 인스턴스에서 코드를 실행하지 않는 경우 Azure Machine Learning Python SDK를 설치합니다. 이 SDK는 컴퓨팅 인스턴스에 이미 설치되어 있습니다.

  • Python 스크립트에서 작업 영역에 연결합니다.

    이 코드를 실행하여 Azure Machine Learning 작업 영역에 연결합니다.

    다음 코드에서 구독 ID, 리소스 그룹 이름 및 작업 영역 이름을 바꿉니다. 이러한 값을 찾으려면 다음을 수행합니다.

    1. Azure Machine Learning Studio에 로그인합니다.
    2. 사용하려는 작업 영역을 엽니다.
    3. 오른쪽 위 Azure Machine Learning 스튜디오 도구 모음에서 작업 영역 이름을 선택합니다.
    4. 작업 영역, 리소스 그룹 및 구독 ID의 값을 코드에 복사합니다.
    5. 하나의 값을 복사하고 영역을 닫고 붙여넣은 다음 스튜디오 내부 Notebook에 붙여넣을 때 다음 값을 위해 다시 돌아옵니다.

    적용 대상: Python SDK azure-ai-ml v2(현재)

    # 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~2GB를 지운 후 컴퓨팅 인스턴스를 중지하거나 다시 시작해야 합니다. 터미널에서 sudo shutdown을 실행하여 컴퓨팅 인스턴스를 중지하지 마세요. 컴퓨팅 인스턴스의 임시 디스크 크기는 선택한 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에 대한 해당 사용자의 ID 및 실험 작업의 특성이 사용됩니다. 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 또는 스튜디오 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 Policy를 사용하여 Azure Policy 규정 준수 포털에서 작업 영역 전체의 인스턴스 인벤토리를 모니터링할 수 있습니다. Azure 구독 또는 Azure 관리 그룹 범위에 기본 제공 정책인 오래된 운영 체제를 사용하여 Azure Machine Learning 컴퓨팅 인스턴스 감사를 할당합니다.

다음 단계