다음을 통해 공유


네트워크 격리 계획

이 문서에서는 Azure Machine Learning 및 권장 사항에 대한 네트워크 격리를 계획하는 방법을 알아봅니다. 이 문서는 네트워크 아키텍처를 설계하려는 IT 관리자를 위한 것입니다.

관리형 가상 네트워크를 사용하면 네트워크 격리를 더 쉽게 구성할 수 있습니다. 관리되는 가상 네트워크에서 작업 영역과 관리 컴퓨팅 리소스를 자동으로 보호합니다. Azure Storage 계정과 같이 작업 영역이 의존하는 다른 Azure 서비스에 대한 프라이빗 엔드포인트 연결을 추가할 수 있습니다. 필요에 따라 공용 네트워크에 대한 모든 아웃바운드 트래픽을 허용하거나 승인한 아웃바운드 트래픽만 허용할 수 있습니다. Azure Machine Learning Service에 필요한 아웃바운드 트래픽은 관리되는 가상 네트워크에 대해 자동으로 사용하도록 설정됩니다. 기본 제공 마찰이 적은 네트워크 격리 방법에는 작업 영역 관리형 네트워크 격리를 사용하는 것이 좋습니다. 인터넷 아웃바운드 모드를 허용하거나 승인된 아웃바운드 모드만 허용하는 두 가지 패턴이 있습니다.

인터넷 아웃바운드 모드 허용

기계 학습 엔지니어가 인터넷에 자유롭게 액세스할 수 있도록 허용하려면 이 옵션을 사용합니다. 다른 프라이빗 엔드포인트 아웃바운드 규칙을 만들어 Azure의 프라이빗 리소스에 액세스할 수 있습니다.

인터넷 아웃바운드용으로 구성된 관리되는 네트워크 격리 다이어그램.

승인된 아웃바운드 모드만 허용

데이터 반출 위험을 최소화하고 기계 학습 엔지니어가 액세스할 수 있는 항목을 제어하려면 이 옵션을 사용합니다. 프라이빗 엔드포인트, 서비스 태그 및 FQDN을 사용하여 아웃바운드 규칙을 제어할 수 있습니다.

승인된 아웃바운드만 허용하도록 구성된 관리되는 네트워크 격리 다이어그램.

관리형 가상 네트워크를 사용하지 못하게 하는 특정 요구 사항이나 회사 정책이 있는 경우 네트워크 격리를 위해 Azure 가상 네트워크를 사용할 수 있습니다.

다음 다이어그램은 모든 리소스를 프라이빗으로 설정하지만 VNet에서 아웃바운드 인터넷 액세스를 허용하는 권장 아키텍처입니다. 이 다이어그램은 다음 아키텍처를 설명합니다.

  • 모든 리소스를 동일한 지역에 배치합니다.
  • 방화벽을 포함하는 허브 VNet.
  • 다음 리소스를 포함하는 스포크 VNet:
    • 학습 서브넷에는 ML 모델 학습에 사용되는 컴퓨팅 인스턴스 및 클러스터가 포함됩니다. 이러한 리소스는 공용 IP가 없도록 구성됩니다.
    • 채점 서브넷에는 AKS 클러스터가 포함됩니다.
    • 'pe' 서브넷에는 작업 영역에 연결되는 프라이빗 엔드포인트와 작업 영역에서 사용하는 프라이빗 리소스(스토리지, 키 자격 증명 모음, 컨테이너 레지스트리 등)가 포함됩니다.
  • 관리형 온라인 엔드포인트는 작업 영역의 프라이빗 엔드포인트를 사용하여 들어오는 요청을 처리합니다. 프라이빗 엔드포인트는 관리형 온라인 엔드포인트 배포가 프라이빗 스토리지에 액세스할 수 있도록 허용하는 데에도 사용됩니다.

이 아키텍처는 네트워크 보안과 ML 엔지니어의 생산성의 균형을 유지합니다.

권장 네트워크 아키텍처 다이어그램.

Bicep 템플릿이나 Terraform 템플릿을 사용하여 이 환경 만들기를 자동화할 수 있습니다. 관리되는 온라인 엔드포인트 또는 AKS가 없습니다. 관리형 온라인 엔드포인트는 AI 모델 채점을 위한 기존 AKS 클러스터가 없는 경우 솔루션입니다. 자세한 내용은 온라인 엔드포인트를 보호하는 방법 설명서를 참조하세요. Azure Machine Learning 확장이 포함된 AKS는 AI 모델 채점을 위한 기존 AKS 클러스터가 있는 경우 솔루션입니다. 자세한 내용은 kubernetes 연결 방법 설명서를 참조하세요.

방화벽 요구 사항 제거

방화벽 요구 사항을 제거하려는 경우 네트워크 보안 그룹 및 Azure Virtual Network NAT를 사용하여 프라이빗 컴퓨팅 리소스에서 인터넷 아웃바운드를 허용할 수 있습니다.

방화벽이 없는 권장 네트워크 아키텍처 다이어그램.

공용 작업 영역 사용

조건부 액세스의 Microsoft Entra 인증 및 권한 부여에 문제가 없으면 공용 작업 영역을 사용할 수 있습니다. 공용 작업 영역에는 프라이빗 스토리지 계정의 데이터를 표시하는 몇 가지 기능이 있으며 프라이빗 작업 영역을 사용하는 것이 좋습니다.

이 다이어그램은 데이터 반출을 방지하기 위해 모든 리소스를 비공개로 설정하고 아웃바운드 대상을 제어하는 권장 아키텍처를 보여 줍니다. 프로덕션에서 중요한 데이터와 함께 Azure Machine Learning을 사용할 때 이 아키텍처를 권장합니다. 이 다이어그램은 다음 아키텍처를 설명합니다.

  • 모든 리소스를 동일한 지역에 배치합니다.
  • 방화벽을 포함하는 허브 VNet.
    • 서비스 태그 외에도 방화벽은 FQDN을 사용하여 데이터 반출을 방지합니다.
  • 다음 리소스를 포함하는 스포크 VNet:
    • 학습 서브넷에는 ML 모델 학습에 사용되는 컴퓨팅 인스턴스 및 클러스터가 포함됩니다. 이러한 리소스는 공용 IP가 없도록 구성됩니다. 또한 데이터 반출을 방지하기 위해 서비스 엔드포인트 및 서비스 엔드포인트 정책이 마련되어 있습니다.
    • 채점 서브넷에는 AKS 클러스터가 포함됩니다.
    • 'pe' 서브넷에는 작업 영역에 연결되는 프라이빗 엔드포인트와 작업 영역에서 사용하는 프라이빗 리소스(스토리지, 키 자격 증명 모음, 컨테이너 레지스트리 등)가 포함됩니다.
  • 관리형 온라인 엔드포인트는 작업 영역의 프라이빗 엔드포인트를 사용하여 들어오는 요청을 처리합니다. 프라이빗 엔드포인트는 관리형 온라인 엔드포인트 배포가 프라이빗 스토리지에 액세스할 수 있도록 허용하는 데에도 사용됩니다.

데이터 반출 보호 구성이 있는 권장 네트워크 다이어그램.

다음 표에는 필수 아웃바운드 Azure 서비스 태그 및 데이터 반출 방지 설정이 있는 FQDN(정규화된 도메인 이름)이 나열되어 있습니다.

아웃바운드 서비스 태그 프로토콜 포트
AzureActiveDirectory TCP 80, 443
AzureResourceManager TCP 443
AzureMachineLearning UDP 5831
BatchNodeManagement TCP 443
아웃바운드 FQDN 프로토콜 포트
mcr.microsoft.com TCP 443
*.data.mcr.microsoft.com TCP 443
ml.azure.com TCP 443
automlresources-prod.azureedge.net TCP 443

공용 작업 영역 사용

조건부 액세스의 Microsoft Entra 인증 및 권한 부여에 문제가 없으면 공용 작업 영역을 사용할 수 있습니다. 공용 작업 영역에는 프라이빗 스토리지 계정의 데이터를 표시하는 몇 가지 기능이 있으며 프라이빗 작업 영역을 사용하는 것이 좋습니다.

세부 정보를 이해하기 위한 주요 고려 사항

Azure Machine Learning에는 IaaS 및 PaaS 리소스가 모두 있습니다.

Azure Machine Learning의 네트워크 격리에는 PaaS(서비스 제공 플랫폼) 및 IaaS(서비스 제공 인프라) 구성 요소가 모두 포함됩니다. Azure Machine Learning 작업 영역, 스토리지, 키 자격 증명 모음, 컨테이너 레지스트리 및 모니터와 같은 PaaS 서비스는 Private Link를 사용하여 격리할 수 있습니다. AI 모델 학습을 위한 컴퓨팅 인스턴스/클러스터, AKS(Azure Kubernetes Service) 또는 AI 모델 채점을 위한 관리형 온라인 엔드포인트와 같은 IaaS 컴퓨팅 서비스를 가상 네트워크에 삽입하고 Private Link를 사용하여 PaaS 서비스와 통신할 수 있습니다. 다음 다이어그램은 이 아키텍처의 예입니다.

IaaS 및 PaaS 구성 요소 다이어그램.

이 다이어그램에서 컴퓨팅 인스턴스, 컴퓨팅 클러스터 및 AKS 클러스터는 가상 네트워크 내에 있습니다. 프라이빗 엔드포인트를 사용하여 Azure Machine Learning 작업 영역 또는 스토리지에 액세스할 수 있습니다. 프라이빗 엔드포인트 대신 Azure Storage 및 Azure Key Vault에 서비스 엔드포인트를 사용할 수 있습니다. 다른 서비스는 서비스 엔드포인트를 지원하지 않습니다.

필수 인바운드 및 아웃바운드 구성

Azure Machine Learning에는 가상 네트워크에 대한 몇 가지 필수 인바운드 및 아웃바운드 구성이 있습니다. 독립 실행형 가상 네트워크가 있는 경우 네트워크 보안 그룹을 사용하여 간단하게 구성할 수 있습니다. 그러나 허브-스포크 또는 메시 네트워크 아키텍처, 방화벽, 네트워크 가상 어플라이언스, 프록시 및 사용자 정의 라우팅이 있을 수 있습니다. 두 경우 모두 네트워크 보안 구성 요소로 인바운드 및 아웃바운드를 허용해야 합니다.

방화벽을 통한 아웃바운드가 있는 허브-스포크 네트워크 다이어그램.

이 다이어그램에는 허브 및 스포크 네트워크 아키텍처가 있습니다. 스포크 VNet에는 Azure Machine Learning에 대한 리소스가 있습니다. 허브 VNet에는 가상 네트워크에서 아웃바운드 인터넷을 제어하는 방화벽이 있습니다. 이 경우 방화벽은 필수 리소스에 대한 아웃바운드를 허용해야 하며 스포크 VNet의 컴퓨팅 리소스가 방화벽에 도달할 수 있어야 합니다.

다이어그램에서 컴퓨팅 인스턴스와 컴퓨팅 클러스터는 공용 IP 없이 구성됩니다. 공용 IP가 있는 컴퓨팅 인스턴스 또는 클러스터를 대신 사용하는 경우 방화벽을 건너뛰기 위해 NSG(네트워크 보안 그룹) 및 사용자 정의 라우팅을 사용하여 Azure Machine Learning Services 태그에서 인바운드를 허용해야 합니다. 이 인바운드 트래픽은 Microsoft 서비스(Azure Machine Learning)에서 발생합니다. 그러나 이 인바운드 요구 사항을 제거하려면 공용 IP 없음 옵션을 사용하는 것이 좋습니다.

Azure 또는 온-프레미스에서 호스트되는 자체 DNS 서버가 있는 경우 DNS 서버에서 조건부 전달자를 만들어야 합니다. 조건부 전달자는 모든 프라이빗 링크 지원 PaaS 서비스에 대해 Azure DNS에 DNS 요청을 보냅니다. 자세한 내용은 DNS 구성 시나리오Azure Machine Learning 관련 DNS 구성 문서를 참조하세요.

데이터 반출 방지

아웃바운드에는 두 가지 형식(읽기 전용 및 읽기/쓰기)이 있습니다. 읽기 전용 아웃바운드는 악의적인 작업자가 익스플로잇할 수 없지만 읽기/쓰기 아웃바운드는 익스플로잇될 수 있습니다. Microsoft의 경우 Azure Storage 및 Azure Frontdoor(frontdoor.frontend 서비스 태그)는 읽기/쓰기 아웃바운드입니다.

Microsoft의 데이터 반출 방지 솔루션을 사용하여 이러한 데이터 반출 위험을 완화할 수 있습니다. Azure Machine Learning 별칭과 함께 서비스 엔드포인트 정책을 사용하여 Azure Machine Learning 관리 스토리지 계정에 대한 아웃바운드만 허용합니다. 방화벽에서 스토리지로 아웃바운드를 열 필요가 없습니다.

반출 보호 구성이 포함된 네트워크 다이어그램.

이 다이어그램에서 컴퓨팅 인스턴스 및 클러스터는 설정 스크립트를 가져오기 위해 Azure Machine Learning 관리 스토리지 계정에 액세스해야 합니다. 스토리지에 대한 아웃바운드를 여는 대신 Azure Machine Learning 별칭과 함께 서비스 엔드포인트 정책을 사용하여 Azure Machine Learning 스토리지 계정에만 스토리지 액세스를 허용할 수 있습니다.

다음 표에는 필수 아웃바운드 Azure 서비스 태그 및 데이터 반출 방지 설정이 있는 FQDN(정규화된 도메인 이름)이 나열되어 있습니다.

아웃바운드 서비스 태그 프로토콜 포트
AzureActiveDirectory TCP 80, 443
AzureResourceManager TCP 443
AzureMachineLearning UDP 5831
BatchNodeManagement TCP 443
아웃바운드 FQDN 프로토콜 포트
mcr.microsoft.com TCP 443
*.data.mcr.microsoft.com TCP 443
ml.azure.com TCP 443
automlresources-prod.azureedge.net TCP 443

관리되는 온라인 엔드포인트

인바운드 및 아웃바운드 통신에 대한 보안은 관리되는 온라인 엔드포인트에 대해 별도로 구성됩니다.

인바운드 통신

Azure Machine Learning은 프라이빗 엔드포인트를 사용하여 관리되는 온라인 엔드포인트에 대한 인바운드 통신을 보호합니다. 엔드포인트의 public_network_access 플래그를 disabled로 설정하여 공용 액세스를 방지합니다. 이 플래그가 사용하지 않도록 설정되면 Azure Machine Learning 작업 영역의 프라이빗 엔드포인트를 통해서만 엔드포인트에 액세스할 수 있으며 공용 네트워크에서는 연결할 수 없습니다.

아웃바운드 통신

배포에서 리소스로의 아웃바운드 통신을 보호하기 위해 Azure Machine Learning은 작업 영역 관리 가상 네트워크를 사용합니다. 아웃바운드 통신에 작업 영역 관리 가상 네트워크의 프라이빗 엔드포인트를 사용할 수 있도록 배포를 작업 영역 관리 VNet에 만들어야 합니다.

다음 아키텍처 다이어그램은 프라이빗 엔드포인트를 통해 관리되는 온라인 엔드포인트로 통신이 흐르는 방식을 보여 줍니다. 클라이언트의 가상 네트워크에서 들어오는 채점 요청은 작업 영역의 프라이빗 엔드포인트를 통해 관리되는 온라인 엔드포인트로 흐릅니다. 배포에서 서비스로의 아웃바운드 통신은 작업 영역의 관리형 가상 네트워크에서 해당 서비스 인스턴스로의 프라이빗 엔드포인트를 통해 처리됩니다.

작업 영역 프라이빗 엔드포인트를 통한 인바운드 통신과 작업 영역 관리형 VNet의 프라이빗 엔드포인트를 통한 아웃바운드 통신을 보여 주는 다이어그램.

자세한 내용은 관리되는 온라인 엔드포인트를 통한 네트워크 격리를 참조하세요.

메인 네트워크의 개인 IP 주소 부족

Azure Machine Learning에는 개인 IP(컴퓨팅 인스턴스, 컴퓨팅 클러스터 노드 및 프라이빗 엔드포인트당 하나의 IP)가 필요합니다. AKS를 사용하는 경우에도 많은 IP가 필요합니다. 온-프레미스 네트워크와 연결된 허브-스포크 네트워크에는 개인 IP 주소 공간이 충분히 크지 않을 수 있습니다. 이 시나리오에서는 Azure Machine Learning 리소스에 대해 피어링되지 않은 격리된 VNet을 사용할 수 있습니다.

피어링 대신 프라이빗 엔드포인트로 연결된 네트워크 다이어그램.

이 다이어그램에서 기본 VNet에는 프라이빗 엔드포인트에 대한 IP가 필요합니다. 주소 공간이 큰 여러 Azure Machine Learning 작업 영역에 대해 허브-스포크 VNet을 사용할 수 있습니다. 이 아키텍처의 단점은 프라이빗 엔드포인트의 수를 두 배로 늘리는 것입니다.

네트워크 정책 적용

셀프 서비스 작업 영역 및 컴퓨팅 리소스 만들기로 네트워크 격리 매개 변수를 제어하려는 경우 기본 제공 정책을 사용할 수 있습니다.

기타 사소한 고려 사항

VNet 뒤의 ACR에 대한 이미지 빌드 컴퓨팅 설정

ACR(Azure Container Registry)을 프라이빗 엔드포인트 뒤에 배치하면 ACR이 Docker 이미지를 빌드할 수 없습니다. 컴퓨팅 인스턴스 또는 컴퓨팅 클러스터를 사용하여 이미지를 빌드해야 합니다. 자세한 내용은 이미지 빌드 컴퓨팅 설정 방법 문서를 참조하세요.

Azure Machine Learning 스튜디오를 사용할 계획이라면 추가 구성 단계가 필요합니다. 이러한 단계는 데이터 반출 시나리오를 방지하기 위한 것입니다. 자세한 내용은 Azure Virtual Network에서 Azure Machine Learning 스튜디오를 사용하는 방법 문서를 참조하세요.

다음 단계

관리되는 가상 네트워크 사용에 대한 자세한 내용은 다음 문서를 참조하세요.

Azure Virtual Network를 사용하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.