인바운드 및 아웃바운드 네트워크 트래픽 구성

Azure Machine Learning에는 공용 인터넷의 서버 및 서비스에 대한 액세스 권한이 필요합니다. 네트워크 격리를 구현할 때 필요한 액세스 권한과 이를 사용하도록 설정하는 방법을 이해해야 합니다.

참고 항목

이 문서의 정보는 Azure Virtual Network를 사용하도록 구성된 Azure Machine Learning 작업 영역에 적용됩니다. 관리되는 가상 네트워크를 사용하면 작업 영역에 필요한 인바운드 및 아웃바운드 구성이 자동으로 적용됩니다. 자세한 내용은 Azure Machine Learning 관리되는 가상 네트워크를 참조하세요.

공통 용어 및 정보

이 문서 전체에서 다음 용어 및 정보가 사용됩니다.

  • Azure 서비스 태그: 서비스 태그는 Azure 서비스에서 사용하는 IP 범위를 지정하는 쉬운 방법입니다. 예를 들어, AzureMachineLearning 태그는 Azure Machine Learning Services에서 사용하는 IP 주소를 나타냅니다.

    Important

    Azure 서비스 태그는 일부 Azure 서비스에서만 지원됩니다. 네트워크 보안 그룹 및 Azure Firewall에서 지원되는 서비스 태그 목록은 가상 네트워크 서비스 태그 문서를 참조하세요.

    타사 방화벽과 같은 비 Azure 솔루션을 사용하는 경우 Azure IP 범위 및 서비스 태그 목록을 다운로드합니다. 파일을 추출하고 파일 내에서 서비스 태그를 검색합니다. IP 주소는 주기적으로 변경될 수 있습니다.

  • 지역: 일부 서비스 태그를 사용하면 Azure 지역을 지정할 수 있습니다. 이렇게 하면 일반적으로 서비스가 있는 특정 지역의 서비스 IP 주소에 대한 액세스가 제한됩니다. 이 문서에서 <region>이 표시되면 대신 Azure 지역을 대체합니다. 예를 들어, Azure Machine Learning 작업 영역이 미국 서부 지역에 있는 경우 BatchNodeManagement.<region>BatchNodeManagement.uswest입니다.

  • Azure Batch: Azure Machine Learning 컴퓨팅 클러스터 및 컴퓨팅 인스턴스는 백 엔드 Azure Batch 인스턴스에 의존합니다. 이 백 엔드 서비스는 Microsoft 구독에서 호스트됩니다.

  • 포트: 이 문서에서는 다음 포트를 사용합니다. 포트 범위가 이 표에 나열되지 않은 경우 서비스에 따라 다르며 용도에 대한 게시된 정보가 없을 수 있습니다.

    포트 설명
    80 보안되지 않은 웹 트래픽(HTTP)
    443 보안 웹 트래픽(HTTPS)
    445 Azure File 스토리지에서 파일 공유에 액세스하는 데 사용되는 SMB 트래픽
    8787 컴퓨팅 인스턴스에서 RStudio에 연결할 때 사용됨
    18881 언어 서버에 연결하여 컴퓨팅 인스턴스의 Notebook에 IntelliSense를 사용하도록 설정하는 데 사용됩니다.
  • 프로토콜: 달리 명시되지 않는 한 이 문서에 언급된 모든 네트워크 트래픽은 TCP를 사용합니다.

기본 구성

이 구성은 다음과 같이 가정합니다.

  • 사용자가 제공하는 컨테이너 레지스트리에서 제공하는 Docker 이미지를 사용 중이며 Microsoft에서 제공하는 이미지는 사용하지 않습니다.
  • 프라이빗 Python 패키지 리포지토리를 사용 중이며 pypi.org, *.anaconda.com 또는 *.anaconda.org와 같은 공용 패키지 리포지토리에 액세스하지 않습니다.
  • 프라이빗 엔드포인트는 VNet 내에서 서로 직접 통신할 수 있습니다. 예를 들어, 전체 서비스에는 동일한 VNet에 프라이빗 엔드포인트가 있습니다.
    • Azure Machine Learning 작업 영역
    • Azure Storage 계정(BLOB, 파일, 테이블, 큐)

인바운드 트래픽

원본 원본
고서
대상 대상포트 목적
AzureMachineLearning 모두 VirtualNetwork 44224 컴퓨팅 인스턴스/클러스터에 대한 인바운드. 인스턴스/클러스터가 공용 IP 주소를 사용하도록 구성된 경우에만 필요합니다.

NSG(네트워크 보안 그룹)는 기본적으로 이 트래픽에 대해 만들어집니다. 자세한 내용은 기본 보안 규칙을 참조하세요.

아웃바운드 트래픽

서비스 태그(들) Ports 목적
AzureActiveDirectory 80, 443 Microsoft Entra ID를 사용하여 인증
AzureMachineLearning 443, 8787, 18881
UDP: 5831
Azure Machine Learning Services 사용하기.
BatchNodeManagement.<region> 443 통신 Azure Batch.
AzureResourceManager 443 Azure Machine Learning으로 Azure 리소스 만들기
Storage.<region> 443 컴퓨팅 클러스터 및 컴퓨팅 인스턴스에 대한 Azure Storage 계정에 저장된 데이터에 액세스합니다. 이 아웃바운드는 데이터를 추출하는 데 사용할 수 있습니다. 자세한 내용은 데이터 반출 방지를 참조하세요.
AzureFrontDoor.FrontEnd
* 21Vianet에서 운영하는 Microsoft Azure에는 필요하지 않습니다.
443 Azure Machine Learning 스튜디오 전역 진입 포인트. AutoML에 대한 이미지 및 환경을 저장합니다.
MicrosoftContainerRegistry.<region> 443 Microsoft가 제공하는 Docker 이미지에 액세스하세요.
Frontdoor.FirstParty 443 Microsoft가 제공하는 Docker 이미지에 액세스하세요.
AzureMonitor 443 Azure Monitor에 모니터링 및 메트릭을 기록하는 데 사용됨. 작업 영역에 대해 보안 Azure Monitor가 없는 경우에만 필요합니다.
* 이 아웃바운드는 지원 인시던트에 대한 정보를 로그하는 데에도 사용됩니다.

Important

공용 IP 없이 컴퓨팅 인스턴스 또는 컴퓨팅 클러스터가 구성된 경우 기본적으로 인터넷에 액세스할 수 없습니다. 여전히 아웃바운드 트래픽을 인터넷으로 전송할 수 있는 경우 이는 Azure 기본 아웃바운드 액세스 때문이고 인터넷으로의 아웃바운드를 허용하는 NSG가 있는 것입니다. 기본 아웃바운드 액세스를 사용하는 것을 권장하지 않습니다. 인터넷에 대한 아웃바운드 액세스가 필요한 경우 기본 아웃바운드 액세스 대신 다음 옵션 중 하나를 사용하는 것이 좋습니다.

  • 공용 IP를 사용하는 Azure Virtual Network NAT: Virtual Network Nat 사용에 대한 자세한 내용은 Virtual Network NAT 설명서를 참조하세요.
  • 사용자 정의 경로 및 방화벽: 컴퓨팅이 포함된 서브넷에 사용자 정의 경로를 만듭니다. 경로의 다음 홉은 주소 접두사 0.0.0.0/0과 함께 방화벽의 개인 IP 주소를 참조해야 합니다.

자세한 내용은 Azure의 기본 아웃바운드 액세스 문서를 참조하세요.

아웃바운드 트래픽

서비스 태그(들) Ports 목적
MicrosoftContainerRegistry.<region>AzureFrontDoor.FirstParty 443 Microsoft가 학습 및 유추를 위해 제공하는 Docker 이미지를 사용할 수 있습니다. 또한 Azure Kubernetes Service용 Azure Machine Learning 라우터를 설정합니다.

학습 및 배포를 위한 Python 패키지 설치를 허용하려면 다음 호스트 이름에 대한 아웃바운드 트래픽을 허용합니다.

참고 항목

인터넷의 모든 Python 리소스에 필요한 호스트의 전체 목록이 아니라 가장 일반적으로 사용됩니다. 예를 들어 GitHub 리포지토리 또는 다른 호스트에 대한 액세스 권한이 필요한 경우 해당 시나리오에 필요한 호스트를 식별하고 추가해야 합니다.

호스트 이름 용도
anaconda.com
*.anaconda.com
기본 패키지를 설치하는 데 사용됩니다.
*.anaconda.org 리포지토리 데이터를 가져오는 데 사용됩니다.
pypi.org 기본 인덱스에서 종속성을 나열하는 데 사용되며 (있는 경우) 사용자 설정에서 인덱스를 덮어쓰지 않습니다. 인덱스를 덮어쓰는 경우 *.pythonhosted.org도 허용해야 합니다.
pytorch.org
*.pytorch.org
PyTorch를 기반으로 하는 일부 예제에서 사용됩니다.
*.tensorflow.org Tensorflow를 기반으로 하는 일부 예제에서 사용됩니다.

시나리오: 컴퓨팅 인스턴스에 RStudio 설치

컴퓨팅 인스턴스에 RStudio를 설치하려면 방화벽에서 Docker 이미지를 가져올 사이트에 대한 아웃바운드 액세스를 허용해야 합니다. Azure Firewall 정책에 다음 애플리케이션 규칙을 추가합니다.

  • 이름: AllowRStudioInstall
  • 원본 유형: IP 주소
  • 원본 IP 주소: 컴퓨팅 인스턴스를 만들 서브넷의 IP 주소 범위입니다. 예: 172.16.0.0/24.
  • 대상 유형: FQDN
  • 대상 FQDN: ghcr.io, pkg-containers.githubusercontent.com
  • 프로토콜: Https:443

R 패키지 설치를 허용하려면 cloud.r-project.org에 대한 아웃바운드 트래픽을 허용합니다. 이 호스트는 CRAN 패키지를 설치하는 데 사용됩니다.

참고 항목

GitHub 리포지토리 또는 다른 호스트에 대한 액세스 권한이 필요한 경우 해당 시나리오에 필요한 호스트를 식별하고 추가해야 합니다.

시나리오: 공용 IP로 컴퓨팅 클러스터 또는 컴퓨팅 인스턴스 사용

Important

공용 IP가 없는 컴퓨팅 인스턴스 또는 컴퓨팅 클러스터에는 Azure Batch 관리 및 Azure Machine Learning Services의 인바운드 트래픽이 필요하지 않습니다. 그러나 여러 컴퓨팅이 있고 그 중 일부는 공용 IP 주소를 사용하는 경우 이 트래픽을 허용해야 합니다.

Azure Machine Learning 컴퓨팅 인스턴스 또는 컴퓨팅 클러스터(공용 IP 주소 포함)를 사용하는 경우 Azure Machine Learning Services에서 인바운드 트래픽을 허용합니다. 공용 IP가 없는 컴퓨팅 인스턴스 또는 컴퓨팅 클러스터(미리 보기)에는 이 인바운드 통신이 필요하지 않습니다. 이 트래픽을 허용하는 네트워크 보안 그룹은 동적으로 만들어지지만 방화벽이 있는 경우 사용자 정의 경로(UDR)도 만들어야 할 수 있습니다. 이 트래픽에 대한 UDR을 만들 때 IP 주소 또는 서비스 태그를 사용하여 트래픽을 라우팅할 수 있습니다.

Azure Machine Learning Service의 경우 보조 지역 모두의 IP 주소를 추가해야 합니다. 보조 지역을 찾으려면 Azure의 지역 간 복제를 참조하세요. 예를 들어 Azure Machine Learning Service가 미국 동부 2에 있는 경우 보조 지역은 미국 중부입니다.

Azure Machine Learning Services의 IP 주소 목록을 가져오려면 Azure IP 범위 및 서비스 태그를 다운로드하고 AzureMachineLearning.<region>에 대한 파일을 검색합니다. 여기서 <region>은 Azure 지역입니다.

Important

IP 주소는 시간이 지남에 따라 변경될 수 있습니다.

UDR을 만들 때 다음 홉 유형인터넷으로 설정합니다. 즉, Azure의 인바운드 통신은 방화벽을 건너뛰어 컴퓨팅 인스턴스 및 컴퓨팅 클러스터의 공용 IP를 사용하여 부하 분산 장치에 액세스합니다. 컴퓨팅 인스턴스 및 컴퓨팅 클러스터는 생성 시 임의의 공용 IP를 얻게 되므로 UDR이 필요하며, Azure에서 컴퓨팅 인스턴스 및 컴퓨팅 클러스터에 대한 특정 IP로의 인바운드를 허용하도록 방화벽에 등록하기 전에 공용 IP를 알 수 없습니다. 다음 이미지는 Azure Portal의 IP 주소 기반 UDR 예제를 보여줍니다.

Image of a user-defined route configuration

UDR을 구성하는 방법에 대한 자세한 내용은 라우팅 테이블을 사용하여 네트워크 트래픽 라우팅을 참조하세요.

시나리오: Azure Machine Learning과 Azure Storage 엔드포인트 간의 방화벽

또한 포트 445에서 Storage.<region>에 대한 아웃바운드 액세스를 허용해야 합니다.

시나리오: hbi_workspace 플래그가 사용하도록 설정된 상태로 만들어진 작업 영역

또한 Keyvault.<region>에 대한 아웃바운드 액세스를 허용해야 합니다. 이 아웃바운드 트래픽은 백 엔드 Azure Batch 서비스의 키 자격 증명 모음 인스턴스에 액세스하는 데 사용됩니다.

hbi_workspace 플래그에 대한 자세한 내용은 데이터 암호화 문서를 참조하세요.

시나리오: Kubernetes 컴퓨팅 사용

아웃바운드 프록시 서버 또는 방화벽 뒤에서 실행되는 Kubernetes 클러스터에는 추가 송신 네트워크 구성이 필요합니다.

위 요구 사항 외에 다음 아웃바운드 URL도 Azure Machine Learning에 필요합니다.

아웃바운드 엔드포인트 포트 설명 학습 유추
*.kusto.windows.net
*.table.core.windows.net
*.queue.core.windows.net
443 Kusto에 시스템 로그를 업로드하는 데 필요함
<your ACR name>.azurecr.io
<your ACR name>.<region>.data.azurecr.io
443 기계 학습 워크로드에 사용되는 Docker 이미지를 끌어오는 데 필요한 Azure 컨테이너 레지스트리입니다.
<your storage account name>.blob.core.windows.net 443 Azure Blob Storage는 기계 학습 프로젝트 스크립트, 데이터 또는 모델을 가져오고 작업 로그/출력을 업로드하는 데 필요합니다.
<your workspace ID>.workspace.<region>.api.azureml.ms
<region>.experiments.azureml.net
<region>.api.azureml.ms
443 Azure Machine Learning Service API
pypi.org 443 학습 작업 환경 초기화에 사용되는 pip 패키지를 설치하기 위한 Python 패키지 인덱스입니다. 해당 없음
archive.ubuntu.com
security.ubuntu.com
ppa.launchpad.net
80 필요한 보안 패치를 다운로드하는 데 필요합니다. 해당 없음

참고 항목

  • <your workspace workspace ID>를 작업 영역 ID로 바꿉니다. ID는 Azure Portal - Machine Learning 리소스 페이지 - 속성 - 작업 영역 ID에서 찾을 수 있습니다.
  • <your storage account>을 스토리지 계정 이름으로 바꿉니다.
  • <your ACR name>을 작업 영역의 Azure Container Registry 이름으로 바꿉니다.
  • <region>을 작업 영역의 지역으로 바꿉니다.

클러스터 내 통신 요구 사항

Kubernetes 컴퓨팅에 Azure Machine Learning 확장을 설치하기 위해 모든 Azure Machine Learning 관련 구성 요소가 azureml 네임스페이스에 배포됩니다. ML 워크로드가 AKS 클러스터에서 제대로 작동하도록 하려면 다음과 같은 클러스터 내 통신이 필요합니다.

  • azureml 네임스페이스의 구성 요소는 Kubernetes API 서버와 통신할 수 있어야 합니다.
  • azureml 네임스페이스의 구성 요소는 서로 통신할 수 있어야 합니다.
  • azureml 네임스페이스의 구성 요소는 kube-system 네임스페이스의 kube-dnskonnectivity-agent와 통신할 수 있어야 합니다.
  • 클러스터가 실시간 유추에 사용되는 경우 azureml-fe-xxx POD는 다른 네임스페이스의 5001 포트에 배포된 모델 POD와 통신할 수 있어야 합니다. azureml-fe-xxx POD는 내부 통신을 위해 11001, 12001, 12101, 12201, 20000, 8000, 8001, 9001 포트를 열어야 합니다.
  • 클러스터가 실시간 유추에 사용되는 경우 배포된 모델 POD는 9999 포트의 amlarc-identity-proxy-xxx POD와 통신할 수 있어야 합니다.

시나리오: Visual Studio Code

이 섹션의 호스트는 Visual Studio Code 패키지를 설치하여 Visual Studio Code와 Azure Machine Learning 작업 영역의 컴퓨팅 인스턴스 간의 원격 연결을 설정하는 데 사용됩니다.

참고 항목

인터넷의 모든 Visual Studio Code 리소스에 필요한 호스트의 전체 목록이 아니라 가장 일반적으로 사용됩니다. 예를 들어 GitHub 리포지토리 또는 다른 호스트에 대한 액세스 권한이 필요한 경우 해당 시나리오에 필요한 호스트를 식별하고 추가해야 합니다. 호스트 이름의 전체 목록은 Visual Studio Code의 네트워크 연결을 참조하세요.

호스트 이름 용도
*.vscode.dev
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
vscode.dev(웹용 Visual Studio Code)에 액세스하는 데 필요
code.visualstudio.com VS Code 데스크톱을 다운로드하고 설치하는 데 필요합니다. 이 호스트는 VS Code Web에 필요하지 않습니다.
update.code.visualstudio.com
*.vo.msecnd.net
설정 스크립트를 통해 컴퓨팅 인스턴스에 설치된 VS Code 서버 비트를 검색하는 데 사용됩니다.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
VS Code 확장을 다운로드하고 설치하는 데 필요합니다. 이러한 호스트는 VS Code용 Azure Machine Learning 확장을 사용하여 컴퓨팅 인스턴스에 대한 원격 연결을 가능하게 합니다. 자세한 내용은 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 서버로 전송하는 데 사용됩니다.
vscode.download.prss.microsoft.com Visual Studio Code 다운로드 CDN에 사용됩니다.

시나리오: 서비스 태그가 없는 타사 방화벽 또는 Azure Firewall

각 방화벽에는 고유한 용어 및 특정 구성이 있으므로 이 섹션의 지침은 일반적입니다. 질문이 있는 경우 사용 중인 방화벽에 대한 설명서를 확인합니다.

Azure Firewall을 사용 중이고 서비스 태그를 사용하는 대신 이 섹션에 나열된 FQDN을 사용하려면 다음 지침을 따릅니다.

  • HTTP/S 포트(80 및 443)를 사용하는 FQDN은 애플리케이션 규칙으로 구성되어야 합니다.
  • 다른 포트를 사용하는 FQDN은 네트워크 규칙으로 구성되어야 합니다.

자세한 내용은 애플리케이션 규칙과 네트워크 규칙의 차이점을 참조하세요.

올바르게 구성되지 않은 경우 방화벽에서 작업 영역 사용에 문제를 일으킬 수 있습니다. Azure Machine Learning 작업 영역에서 사용되는 다양한 호스트 이름이 있습니다. 다음 섹션에서는 Azure Machine Learning에 필요한 호스트를 나열합니다.

종속성 API

Azure Machine Learning REST API를 사용하여 아웃바운드 트래픽을 허용해야 하는 호스트 및 포트의 목록을 가져올 수도 있습니다. 이 API를 사용하려면 다음 단계를 사용합니다.

  1. 인증 토큰을 가져옵니다. 다음 명령은 Azure CLI를 사용하여 인증 토큰 및 구독 ID를 가져오는 방법을 보여 줍니다.

    TOKEN=$(az account get-access-token --query accessToken -o tsv)
    SUBSCRIPTION=$(az account show --query id -o tsv)
    
  2. API를 호출합니다. 다음 명령에서 다음 값을 바꿉니다.

    • <region>을 작업 영역이 있는 Azure 지역으로 바꿉니다. 예: westus2.
    • <resource-group>을 작업 영역이 포함된 리소스 그룹으로 바꿉니다.
    • <workspace-name>을 작업 영역 이름으로 바꿉니다.
    az rest --method GET \
        --url "https://<region>.api.azureml.ms/rp/workspaces/subscriptions/$SUBSCRIPTION/resourceGroups/<resource-group>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>/outboundNetworkDependenciesEndpoints?api-version=2018-03-01-preview" \
        --header Authorization="Bearer $TOKEN"
    

API 호출의 결과는 JSON 문서입니다. 다음 코드 조각은 이 문서에서 발췌한 것입니다.

{
  "value": [
    {
      "properties": {
        "category": "Azure Active Directory",
        "endpoints": [
          {
            "domainName": "login.microsoftonline.com",
            "endpointDetails": [
              {
                "port": 80
              },
              {
                "port": 443
              }
            ]
          }
        ]
      }
    },
    {
      "properties": {
        "category": "Azure portal",
        "endpoints": [
          {
            "domainName": "management.azure.com",
            "endpointDetails": [
              {
                "port": 443
              }
            ]
          }
        ]
      }
    },
...

Microsoft 호스트

다음 표의 호스트는 Microsoft에서 소유하며 작업 영역의 적절한 기능에 필요한 서비스를 제공합니다. 표에는 Azure Public, Azure Government 및 21Vianet에서 운영하는 Microsoft Azure 지역에 대한 호스트가 나열되어 있습니다.

Important

Azure Machine Learning은 구독 및 Microsoft에서 관리하는 구독에서 Azure Storage 계정을 사용합니다. 해당하는 경우 이 섹션에서 이러한 용어를 구분하기 위해 다음 용어를 사용합니다.

  • 스토리지: 모델, 학습 데이터, 학습 로그 및 Python 스크립트와 같은 데이터 및 아티팩트를 저장하는 데 사용되는 구독의 Azure Storage 계정입니다.>
  • Microsoft 스토리지: Azure Machine Learning 컴퓨팅 인스턴스 및 컴퓨팅 클러스터에서 Azure Batch를 사용하며 Microsoft 구독에 있는 스토리지에 액세스해야 합니다. 이 스토리지는 컴퓨팅 인스턴스를 관리하는 데만 사용됩니다. 데이터는 여기에 저장되지 않습니다.

일반 Azure 호스트

다음에 필요 호스트 프로토콜 Ports
Microsoft Entra ID login.microsoftonline.com TCP 80, 443
Azure Portal management.azure.com TCP 443
Azure Resource Manager management.azure.com TCP 443

Azure Machine Learning 호스트

Important

다음 표에서 <storage>를 Azure Machine Learning 작업 영역의 기본 스토리지 계정 이름으로 바꿉니다. <region>을 작업 영역의 지역으로 바꿉니다.

다음에 필요 호스트 프로토콜 Ports
Azure Machine Learning Studio ml.azure.com TCP 443
API *.azureml.ms TCP 443
API *.azureml.net TCP 443
모델 관리 *.modelmanagement.azureml.net TCP 443
통합 Notebook *.notebooks.azure.net TCP 443
통합 Notebook <storage>.file.core.windows.net TCP 443, 445
통합 Notebook <storage>.dfs.core.windows.net TCP 443
통합 Notebook <storage>.blob.core.windows.net TCP 443
통합 Notebook graph.microsoft.com TCP 443
통합 Notebook *.aznbcontent.net TCP 443
AutoML NLP, Vision automlresources-prod.azureedge.net TCP 443
AutoML NLP, Vision aka.ms TCP 443

참고 항목

AutoML NLP, Vision은 현재 Azure 퍼블릭 지역에서만 지원됩니다.

Azure Machine Learning 컴퓨팅 인스턴스 및 컴퓨팅 클러스터 호스트

  • Azure Key Vault에 대한 호스트는 hbi_workspace 플래그가 사용하도록 설정된 작업 영역이 만들어진 경우에만 필요합니다.
  • 컴퓨팅 인스턴스에 대한 8787 및 18881 포트는 Azure Machine 작업 영역에 프라이빗 엔드포인트가 있는 경우에만 필요합니다.
  • 다음 표에서 <storage>를 Azure Machine Learning 작업 영역의 기본 스토리지 계정 이름으로 바꿉니다.
  • 다음 표에서 <region>을 Azure Machine Learning 작업 영역이 포함된 Azure 지역으로 바꿉니다.
  • Websocket 통신은 컴퓨팅 인스턴스에 허용되어야 합니다. Websocket 트래픽을 차단하는 경우 Jupyter Notebook이 제대로 작동하지 않습니다.
다음에 필요 호스트 프로토콜 Ports
컴퓨팅 클러스터/인스턴스 graph.windows.net TCP 443
컴퓨팅 인스턴스 *.instances.azureml.net TCP 443
컴퓨팅 인스턴스 *.instances.azureml.ms TCP 443, 8787, 18881
컴퓨팅 인스턴스 <region>.tundra.azureml.ms UDP 5831
컴퓨팅 인스턴스 *.<region>.batch.azure.com ANY 443
컴퓨팅 인스턴스 *.<region>.service.batch.azure.com ANY 443
Microsoft 스토리지 액세스 *.blob.core.windows.net TCP 443
Microsoft 스토리지 액세스 *.table.core.windows.net TCP 443
Microsoft 스토리지 액세스 *.queue.core.windows.net TCP 443
스토리지 계정 <storage>.file.core.windows.net TCP 443, 445
스토리지 계정 <storage>.blob.core.windows.net TCP 443
Azure Key Vault *.vault.azure.net TCP 443

Azure Machine Learning에서 유지 관리하는 Docker 이미지

다음에 필요 호스트 프로토콜 Ports
Microsoft Container Registry mcr.microsoft.com
*.data.mcr.microsoft.com
TCP 443

  • 모든 사용자 지정 Docker 이미지에는 Azure Container Registry가 필요합니다. 여기에는 Microsoft에서 제공하는 기본 이미지에 대한 약간의 수정(예: 추가 패키지)이 포함됩니다. Azure Machine Learning의 내부 학습 작업 제출 프로세스에도 필요합니다.
  • Microsoft Container RegistryMicrosoft에서 제공하는 기본 Docker 이미지를 사용하고 사용자 관리 종속성을 사용하도록 설정하려는 경우에만 필요합니다.
  • 페더레이션된 ID를 사용하려는 경우 Active Directory Federation Services 보안 설정에 대한 모범 사례 문서를 따르세요.

또한 공용 IP로 컴퓨팅 섹션의 정보를 사용하여 BatchNodeManagementAzureMachineLearning에 대한 IP 주소를 추가합니다.

AKS에 배포된 모델에 대한 액세스 제한에 대한 자세한 내용은 Azure Kubernetes Service에서 송신 트래픽 제한을 참조하세요.

모니터링, 메트릭 및 진단

작업 영역에 대해 보안 Azure Monitor가 없는 경우 다음 호스트에 대한 아웃바운드 트래픽을 허용해야 합니다.

작업 영역에 대해 보안 Azure Monitor가 없는 경우 다음 호스트에 대한 아웃바운드 트래픽을 허용해야 합니다.

참고 항목

이러한 호스트에 기록된 정보는 작업 영역에서 발생하는 문제를 진단할 수 있도록 Microsoft 지원에서도 사용합니다.

  • dc.applicationinsights.azure.com
  • dc.applicationinsights.microsoft.com
  • dc.services.visualstudio.com
  • *.in.applicationinsights.azure.com

이러한 호스트의 IP 주소 목록은 Azure Monitor에서 사용하는 IP 주소를 참조하세요.

다음 단계

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

Azure Firewall 구성에 대한 자세한 내용은 자습서: Azure Portal을 사용하여 Azure Firewall 배포 및 구성을 참조하세요.