배포된 웹 서비스 업데이트(v1)
적용 대상:Azure CLI ml 확장 v1Python SDK azureml v1
이 문서에서는 Azure Machine Learning을 사용하여 배포된 웹 서비스를 업데이트하는 방법을 알아봅니다.
필수 조건
이 자습서에서는 Azure Machine Learning을 사용하여 웹 서비스를 이미 배포했다고 가정합니다. 웹 서비스를 배포하는 방법을 알아보려면 다음 단계를 따르세요.
이 문서의 코드 조각에서는 Workflow() 생성자를 사용하거나 저장된 구성을 Workspace.from_config()로 로드하여
ws
변수가 작업 영역으로 이미 초기화되었다고 가정합니다. 다음 코드 조각에서는 생성자를 사용하는 방법을 보여 줍니다.적용 대상: Python SDK azureml v1
from azureml.core import Workspace ws = Workspace(subscription_id="mysubscriptionid", resource_group="myresourcegroup", workspace_name="myworkspace")
Important
이 문서의 일부 Azure CLI 명령에서는 azure-cli-ml
또는 v1(Azure Machine Learning용 확장)을 사용합니다. v1 확장에 대한 지원은 2025년 9월 30일에 종료됩니다. v1 확장은 이 날짜까지 설치하고 사용할 수 있습니다.
2025년 9월 30일 이전에 ml
또는 v2 확장으로 전환하는 것이 좋습니다. v2 확장에 대한 자세한 내용은 Azure ML CLI 확장 및 Python SDK v2를 참조하세요.
웹 서비스 업데이트
웹 서비스를 업데이트하려면 update
메서드를 사용합니다. 유추 구성에서 지정할 수 있는 새 모델, 새 항목 스크립트 또는 새 종속성을 사용하도록 웹 서비스를 업데이트할 수 있습니다. 자세한 내용은 Webservice.update에 대한 설명서를 참조하세요.
AKS Service 업데이트 메서드를 참조합니다.
ACI Service 업데이트 메서드를 참조합니다.
Important
모델의 새 버전을 만들 때 이를 사용할 각 서비스를 수동으로 업데이트해야 합니다.
Azure Machine Learning 디자이너로부터 게시된 웹 서비스는 SDK를 사용하여 업데이트할 수 없습니다.
Important
Azure Kubernetes Service는 버전 1.16 이상의 Blobfuse FlexVolume 드라이버와 버전 1.17 이하의 Blob CSI 드라이버를 사용합니다.
따라서 클러스터 버전에 올바른 blobfuse 방법으로 배포하려면 클러스터 업그레이드 후 웹 서비스를 다시 배포하거나 업데이트하는 것이 중요합니다.
참고 항목
작업이 이미 진행 중인 경우 동일한 웹 서비스에 대한 새 작업은 모두 409 충돌 오류로 응답합니다. 예를 들어, 웹 서비스 만들기 또는 업데이트 작업이 진행 중인데 새 삭제 작업을 트리거하면 오류가 발생합니다.
SDK 사용
다음 코드에서는 SDK를 사용하여 웹 서비스의 모델, 환경 및 항목 스크립트를 업데이트하는 방법을 보여 줍니다.
적용 대상: Python SDK azureml v1
from azureml.core import Environment
from azureml.core.webservice import Webservice
from azureml.core.model import Model, InferenceConfig
# Register new model.
new_model = Model.register(model_path="outputs/sklearn_mnist_model.pkl",
model_name="sklearn_mnist",
tags={"key": "0.1"},
description="test",
workspace=ws)
# Use version 3 of the environment.
deploy_env = Environment.get(workspace=ws,name="myenv",version="3")
inference_config = InferenceConfig(entry_script="score.py",
environment=deploy_env)
service_name = 'myservice'
# Retrieve existing service.
service = Webservice(name=service_name, workspace=ws)
# Update to new model(s).
service.update(models=[new_model], inference_config=inference_config)
service.wait_for_deployment(show_output=True)
print(service.state)
print(service.get_logs())
CLI 사용
ML CLI를 사용하여 웹 서비스를 업데이트할 수도 있습니다. 다음 예제에서는 새 모델을 등록한 다음 이를 사용하도록 웹 서비스를 업데이트하는 방법을 보여 줍니다.
적용 대상: Azure CLI ml 확장 v1
az ml model register -n sklearn_mnist --asset-path outputs/sklearn_mnist_model.pkl --experiment-name myexperiment --output-metadata-file modelinfo.json
az ml service update -n myservice --model-metadata-file modelinfo.json
팁
이 예제에서는 JSON 문서를 사용하여 등록 명령의 모델 정보를 업데이트 명령에 전달합니다.
새 항목 스크립트나 환경을 사용하도록 서비스를 업데이트하려면 유추 구성 파일을 만들고 ic
매개 변수를 사용하여 해당 파일을 지정합니다.
자세한 내용은 az ml service update 설명서를 참조하세요.