다음을 통해 공유


Azure Machine Learning과 Azure Synapse를 안전하게 통합하는 방법

이 문서에서는 Azure Synapse에서 Azure Machine Learning과 안전하게 통합하는 방법을 알아봅니다. 이렇게 통합하면 Azure Synapse 작업 영역의 Notebook에서 Azure Machine Learning을 사용할 수 있습니다. 두 작업 영역 간 통신은 Azure Virtual Network를 사용하여 보호됩니다.

필수 구성 요소

  • Azure 구독

  • 가상 네트워크에 대한 프라이빗 엔드포인트 연결이 있는 Azure Machine Learning 작업 영역. 다음 작업 영역 종속성 서비스에도 가상 네트워크에 대한 프라이빗 엔드포인트 연결이 있어야 합니다.

    • Azure Storage Account

      스토리지 계정의 경우 Blob, 파일, DFS에 각각 하나씩, 세 개의 개별 프라이빗 엔드포인트가 있습니다.

    • Azure Key Vault

    • Azure Container Registry

    이 구성을 빌드하는 빠르고 쉬운 방법은 Bicep 템플릿 또는 Terraform 템플릿을 사용하는 것입니다.

  • 관리형 프라이빗 엔드포인트를 사용하는 관리형 가상 네트워크의 Azure Synapse 작업 영역. 자세한 내용은 Azure Synapse Analytics 관리형 가상 네트워크를 참조하세요.

    Warning

    현재 데이터 반출 방지가 포함된 Synapse 작업 영역에서는 Azure Machine Learning 통합이 지원되지 않습니다. Azure Synapse 작업 영역을 구성할 때 데이터 반출 방지를 사용하도록 설정하지 마세요. 자세한 내용은 Azure Synapse Analytics 관리형 가상 네트워크를 참조하세요.

    참고 항목

    이 문서의 단계에서는 다음과 같이 가정합니다.

    • Azure Synapse 작업 영역은 Azure Machine Learning 작업 영역과 다른 리소스 그룹에 있습니다.
    • Azure Synapse 작업 영역은 관리형 가상 네트워크를 사용합니다. 관리형 가상 네트워크는 Azure Synapse와 Azure Machine Learning 간 연결을 보호합니다. Azure Synapse 작업 영역에 대한 액세스를 제한하지 않습니다. 퍼블릭 인터넷을 통해 작업 영역에 액세스합니다.

네트워크 통신 이해

이 구성에서 Azure Synapse는 관리형 프라이빗 엔드포인트 및 가상 네트워크를 사용합니다. 관리형 가상 네트워크 및 프라이빗 엔드포인트는 가상 네트워크에 대한 네트워크 트래픽을 제한하여 Azure Synapse와 Azure Machine Learning 간 내부 통신을 보호합니다. 클라이언트와 Azure Synapse 작업 영역 간 통신은 제한하지 않습니다.

Azure Machine Learning은 관리형 프라이빗 엔드포인트 또는 가상 네트워크를 제공하지 않고, 대신 사용자 관리형 프라이빗 엔드포인트 및 가상 네트워크를 사용합니다. 이 구성에서는 내부 및 클라이언트/서비스 통신이 모두 가상 네트워크로 제한됩니다. 예를 들어 가상 네트워크 외부에서 Azure Machine Learning 스튜디오에 직접 액세스하려는 경우 다음 옵션 중 하나를 사용합니다.

  • 가상 네트워크 내에 Azure Virtual Machine을 만들고 Azure Bastion을 사용하여 Azure Virtual Machine에 연결합니다. 그런 다음, VM에서 Azure Machine Learning에 연결합니다.
  • VPN 게이트웨이를 만들거나 ExpressRoute를 사용하여 클라이언트를 가상 네트워크에 연결합니다.

Azure Synapse 작업 영역은 공개적으로 액세스 가능하므로 VPN 게이트웨이 등을 만들지 않고도 작업 영역에 연결할 수 있습니다. Synapse 작업 영역은 가상 네트워크를 통해 Azure Machine Learning에 안전하게 연결됩니다. Azure Machine Learning과 해당 리소스는 가상 네트워크 내에서 보호됩니다.

데이터 원본을 추가할 때 가상 네트워크 뒤에서 보호할 수도 있습니다. 예를 들어 가상 네트워크를 통해 Azure Storage 계정 또는 Data Lake Store Gen 2에 안전하게 연결합니다.

자세한 내용은 다음 문서를 참조하세요.

Azure Synapse 구성

Important

아래 단계를 수행하려면 관리형 가상 네트워크를 사용하도록 구성된 Azure Synapse 작업 영역이 필요합니다. 자세한 내용은 Azure Synapse Analytics 관리형 가상 네트워크를 참조하세요.

  1. Azure Synapse Studio에서 새로운 Azure Machine Learning 연결된 서비스를 만듭니다.

  2. 연결된 서비스를 만들고 게시한 후 Azure Synapse Studio에서 관리, 관리형 프라이빗 엔드포인트, + 새로 만들기를 차례로 선택합니다.

    관리되는 프라이빗 엔드포인트 대화 상자의 스크린샷

  3. 새 관리형 프라이빗 엔드포인트 페이지에서 Azure Machine Learning을 검색하고 타일을 선택합니다.

    Azure Machine Learning 선택 스크린샷

  4. Azure Machine Learning 작업 영역을 선택하라는 메시지가 표시되면 이전에 연결된 서비스로 추가한 Azure Machine Learning 작업 영역Azure 구독을 사용합니다. 만들기를 선택하여 엔드포인트를 만듭니다.

    새 프라이빗 엔드포인트 대화 상자의 스크린샷

  5. 엔드포인트는 생성될 때까지 프로비저닝으로 나열됩니다. 생성되고 나면 승인 열에 보류 중 상태가 나열됩니다. Azure Machine Learning 구성 섹션에서 엔드포인트를 승인합니다.

    참고 항목

    다음 스크린샷에서는 이 Synapse 작업 영역과 연결된 Azure Data Lake Storage Gen 2에 대한 관리형 프라이빗 엔드포인트가 생성되었습니다. Azure Data Lake Storage Gen 2를 만들고 프라이빗 엔드포인트를 사용하도록 설정하는 방법에 대한 자세한 내용은 관리형 VNet을 사용하여 연결된 서비스 프로비저닝 및 보호를 참조하세요.

    관리되는 프라이빗 엔드포인트 목록의 스크린샷

Spark 풀 만들기

Azure Synapse와 Azure Machine Learning 간 통합이 작동하는지 확인하려면 Apache Spark 풀을 사용합니다. Spark 풀을 만드는 방법에 대한 자세한 내용은 Spark 풀 만들기를 참조하세요.

Azure Machine Learning 구성

  1. Azure Portal에서 Azure Machine Learning 작업 영역을 선택한 다음, 네트워킹을 선택합니다.

  2. 프라이빗 엔드포인트를 선택한 다음, 이전 단계에서 만든 엔드포인트를 선택합니다. 보류 중 상태여야 합니다. 승인을 선택하여 엔드포인트 연결을 승인합니다.

    프라이빗 엔드포인트 승인의 스크린샷

  3. 페이지 왼쪽에서 액세스 제어(IAM)를 선택합니다. + 추가를 선택한 다음, 역할 할당을 선택합니다.

    역할 할당의 스크린샷

  4. 권한 있는 관리자 역할, 기여자를 선택한 다음 다음을 선택합니다.

    기여자 선택 스크린샷

  5. 사용, 그룹 또는 서비스 주체, + 구성원 선택을 차례로 선택합니다. 이전에 만든 ID의 이름을 입력하고 선택한 다음, 선택 단추를 사용합니다.

    역할 할당 스크린샷

  6. 검토 + 할당을 선택하고 정보를 확인한 다음, 검토 + 할당 단추를 선택합니다.

    Azure Machine Learning 작업 영역에서 자격 증명 캐시를 업데이트하는 데 몇 분 정도 걸릴 수 있습니다. 업데이트될 때까지 Synapse에서 Azure Machine Learning 작업 영역에 액세스할 때 오류가 발생할 수도 있습니다.

연결 확인

  1. Azure Synapse Studio에서 개발, + Notebook을 차례로 선택합니다.

    Notebook 추가 스크린샷

  2. 연결 대상 필드에서 Azure Synapse 작업 영역용 Apache Spark 풀을 선택하고 첫 번째 셀에 다음 코드를 입력합니다.

    from notebookutils.mssparkutils import azureML
    
    # getWorkspace() takes the linked service name,
    # not the Azure Machine Learning workspace name.
    ws = azureML.getWorkspace("AzureMLService1")
    
    print(ws.name)
    

    Important

    이 코드 조각은 SDK v1을 사용하여 연결된 작업 영역에 연결한 다음, 작업 영역 정보를 출력합니다. 출력에 표시되는 값은 getWorkspace() 호출에 사용된 연결된 서비스 이름이 아니라 Azure Machine Learning 작업 영역 이름입니다. ws 개체를 사용하는 방법에 대한 자세한 내용은 작업 영역 클래스 참조를 참조하세요.

다음 단계