다음을 통해 공유


Azure Machine Learning에서 네트워크 격리 계획

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

네트워크 격리란?

네트워크 격리는 네트워크를 별도의 세그먼트 또는 서브넷으로 분할하는 보안 전략으로, 각각 자체의 작은 네트워크로 작동합니다. 이 방법은 더 큰 네트워크 구조 내에서 보안 및 성능을 향상시키는 데 도움이 됩니다. 주요 기업은 데이터 및 모델의 무단 액세스, 변조 또는 유출로부터 리소스를 보호하기 위해 네트워크 격리가 필요합니다. 또한 해당 산업 및 도메인에 적용되는 규정 및 표준을 준수해야 합니다.

인바운드 및 아웃바운드 액세스

네트워크 격리는 Azure Machine Learning 내의 세 가지 영역에서 고려해야 합니다.

  • Azure Machine Learning 작업 영역에 대한 인바운드 액세스. 예를 들어 데이터 과학자 작업 영역에 안전하게 액세스합니다.
  • Azure Machine Learning 작업 영역에서 아웃바운드 액세스. 예를 들어 다른 Azure 서비스에 액세스합니다.
  • Azure Machine Learning 컴퓨팅 리소스에서 아웃바운드 액세스. 예를 들어 데이터 원본, Python 패키지 리포지토리 또는 기타 리소스에 액세스합니다.

다음 다이어그램은 인바운드 및 아웃바운드를 구분합니다.

Azure Machine Learning에 대한 인바운드 및 아웃바운드 통신을 보여 주는 다이어그램

Azure Machine Learning에 대한 인바운드 액세스

보안 Azure Machine Learning 작업 영역에 대한 인바운드 액세스는 PNA(공용 네트워크 액세스) 플래그를 사용하여 설정됩니다. PNA 플래그 설정은 작업 영역에 프라이빗 엔드포인트가 필요한지 아니면 작업 영역에 액세스하지 않는지를 결정합니다. 공용 주소와 프라이빗 간에 추가 설정이 있습니다. 선택한 IP 주소에서 사용하도록 설정됩니다. 이 설정을 사용하면 지정한 IP 주소에서 작업 영역에 액세스할 수 있습니다. 이 기능에 대한 자세한 내용은 인터넷 IP 범위에서만 공용 액세스 사용 설정을 참조 하세요.

아웃바운드 액세스

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

컴퓨팅에서 Azure 서비스로의 아웃바운드 통신을 보여 주는 다이어그램

서비스에서 다른 Azure PaaS 리소스로 아웃바운드

Azure Machine Learning 서비스에서 다른 PaaS 서비스로의 아웃바운드 액세스 보호는 신뢰할 수 있는 서비스를 통해 완료됩니다. 다른 앱에 대한 네트워크 규칙을 유지하면서 신뢰할 수 있는 Azure 서비스의 하위 집합에 Azure Machine Learning에 대한 액세스 권한을 부여할 수 있습니다. 이러한 신뢰할 수 있는 서비스는 관리 ID를 사용하여 Azure Machine Learning 서비스를 인증합니다.

컴퓨팅에서 인터넷 및 기타 Azure PaaS 리소스로 아웃바운드

IaaS 구성 요소는 컴퓨팅 인스턴스/클러스터, AKS(Azure Kubernetes Service) 또는 관리형 온라인 엔드포인트와 같은 컴퓨팅 리소스입니다. 이러한 IaaS 리소스의 경우 인터넷에 대한 아웃바운드 액세스는 방화벽을 통해 보호되고 다른 PaaS 리소스에 대한 아웃바운드 액세스는 Private Link 및 프라이빗 엔드포인트로 보호됩니다. 관리형 가상 네트워크를 사용하면 컴퓨팅에서 아웃바운드를 보다 쉽게 제어할 수 있습니다.

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

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

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

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

컴퓨팅에서 아웃바운드 액세스를 위한 네트워크 격리 제품

보안이 필요한 액세스를 이해했으므로 이제 네트워크 격리를 통해 기계 학습 작업 영역을 보호하는 방법을 살펴보겠습니다. Azure Machine Learning은 컴퓨팅 리소스에서 아웃바운드 액세스를 위한 네트워크 격리 옵션을 제공합니다.

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

참고 항목

관리형 가상 네트워크를 사용하여 작업 영역을 보호하면 작업 영역 및 관리형 컴퓨팅에서 아웃바운드 액세스를 위한 네트워크 격리가 제공됩니다. 사용자가 만들고 관리하는 Azure Virtual Network는 작업 영역에 대한 네트워크 격리 인바운드 액세스를 제공하는 데 사용됩니다. 예를 들어, 작업 영역에 대한 프라이빗 엔드포인트는 Azure Virtual Network에 만들어집니다. 가상 네트워크에 연결하는 모든 클라이언트는 프라이빗 엔드포인트를 통해 작업 영역에 액세스할 수 있습니다. 관리 컴퓨팅에서 작업을 실행할 때 관리 네트워크는 컴퓨팅이 액세스할 수 있는 항목을 제한합니다. 이 구성은 가상 네트워크를 설정하고 모든 컴퓨팅을 해당 가상 네트워크로 설정해야 하는 사용자 지정 가상 네트워크 제품과 다릅니다.

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

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

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

    승인된 아웃바운드 모드만 구성된 관리되는 네트워크의 다이어그램

사용자 지정 네트워크 격리

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

다음 다이어그램은 모든 리소스를 비공개로 설정하지만 가상 네트워크에서 아웃바운드 인터넷 액세스를 허용하는 권장 아키텍처입니다. 이 다이어그램은 다음 아키텍처를 설명합니다.

  • 모든 리소스를 동일한 지역에 배치합니다.
  • 방화벽 및 사용자 지정 DNS 설정이 포함된 허브 가상 네트워크입니다.
  • 다음 리소스를 포함하는 스포크 가상 네트워크입니다.
    • 학습 서브넷에는 ML 모델 학습에 사용되는 컴퓨팅 인스턴스 및 클러스터가 포함됩니다. 이러한 리소스는 공용 IP가 없도록 구성됩니다.
    • 채점 서브넷에는 AKS 클러스터가 포함됩니다.
    • 'pe' 서브넷에는 작업 영역에 연결되는 프라이빗 엔드포인트와 작업 영역에서 사용하는 프라이빗 리소스(스토리지, 키 자격 증명 모음, 컨테이너 레지스트리 등)가 포함됩니다.
  • 사용자 지정 가상 네트워크를 사용하여 관리되는 온라인 엔드포인트를 보호하려면 레거시 관리형 온라인 엔드포인트 관리형 가상 네트워크를 사용하도록 설정합니다. 이 메서드는 권장하지 않습니다.

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

사용자 지정 네트워크 격리 구성의 다이어그램.

참고 항목

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

데이터 반출 방지

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

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

데이터 반출을 방지하기 위한 사용자 지정 네트워크 격리 구성의 다이어그램

네트워크 격리 옵션 비교

관리되는 네트워크 격리 및 사용자 지정 네트워크 격리는 모두 유사한 제품입니다. 다음 표에서는 두 제품 간의 모든 유사점과 차이점을 설정 측면에서 설명합니다. 설정의 한 가지 주요 차이점은 컴퓨팅 자체에 대한 가상 네트워크가 호스팅되는 위치입니다. 사용자 지정 네트워크 격리의 경우 컴퓨팅용 가상 네트워크는 테넌트에 있는 반면 관리되는 네트워크 격리 경우 컴퓨팅용 가상 네트워크는 Microsoft 테넌트에 있습니다.

유사점 차이점
- 네트워크는 사용자에게 전용이며 다른 고객과 공유되지 않습니다.
- 데이터가 가상 네트워크에서 보호됩니다.
- 아웃바운드 규칙을 사용하여 송신을 완전히 제어합니다.
- 필수 ServiceTags입니다.
- 가상 네트워크가 호스트되는 위치 사용자 지정 네트워크 격리를 위한 테넌트 또는 microsoft 테넌트에서 관리되는 네트워크 격리.

시나리오에 가장 적합한 네트워킹 설정을 올바르게 결정하려면 사용하려는 Azure Machine Learning 내의 기능을 고려합니다. 네트워크 격리 제품 간의 차이점에 대한 자세한 내용은 네트워크 격리 구성 비교를 참조 하세요.

구성 비교

관리형 네트워크(권장) 사용자 지정 네트워크
혜택 - 설정 및 유지 관리 오버헤드를 최소화합니다.
- 관리되는 온라인 엔드포인트를 지원합니다.
- 서버리스 Spark를 지원합니다.
- 온-프레미스 또는 사용자 지정 가상 네트워크에 있는 HTTP 엔드포인트 리소스에 액세스합니다.
- 새로운 기능 개발에 집중합니다.
- 요구 사항에 맞게 네트워크를 사용자 지정합니다.
- 사용자 고유의 비 Azure 리소스를 가져옵니다.
- 온-프레미스 리소스에 연결합니다.
제한 사항 - Azure Firewall 및 FQDN 규칙에 대한 추가 비용입니다.
- 가상 네트워크 방화벽 및 NSG 규칙의 로깅은 지원되지 않습니다.
- 비 HTTPs 엔드포인트 리소스에 대한 액세스는 지원되지 않습니다.
- 새 기능 지원이 지연될 수 있습니다.
-관리형 온라인 엔드포인트는 지원되지 않습니다.
- 서버리스 Spark는 지원되지 않습니다.
- 기본 모델은 지원되지 않습니다.
- 코드 MLFlow가 지원되지 않습니다.
- 구현 복잡성.
- 유지 관리 오버헤드.

공용 작업 영역 사용

Microsoft Entra ID 인증 및 권한 부여에 조건부 액세스가 있는 경우 공용 작업 영역을 사용할 수 있습니다. 공용 작업 영역에는 프라이빗 스토리지 계정에서 데이터를 사용할 수 있는 몇 가지 기능이 있습니다. 가능한 경우 프라이빗 작업 영역을 사용하는 것이 좋습니다.

주요 고려 사항

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

데이터 반출 방지

아웃바운드에는 두 가지 형식(읽기 전용 및 읽기/쓰기)이 있습니다. 악의적인 행위자가 아웃바운드만 읽기를 지수화할 수는 없지만 읽기/쓰기가 가능한 아웃바운드일 수 있습니다. Azure Storage 및 Azure Frontdoor(frontdoor.frontend 서비스 태그)는 이 경우 읽기/쓰기 아웃바운드입니다.

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

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

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

관리형 온라인 엔드포인트

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

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

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

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

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

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

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

격리된 네트워크 구성을 보여 주는 다이어그램

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

네트워크 정책 적용

셀프 서비스 작업 영역 및 컴퓨팅 리소스 생성을 사용하여 네트워크 격리 매개 변수를 제어하거나 보다 세분화된 컨트롤에 대한 사용자 지정 정책을 만들려면 기본 제공 정책을 사용할 수 있습니다. 정책에 대한 자세한 내용은 Azure Policy 규정 준수 제어를 참조 하세요.

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

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