다음을 통해 공유


가상 네트워크(SDKv1)에서 Azure Machine Learning 학습 환경 보호

적용 대상: Python SDK azureml v1

이 문서에서는 Python SDK v1을 통해 Azure Machine Learning의 가상 네트워크를 사용하여 학습 환경을 보호하는 방법을 알아봅니다.

Azure Machine Learning 컴퓨팅 인스턴스 및 컴퓨팅 클러스터를 사용하여 가상 네트워크에서 모델을 안전하게 학습할 수 있습니다. 환경을 계획할 때 공용 IP 주소를 사용하거나 사용하지 않고 컴퓨팅 인스턴스/클러스터를 구성할 수 있습니다. 둘 사이의 일반적인 차이점은 다음과 같습니다.

  • 공용 IP 없음: 동일한 네트워킹 리소스 요구 사항이 없으므로 비용이 절감됩니다. 인터넷에서 인바운드 트래픽에 대한 요구 사항을 제거하여 보안을 개선합니다. 그러나 필요한 리소스(Microsoft Entra ID, Azure Resource Manager 등)에 대한 아웃바운드 액세스를 사용하도록 설정하는 데 필요한 추가 구성 변경 내용이 있습니다.
  • 공용 IP: 기본적으로 작동하지만 추가 Azure 네트워킹 리소스로 인해 비용이 더 많이 듭니다. 공용 인터넷을 통한 Azure Machine Learning Service의 인바운드 통신이 필요합니다.

다음 표에는 이러한 구성 간의 차이점이 나와 있습니다.

구성 공용 IP가 있는 경우 공용 IP가 없는 경우
인바운드 트래픽 AzureMachineLearning 서비스 태그. 없음
아웃바운드 트래픽 기본적으로 제한 없이 공용 인터넷에 액세스할 수 있습니다.
네트워크 보안 그룹 또는 방화벽을 사용하여 액세스하는 항목을 제한할 수 있습니다.
기본적으로 인터넷에 액세스할 수 없습니다. 여전히 인터넷으로 아웃바운드 트래픽을 보낼 수 있는 경우 이는 Azure 기본 아웃바운드 액세스 때문이고 인터넷으로 아웃바운드를 허용하는 NSG가 있습니다. 기본 아웃바운드 액세스를 사용하는 것을 권장하지 않습니다.
인터넷에 대한 아웃바운드 액세스가 필요한 경우 인터넷에서 필요한 리소스로 아웃바운드 트래픽을 라우팅해야 할 때 Virtual Network NAT 게이트웨이 또는 방화벽을 대신 사용하는 것이 좋습니다.
Azure 네트워킹 리소스 공용 IP 주소, 부하 분산 장치, 네트워크 인터페이스 없음

Azure Databricks 또는 HDInsight를 사용하여 가상 네트워크에서 모델을 학습시킬 수도 있습니다.

이 문서의 단계 대신 Azure Machine Learning 관리되는 가상 네트워크를 사용할 수 있습니다. 관리되는 가상 네트워크를 통해 Azure Machine Learning은 작업 영역 및 관리 컴퓨팅에 대한 네트워크 격리 작업을 처리합니다. Azure Storage 계정과 같이 작업 영역에 필요한 리소스에 대한 프라이빗 엔드포인트를 추가할 수도 있습니다. 자세한 내용은 작업 영역 관리되는 네트워크 격리를 참조하세요.

참고 항목

Azure Machine Learning 스튜디오 및 Python SDK v2 사용에 대한 자세한 내용은 보안 학습 환경(v2)을 참조하세요.

보안 작업 영역을 만드는 방법에 관한 자습서는 자습서: Azure portal에서 보안 작업 영역 만들기, Bicep 템플릿 또는 Terraform 템플릿을 참조하세요.

이 문서에서는 가상 네트워크에서 다음 학습 컴퓨팅 리소스를 보호하는 방법을 알아봅니다.

  • Azure Machine Learning 컴퓨팅 클러스터
  • Azure Machine Learning 컴퓨팅 인스턴스
  • Azure Databricks
  • 가상 머신
  • HDInsight 클러스터

Important

"미리 보기"로 표시된 이 문서의 항목은 현재 공개 미리 보기 상태입니다. 미리 보기 버전은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

필수 조건

  • 일반적인 가상 네트워크 시나리오 및 전반적인 가상 네트워크 아키텍처를 이해하려면 네트워크 보안 개요 문서를 참조하세요.

  • 컴퓨팅 리소스에 사용할 기존 가상 네트워크 및 서브넷입니다. 이 VNet은 Azure Machine Learning 작업 영역과 동일한 구독에 있어야 합니다.

    • 작업 영역 및 학습 작업에서 사용하는 스토리지 계정을 컴퓨팅 인스턴스 및 클러스터에 사용하려는 동일한 Azure 지역에 배치하는 것이 좋습니다. 동일한 Azure 지역에 있지 않은 경우 데이터 전송 비용이 발생하고 네트워크 대기 시간이 늘어날 수 있습니다.
    • VNet에서 *.instances.azureml.net*.instances.azureml.ms에 대해 WebSocket 통신이 허용되는지 확인합니다. WebSocket은 컴퓨팅 인스턴스의 Jupyter에서 사용됩니다.
  • 가상 네트워크의 기존 서브넷. 이 서브넷은 컴퓨팅 인스턴스 및 클러스터를 만들 때 사용됩니다.

    • 서브넷이 다른 Azure 서비스에 위임되지 않았는지 확인합니다.
    • 서브넷에 사용 가능한 IP 주소가 충분한지 확인합니다. 각 컴퓨팅 인스턴스에는 하나의 IP 주소가 필요합니다. 컴퓨팅 클러스터 내의 각 노드에는 하나의 IP 주소가 필요합니다.
  • 자체 DNS 서버가 있는 경우 DNS 전달을 사용하여 컴퓨팅 인스턴스 및 클러스터의 FQDN(정규화된 도메인 이름)을 확인하는 것이 좋습니다. 자세한 내용은 Azure Machine Learning에서 사용자 지정 DNS 사용을 참조하세요.

  • 가상 네트워크 또는 서브넷에 리소스를 배포하려면 사용자 계정에는 Azure RBAC(Azure 역할 기반 액세스 제어)에서 다음 작업에 대한 사용 권한이 있어야 합니다.

    • 가상 네트워크 리소스의 "Microsoft.Network/*/read"입니다. ARM(Azure Resource Manager) 템플릿 배포에는 이 권한이 필요하지 않습니다.
    • 가상 네트워크 리소스에 대한 “Microsoft.Network/virtualNetworks/join/action”
    • 서브넷 리소스에 대한 "Microsoft.Network/virtualNetworks/subnets/join/action"

    네트워킹과 Azure RBAC에 관한 자세한 내용은 네트워킹 기본 제공 역할을 참조하세요.

제한 사항

Azure Machine Learning 컴퓨팅 클러스터/인스턴스

  • 컴퓨팅 클러스터는 작업 영역과 다른 지역 및 VNet에서 만들어질 수 있습니다. 그러나 이 기능은 SDK v2, CLI v2 또는 Studio를 통해서만 사용할 수 있습니다. 자세한 내용은 보안 학습 환경 v2 버전을 참조하세요.

  • 가상 네트워크의 컴퓨팅 클러스터/인스턴스 배포는 Azure Lighthouse에서 지원되지 않습니다.

  • 학습 중에 컴퓨팅 인스턴스와 기본 스토리지 계정 간의 프라이빗 네트워크 통신을 위해 포트 445가 열려 있어야 합니다. 예를 들어, 컴퓨팅이 한 VNet에 있고 스토리지 계정이 다른 VNet에 있는 경우 스토리지 계정 VNet에 대한 포트 445를 차단하지 마세요.

Azure Databricks

  • 가상 네트워크가 Azure Machine Learning 작업 영역과 동일한 구독 및 지역에 있어야 합니다.
  • 작업 영역의 Azure Storage 계정도 가상 네트워크에서 보호되는 경우, Azure Databricks 클러스터와 동일한 가상 네트워크에 있어야 합니다.
  • Azure Databricks에 사용되는 databricks-privatedatabricks-public 서브넷 외에 가상 네트워크에 대해 생성된 기본 서브넷도 필요합니다.
  • Azure Databricks는 가상 네트워크와 통신하는 데 프라이빗 엔드포인트를 사용하지 않습니다.

가상 네트워크에서 Azure Databricks를 사용하는 방법에 대한 자세한 내용은 Azure Virtual Network에서 Azure Databricks 배포를 참조하세요.

Azure HDInsight 또는 가상 머신

  • Azure Machine Learning은 Ubuntu를 실행하는 가상 머신만 지원합니다.

공용 IP가 없는 컴퓨팅 인스턴스/클러스터

Important

미리 보기에 옵트인하지 않고 공용 IP 없이 구성된 컴퓨팅 인스턴스 또는 컴퓨팅 클러스터를 사용하는 경우 2023년 1월 20일(기능이 일반 공급되는 시점) 이후에 삭제하고 다시 만들어야 합니다.

이전에 공용 IP가 없는 미리 보기를 사용했던 경우 일반 공급에 대한 요구 사항이 변경되었으므로 인바운드 및 아웃바운드를 허용하는 트래픽을 수정해야 할 수도 있습니다.

  • 아웃바운드 요구 사항 - 컴퓨팅 인스턴스 및 클러스터 관리에만 사용되는 두 개의 추가 아웃바운드입니다. 이러한 서비스 태그의 대상은 Microsoft에서 소유합니다.
    • UDP 포트 5831의 AzureMachineLearning 서비스 태그.
    • TCP 포트 443의 BatchNodeManagement 서비스 태그.

다음 구성은 필수 구성 요소 섹션에 나열된 구성 외에도 공용 IP 없이 구성된 컴퓨팅 인스턴스/클러스터를 만드는 것과 관련이 있습니다.

  • VNet에서 Azure Machine Learning Service와 통신하려면 컴퓨팅 리소스에 작업 영역 프라이빗 엔드포인트를 사용해야 합니다. 자세한 내용은 Azure Machine Learning 작업 영역에 대한 프라이빗 엔드포인트 구성을 참조하세요.

  • VNet에서 다음 서비스 태그 또는 FQDN(정규화된 도메인 이름)에 대한 아웃바운드 트래픽을 허용합니다.

    서비스 태그 프로토콜 포트 참고 사항
    AzureMachineLearning TCP
    UDP
    443/8787/18881
    5831
    Azure Machine Learning Service와의 통신.
    BatchNodeManagement.<region> ANY 443 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다. Azure Batch와의 통신. Azure Batch 서비스를 사용하여 컴퓨팅 인스턴스 및 컴퓨팅 클러스터가 구현됩니다.
    Storage.<region> TCP 443 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다. Azure Batch에서 사용하는 Azure Storage 계정과 통신하는 데 이 서비스 태그가 사용됩니다.

    Important

    Storage.<region>에 대한 아웃바운드 액세스는 잠재적으로 작업 영역에서 데이터를 유출하는 데 사용될 수 있습니다. 서비스 엔드포인트 정책을 사용하여 이 취약성을 완화할 수 있습니다. 자세한 내용은 Azure Machine Learning 데이터 반출 방지 문서를 참조하세요.

    FQDN 프로토콜 포트 주의
    <region>.tundra.azureml.ms UDP 5831 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다.
    graph.windows.net TCP 443 Microsoft Graph API와의 통신.
    *.instances.azureml.ms TCP 443/8787/18881 Azure Machine Learning과의 통신.
    *.<region>.batch.azure.com ANY 443 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다. Azure Batch와의 통신.
    *.<region>.service.batch.azure.com ANY 443 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다. Azure Batch와의 통신.
    *.blob.core.windows.net TCP 443 Azure Blob Storage와의 통신.
    *.queue.core.windows.net TCP 443 Azure Queue Storage와의 통신.
    *.table.core.windows.net TCP 443 Azure Table storage와의 통신.
  • 방화벽 및 아웃바운드 규칙 또는 NAT 게이트웨이 및 네트워크 서비스 그룹을 만들어 아웃바운드 트래픽을 허용합니다. 컴퓨팅에는 공용 IP 주소가 없으므로 이 구성이 없으면 공용 인터넷의 리소스와 통신할 수 없습니다. 예를 들어 Microsoft Entra ID 또는 Azure Resource Manager와 통신할 수 없습니다. 공용 원본에서 Python 패키지를 설치하려면 이 구성도 필요합니다.

    Azure Machine Learning에서 사용하는 아웃바운드 트래픽에 대한 자세한 내용은 다음 문서를 참조하세요.

다음 정보를 사용하여 공용 IP 주소가 없는 컴퓨팅 인스턴스 또는 클러스터를 만듭니다.

공용 IP가 없는 컴퓨팅 인스턴스 또는 컴퓨팅 클러스터를 만들려면 Azure Machine Learning 스튜디오 UI를 사용하여 리소스를 만듭니다.

  1. Azure Machine Learning 스튜디오에 로그인한 다음, 구독과 작업 영역을 선택합니다.

  2. 왼쪽 탐색 모음에서 컴퓨팅 페이지를 선택합니다.

  3. 컴퓨팅 인스턴스 또는 컴퓨팅 클러스터의 탐색 모음에서 + 새로 만들기를 선택합니다.

  4. 필요한 VM 크기 및 구성을 구성하고 다음을 선택합니다.

  5. 고급 설정에서 가상 네트워크 사용, 가상 네트워크 및 서브넷을 선택하고 마지막으로 VNet/서브넷 섹션에서 공용 IP 없음 옵션을 선택합니다.

    컴퓨팅 인스턴스 및 컴퓨팅 클러스터에 대한 공용 IP를 구성하지 않는 방법의 스크린샷.

Azure Machine Learning SDK v2 또는 ML v2용 Azure CLI 확장을 사용할 수도 있습니다. 공용 IP 없이 컴퓨팅 인스턴스 또는 클러스터를 만드는 방법에 대한 자세한 내용은 v2 버전의 Azure Machine Learning 교육 환경 보호 문서를 참조하세요.

공용 IP가 있는 컴퓨팅 인스턴스/클러스터

다음 구성은 필수 구성 요소 섹션에 나열된 구성 외에도 공용 IP가 있는 컴퓨팅 인스턴스/클러스터를 만드는 것과 관련이 있습니다.

  • 가상 네트워크 하나에 여러 컴퓨팅 인스턴스/클러스터를 배치하는 경우 리소스 하나 이상에 할당량 증가를 요청해야 할 수 있습니다. Machine Learning 컴퓨팅 인스턴스나 클러스터는 가상 네트워크를 포함하는 리소스 그룹에 네트워킹 리소스를 자동으로 할당합니다. 각 컴퓨팅 인스턴스 또는 클러스터에 대해 서비스는 다음 리소스를 할당합니다.

    • NSG(네트워크 보안 그룹)가 자동으로 생성됩니다. 이 NSG는 AzureMachineLearning 서비스 태그에서 포트 44224의 인바운드 TCP 트래픽을 허용합니다.

      Important

      컴퓨팅 인스턴스 및 컴퓨팅 클러스터는 필요한 규칙을 사용하여 NSG를 자동으로 만듭니다.

      서브넷 수준에 다른 NSG가 있는 경우 서브넷 수준 NSG의 규칙이 자동으로 생성된 NSG의 규칙과 충돌해서는 안 됩니다.

      NSG가 네트워크 트래픽을 필터링하는 방법을 알아보려면 네트워크 보안 그룹이 네트워크 트래픽을 필터링하는 방법을 참조하세요.

    • 부하 분산 장치 1개

    컴퓨팅 클러스터의 경우 이러한 리소스는 클러스터가 노드 0개로 스케일 다운될 때마다 삭제되어 스케일 업할 때 생성됩니다.

    컴퓨팅 인스턴스의 경우 이러한 리소스는 인스턴스가 삭제될 때까지 유지됩니다. 인스턴스를 중지해도 리소스는 제거되지 않습니다.

    Important

    이러한 리소스는 구독의 리소스 할당량으로 제한됩니다. 가상 네트워크 리소스 그룹이 잠겨 있으면 컴퓨팅 클러스터/인스턴스 삭제가 실패합니다. 컴퓨팅 클러스터/인스턴스를 삭제할 때까지 Load Balancer를 삭제할 수 없습니다. 또한 네트워크 보안 그룹 생성을 금지하는 Azure Policy 할당이 없는지 확인하세요.

  • VNet에서 AzureMachineLearning 서비스 태그의 포트 44224에서 인바운드 TCP 트래픽을 허용합니다.

    Important

    컴퓨팅 인스턴스/클러스터를 만들 때 IP 주소가 동적으로 할당됩니다. 주소는 만들기 전에 알 수 없으며 만들기 프로세스의 일부로 인바운드 액세스가 필요하므로 방화벽에 정적으로 할당할 수 없습니다. 대신 VNet에서 방화벽을 사용하는 경우 이 인바운드 트래픽을 허용하도록 사용자 정의 경로를 만들어야 합니다.

  • VNet에서 다음 서비스 태그에 대한 아웃바운드 트래픽을 허용합니다.

    서비스 태그 프로토콜 포트 참고 사항
    AzureMachineLearning TCP
    UDP
    443/8787/18881
    5831
    Azure Machine Learning Service와의 통신.
    BatchNodeManagement.<region> ANY 443 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다. Azure Batch와의 통신. Azure Batch 서비스를 사용하여 컴퓨팅 인스턴스 및 컴퓨팅 클러스터가 구현됩니다.
    Storage.<region> TCP 443 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다. Azure Batch에서 사용하는 Azure Storage 계정과 통신하는 데 이 서비스 태그가 사용됩니다.

    Important

    Storage.<region>에 대한 아웃바운드 액세스는 잠재적으로 작업 영역에서 데이터를 유출하는 데 사용될 수 있습니다. 서비스 엔드포인트 정책을 사용하여 이 취약성을 완화할 수 있습니다. 자세한 내용은 Azure Machine Learning 데이터 반출 방지 문서를 참조하세요.

    FQDN 프로토콜 포트 주의
    <region>.tundra.azureml.ms UDP 5831 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다.
    graph.windows.net TCP 443 Microsoft Graph API와의 통신.
    *.instances.azureml.ms TCP 443/8787/18881 Azure Machine Learning과의 통신.
    *.<region>.batch.azure.com ANY 443 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다. Azure Batch와의 통신.
    *.<region>.service.batch.azure.com ANY 443 <region>를 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다. Azure Batch와의 통신.
    *.blob.core.windows.net TCP 443 Azure Blob Storage와의 통신.
    *.queue.core.windows.net TCP 443 Azure Queue Storage와의 통신.
    *.table.core.windows.net TCP 443 Azure Table storage와의 통신.

적용 대상: Python SDK azureml v1

import datetime
import time

from azureml.core.compute import ComputeTarget, ComputeInstance
from azureml.core.compute_target import ComputeTargetException

# Choose a name for your instance
# Compute instance name should be unique across the azure region
compute_name = "ci{}".format(ws._workspace_id)[:10]

# Verify that instance does not exist already
try:
    instance = ComputeInstance(workspace=ws, name=compute_name)
    print('Found existing instance, use it.')
except ComputeTargetException:
    compute_config = ComputeInstance.provisioning_configuration(
        vm_size='STANDARD_D3_V2',
        ssh_public_access=False,
        vnet_resourcegroup_name='vnet_resourcegroup_name',
        vnet_name='vnet_name',
        subnet_name='subnet_name',
        # admin_user_ssh_public_key='<my-sshkey>'
    )
    instance = ComputeInstance.create(ws, compute_name, compute_config)
    instance.wait_for_completion(show_output=True)

생성 프로세스가 완료되면 모델을 학습시킵니다. 자세한 내용은 학습의 컴퓨팅 대상 선택 및 사용을 참조하세요.

Azure Databricks

  • 가상 네트워크가 Azure Machine Learning 작업 영역과 동일한 구독 및 지역에 있어야 합니다.
  • 작업 영역의 Azure Storage 계정도 가상 네트워크에서 보호되는 경우, Azure Databricks 클러스터와 동일한 가상 네트워크에 있어야 합니다.
  • Azure Databricks에 사용되는 databricks-privatedatabricks-public 서브넷 외에 가상 네트워크에 대해 생성된 기본 서브넷도 필요합니다.
  • Azure Databricks는 가상 네트워크와 통신하는 데 프라이빗 엔드포인트를 사용하지 않습니다.

가상 네트워크에서 Azure Databricks를 사용하는 방법에 대한 자세한 내용은 Azure Virtual Network에서 Azure Databricks 배포를 참조하세요.

모델 학습에 필요한 공용 인터넷 액세스

Important

이 문서의 이전 섹션에서는 컴퓨팅 리소스를 만드는 데 필요한 구성에 대해 설명했지만 이 섹션의 구성 정보는 이러한 리소스를 사용하여 모델을 학습하는 데 필요합니다.

Azure Machine Learning을 사용하려면 공용 인터넷에 대한 인바운드 및 아웃바운드 액세스가 모두 필요합니다. 다음 표에서는 필요한 액세스 및 용도에 대한 개요를 제공합니다. .region으로 끝나는 서비스 태그의 경우 region을 작업 영역이 포함된 Azure 지역으로 바꿉니다. 예: Storage.westus

필수 탭에는 필요한 인바운드 및 아웃바운드 구성이 나열됩니다. 상황 탭에는 사용하도록 설정할 수 있는 특정 구성에 필요한 선택적 인바운드 및 아웃바운드 구성이 나열됩니다.

Direction 프로토콜 및
고서
서비스 태그 목적
아웃바운드 TCP: 80, 443 AzureActiveDirectory Microsoft Entra ID를 사용하여 인증
아웃바운드 TCP: 443, 18881
UDP: 5831
AzureMachineLearning Azure Machine Learning Services 사용하기.
Notebook의 Python intellisense는 포트 18881을 사용합니다.
Azure Machine Learning 컴퓨팅 인스턴스 만들기, 업데이트 및 삭제에는 포트 5831이 사용됩니다.
아웃바운드 ANY: 443 BatchNodeManagement.region Azure Machine Learning 컴퓨팅 인스턴스/클러스터에 대한 Azure Batch 백 엔드와의 통신.
아웃바운드 TCP: 443 AzureResourceManager Azure Machine Learning, Azure CLI 및 Azure Machine Learning SDK를 사용하는 Azure 리소스 만들기.
아웃바운드 TCP: 443 Storage.region 컴퓨팅 클러스터 및 컴퓨팅 인스턴스에 대한 Azure Storage 계정에 저장된 데이터에 액세스합니다. 이 아웃바운드에 대한 데이터 반출을 방지하는 방법에 대한 내용은 데이터 반출 보호를 참조하세요.
아웃바운드 TCP: 443 AzureFrontDoor.FrontEnd
* 21Vianet에서 운영하는 Microsoft Azure에는 필요하지 않습니다.
Azure Machine Learning 스튜디오 전역 진입 포인트. AutoML에 대한 이미지 및 환경을 저장합니다. 이 아웃바운드에 대한 데이터 반출을 방지하는 방법에 대한 내용은 데이터 반출 보호를 참조하세요.
아웃바운드 TCP: 443 MicrosoftContainerRegistry.region
참고: 이 태그는 AzureFrontDoor.FirstParty 태그에 종속됩니다.
Microsoft가 제공하는 Docker 이미지에 액세스하세요. Azure Kubernetes Service용 Azure Machine Learning 라우터 설치입니다.

서비스 태그 대신 IP 주소가 필요한 경우 다음 옵션 중 하나를 사용합니다.

IP 주소는 주기적으로 변경될 수 있습니다.

기계 학습 프로젝트에 필요한 패키지를 설치하기 위해 Visual Studio Code 및 타사 사이트에 대한 아웃바운드 트래픽을 허용해야 할 수도 있습니다. 다음 표에서는 기계 학습에 일반적으로 사용되는 리포지토리를 나열합니다.

호스트 이름 목적
anaconda.com
*.anaconda.com
기본 패키지를 설치하는 데 사용됩니다.
*.anaconda.org 리포지토리 데이터를 가져오는 데 사용됩니다.
pypi.org 기본 인덱스에서 종속성을 나열하는 데 사용되며 (있는 경우) 사용자 설정에서 인덱스를 덮어쓰지 않습니다. 인덱스를 덮어쓰는 경우 *.pythonhosted.org도 허용해야 합니다.
cloud.r-project.org R 개발용 CRAN 패키지를 설치할 때 사용됩니다.
*.pytorch.org PyTorch를 기반으로 하는 일부 예제에서 사용됩니다.
*.tensorflow.org Tensorflow를 기반으로 하는 일부 예제에서 사용됩니다.
code.visualstudio.com Visual Studio Code 데스크톱을 다운로드하고 설치하는 데 필요합니다. Visual Studio Code 웹에는 필요하지 않습니다.
update.code.visualstudio.com
*.vo.msecnd.net
설정 스크립트를 통해 컴퓨팅 인스턴스에 설치된 Visual Studio Code 서버 비트를 검색하는 데 사용됩니다.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
Visual Studio Code 확장을 다운로드하고 설치하는 데 필요합니다. 이러한 호스트는 Visual Studio Code용 Azure ML 확장에서 제공하는 컴퓨팅 인스턴스에 대한 원격 연결을 사용하도록 설정합니다. 자세한 내용은 Visual Studio Code에서 Azure Machine Learning 컴퓨팅 인스턴스에 연결을 참조하세요.
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* 컴퓨팅 인스턴스에 설치된 websocket 서버 비트를 검색하는 데 사용됩니다. WebSocket 서버는 Visual Studio Code 클라이언트(데스크톱 애플리케이션)의 요청을 컴퓨팅 인스턴스에서 실행 중인 Visual Studio Code 서버로 전송하는 데 사용됩니다.

참고 항목

Azure Machine Learning VS Code 확장을 사용하는 경우 원격 컴퓨팅 인스턴스는 확장에 필요한 패키지를 설치하기 위해 퍼블릭 리포지토리에 대한 액세스 권한이 필요합니다. 컴퓨팅 인스턴스에서 이러한 퍼블릭 리포지토리 또는 인터넷에 액세스하기 위해 프록시가 필요한 경우 컴퓨팅 인스턴스의 ~/.bashrc 파일에서 HTTP_PROXYHTTPS_PROXY 환경 변수를 설정하고 내보내야 합니다. 이 프로세스는 사용자 지정 스크립트를 사용하여 프로비전 시 자동화할 수 있습니다.

Azure Machine Learning에서 AKS(Azure Kubernetes Service)를 사용하는 경우 AKS VNet에 대한 다음 트래픽을 허용합니다.

방화벽 솔루션을 사용하는 방법에 대한 자세한 내용은 Azure Machine Learning에서 방화벽 사용을 참조하세요.

다음 단계

이 문서는 Azure Machine Learning 워크플로 보안에 대한 시리즈의 일부입니다. 이 시리즈의 다른 문서를 참조하세요.