Share via


배포된 웹 서비스 업데이트(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 설명서를 참조하세요.

다음 단계