Azure Data Factory 관리형 가상 네트워크

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 Azure Data Factory의 관리형 가상 네트워크 및 관리형 프라이빗 엔드포인트에 대해 설명합니다.

관리형 가상 네트워크

Data Factory 관리형 가상 네트워크 내에 Azure Integration Runtime을 만들면 통합 런타임은 관리형 가상 네트워크로 프로비전됩니다. 프라이빗 엔드포인트를 사용하여 지원되는 데이터 저장소에 안전하게 연결합니다.

관리형 가상 네트워크 내에 통합 런타임을 만들면 데이터 통합 프로세스가 격리되고 안전하게 보호됩니다.

관리형 가상 네트워크 사용의 이점:

  • 관리형 가상 네트워크를 사용하면 가상 네트워크를 관리하는 부담을 Data Factory에 내려놓을 수 있습니다. 결과적으로 가상 네트워크에서 많은 개인 IP를 사용할 수 있고 사전 네트워크 인프라 계획이 필요한 통합 런타임에 대해 서브넷을 만들 필요가 없습니다.
  • 데이터 통합을 안전하게 수행하기 위해 깊이 있는 Azure 네트워킹 지식이 필요하지 않습니다. 대신 보안 ETL을 시작하는 것이 데이터 엔지니어에게 훨씬 더 간단합니다.
  • 관리형 프라이빗 엔드포인트와 함께 관리형 가상 네트워크는 데이터 반출을 방지합니다.

현재, 관리형 가상 네트워크는 Data Factory 지역과 동일한 지역에서만 지원됩니다.

참고 항목

기존 전역 통합 런타임은 Data Factory 관리형 가상 네트워크에서 통합 런타임으로 전환할 수 없으며 그 반대의 경우도 마찬가지입니다.

Diagram that shows Data Factory managed virtual network architecture.

데이터 팩터리에서 관리형 가상 네트워크를 사용하도록 설정하는 방법에는 두 가지가 있습니다.

  1. 데이터 팩터리를 만드는 동안 관리형 가상 네트워크를 사용하도록 설정합니다.

Screenshot of enabling managed virtual network during the creation of data factory.

  1. 통합 런타임에서 관리형 가상 네트워크를 사용하도록 설정합니다.

Screenshot of enabling managed virtual network in integration runtime

관리형 프라이빗 엔드포인트

관리형 프라이빗 엔드포인트는 Data Factory 관리형 가상 네트워크에 생성되는 프라이빗 엔드포인트이며, Azure 리소스에 대한 프라이빗 링크를 설정합니다. Data Factory는 사용자 대신 이러한 프라이빗 엔드포인트를 관리합니다.

Data Factory는 프라이빗 링크를 지원합니다. Azure Private Link를 사용하여 Azure Storage, Azure Cosmos DB 및 Azure Synapse Analytics와 같은 Azure PaaS(Platform as a Service) 서비스에 액세스할 수 있습니다.

프라이빗 링크를 사용하면 데이터 저장소와 관리형 가상 네트워크 간의 트래픽이 전적으로 Microsoft 백본 네트워크를 통해 트래버스됩니다. Private Link는 데이터 반출 위험을 방지합니다. 프라이빗 엔드포인트를 만들어 리소스에 대한 프라이빗 링크를 설정합니다.

프라이빗 엔드포인트는 관리형 가상 네트워크의 개인 IP 주소를 사용하여 서비스를 효과적으로 가져옵니다. 프라이빗 엔드포인트는 전체 서비스가 아닌 Azure의 특정 리소스에 매핑됩니다. 고객은 연결 범위를 조직에서 승인한 특정 리소스로 제한할 수 있습니다. 자세한 내용은 프라이빗 링크 및 프라이빗 엔드포인트를 참조하세요.

참고 항목

리소스 공급자 Microsoft.Network가 구독에 등록되어 있어야 합니다.

  1. 데이터 팩터리에서 가상 네트워크를 사용하도록 설정했는지 확인합니다.
  2. 허브 관리에서 새 관리형 프라이빗 엔드포인트를 만듭니다.

Screenshot that shows new managed private endpoints.

  1. 프라이빗 엔드포인트 연결은 Data Factory에서 관리형 프라이빗 엔드포인트를 만들 때 보류 중 상태로 생성됩니다. 승인 워크플로가 시작됩니다. 프라이빗 링크 리소스 소유자가 연결을 승인 또는 거부합니다.

Screenshot that shows the option Manage approvals in Azure portal.

  1. 소유자가 연결을 승인하면 프라이빗 링크가 설정됩니다. 거부하면 프라이빗 링크가 설정되지 않습니다. 어떤 경우든 관리형 프라이빗 엔드포인트는 연결 상태로 업데이트 됩니다.

Screenshot that shows approving a managed private endpoint.

승인된 상태의 관리형 프라이빗 엔드포인트만이 특정 프라이빗 링크 리소스에 트래픽을 보낼 수 있습니다.

참고 항목

사용자 지정 DNS는 관리되는 가상 네트워크에서 지원되지 않습니다.

대화형 작성

대화형 작성 기능은 연결 테스트, 폴더 목록 및 테이블 목록 찾아보기, 스키마 가져오기, 데이터 미리 보기 등의 기능에 사용됩니다. Azure Data Factory 관리형 가상 네트워크에 있는 Azure Integration Runtime을 만들거나 편집할 때 대화형 작성을 사용하도록 설정할 수 있습니다. 백 엔드 서비스는 대화형 작성 기능에 대한 컴퓨팅을 미리 할당합니다. 그러지 않으면 대화형 작업이 수행될 때마다 컴퓨팅이 할당되어 더 많은 시간이 걸립니다. 대화형 작성의 TTL(Time To Live)은 기본값으로 60분입니다. 즉, 마지막 대화형 작성 작업 60분 후에 자동으로 사용하지 않도록 설정됩니다. 실제 필요에 따라 TTL 값을 변경할 수 있습니다.

Screenshot that shows interactive authoring.

TTL(Time to Live)

복사 활동

기본적으로 모든 복사 작업은 복사 작업의 구성을 기반으로 새 컴퓨팅을 가동합니다. 관리되는 가상 네트워크를 사용하도록 설정하면 콜드 컴퓨팅 작동 시간이 몇 분 정도 걸리며 완료될 때까지 데이터 이동을 시작할 수 없습니다. 파이프라인에 여러 순차 복사 작업이 포함되어 있거나 foreach 루프에 복사 작업이 많고 모두 병렬로 실행할 수 없는 경우 Azure Integration Runtime 구성에서 TTL(Time to Live) 값을 사용하도록 설정할 수 있습니다. 복사 작업에 필요한 TTL(Time to Live) 값과 DIU 번호를 지정하면 실행이 완료된 후 특정 기간 동안 해당 컴퓨팅이 활성 상태로 유지됩니다. TTL 시간 동안 새 복사 작업이 시작되면 기존 컴퓨팅을 재사용하고 작동 시간이 크게 단축됩니다. 두 번째 복사 작업이 완료된 후 컴퓨팅은 TTL 시간 동안 다시 활성 상태를 유지합니다. 미리 정의된 컴퓨팅 크기 중에서 대, 중, 소를 선택할 수 있는 유연성이 있습니다. 또는 특정 요구 사항 및 실시간 요구 사항에 따라 컴퓨팅 크기를 사용자 지정하는 옵션도 있습니다.

참고 항목

DIU 번호를 다시 구성해도 현재 복사 작업 실행에는 영향을 미치지 않습니다.

참고 항목

2 DIU(데이터 통합 단위) 측정값은 관리형 가상 네트워크의 복사 작업에 대해 지원되지 않습니다.

TTL에서 선택한 DIU는 모든 복사 작업을 실행하는 데 사용되며 DIU의 크기는 실제 필요에 따라 자동으로 조정되지 않습니다. 따라서 충분한 DIU를 선택해야 합니다.

Warning

많은 작업을 실행하기 위해 소수의 DIU를 선택하면 많은 작업이 큐에 보류되어 전체 성능에 심각한 영향을 미칩니다.

파이프라인 및 외부 작업

복사본과 마찬가지로 특정 요구 사항에 따라 컴퓨팅 크기 및 TTL 기간을 조정할 수 있습니다. 그러나 유의할 점은 복사본과 달리 파이프라인 및 외부 TTL을 사용하지 않도록 설정할 수 없다는 것입니다.

참고 항목

TTL(Time to Live)은 관리되는 가상 네트워크에만 적용됩니다.

Screenshot that shows the TTL configuration.

아래 표를 참조로 활용하여 파이프라인 및 외부 작업을 모두 실행하기 위한 최적의 노드 수를 결정할 수 있습니다.

작업 유형 용량
파이프라인 작업 노드당 약 50개
SQL alwaysEncrypted를 사용하는 스크립트 작업 및 조회 작업은 다른 파이프라인 작업에 비해 더 많은 리소스를 사용하는 경향이 있으며, 제안하는 수는 노드당 약 10개입니다.
외부 작업 노드당 약 800개

다른 TTL 비교

다음 표에는 다양한 형식의 TTL 간의 차이점이 나와 있습니다.

기능 대화형 작성 컴퓨팅 규모 복사 파이프라인 및 외부 컴퓨팅 스케일링
적용 시기 사용 설정 직후 첫 번째 작업 실행 첫 번째 작업 실행
사용하지 않도록 설정 가능 Y Y N
예약 컴퓨팅 구성 가능 N Y Y

참고 항목

기본 자동 해결 Azure Integration Runtime에서는 TTL을 사용하도록 설정할 수 없습니다. 여기에 대해서는 새 Azure Integration Runtime을 만들 수 있습니다.

참고 항목

복사/파이프라인/외부 컴퓨팅 스케일링 TTL이 활성화되면 예약된 컴퓨팅 리소스에 따라 청구가 결정됩니다. 결과적으로 작업의 출력에는 billingReference가 포함되지 않는데, 이는 비 TTL 시나리오에만 배타적으로 해당되기 때문입니다.

Azure PowerShell을 통해 관리형 가상 네트워크 만들기

$subscriptionId = ""
$resourceGroupName = ""
$factoryName = ""
$managedPrivateEndpointName = ""
$integrationRuntimeName = ""
$apiVersion = "2018-06-01"
$privateLinkResourceId = ""

$vnetResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/managedVirtualNetworks/default"
$privateEndpointResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/managedVirtualNetworks/default/managedprivateendpoints/${managedPrivateEndpointName}"
$integrationRuntimeResourceId = "subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/integrationRuntimes/${integrationRuntimeName}"

# Create managed Virtual Network resource
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${vnetResourceId}" -Properties @{}

# Create managed private endpoint resource
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${privateEndpointResourceId}" -Properties @{
        privateLinkResourceId = "${privateLinkResourceId}"
        groupId = "blob"
    }

# Create integration runtime resource enabled with virtual network
New-AzResource -ApiVersion "${apiVersion}" -ResourceId "${integrationRuntimeResourceId}" -Properties @{
        type = "Managed"
        typeProperties = @{
            computeProperties = @{
                location = "AutoResolve"
                dataFlowProperties = @{
                    computeType = "General"
                    coreCount = 8
                    timeToLive = 0
                }
            }
        }
        managedVirtualNetwork = @{
            type = "ManagedVirtualNetworkReference"
            referenceName = "default"
        }
    }

참고 항목

프라이빗 링크 리소스에서 다른 데이터 원본의 groupId를 가져올 수 있습니다.

아웃바운드 연결

지원되는 데이터 원본 및 서비스

다음 서비스에는 네이티브 프라이빗 엔드포인트가 지원됩니다. Data Factory 관리형 가상 네트워크에서 프라이빗 링크를 통해 연결할 수 있습니다.

  • Azure Databricks
  • Azure Functions(프리미엄 플랜)
  • Azure Key Vault
  • Azure Machine Learning
  • Azure Private Link
  • Microsoft Purview

데이터 원본을 지원하려면 커넥터 개요를 참조하세요. 공용 네트워크를 통해 Data Factory에서 지원하는 모든 데이터 원본에 액세스할 수 있습니다.

온-프레미스 데이터 원본

프라이빗 엔드포인트를 사용하여 관리형 가상 네트워크에서 온-프레미스 데이터 소스에 액세스하는 방법을 알아보려면 프라이빗 엔드포인트를 사용하여 Data Factory 관리형 가상 네트워크에서 온-프레미스 SQL Server에 액세스를 참조하세요.

Data Factory 관리형 가상 네트워크의 퍼블릭 엔드포인트를 통한 아웃바운드 통신

아웃바운드 통신을 위해 모든 포트가 열립니다.

제한 사항 및 알려진 문제

Key Vault의 연결된 서비스 만들기

Key Vault에 대한 연결된 서비스를 만들 때 통합 런타임 참조가 없습니다. 따라서 Key Vault의 연결된 서비스를 만드는 동안에는 프라이빗 엔드포인트를 만들 수 없습니다. 그러나 Key Vault를 참조하는 데이터 저장소에 대해 연결된 서비스를 만들고 이 연결된 서비스가 관리형 가상 네트워크가 사용하도록 설정된 통합 런타임을 참조하는 경우 생성하는 동안 Key Vault에 대한 프라이빗 엔드포인트를 만들 수 있습니다.

  • 연결 테스트: Key Vault의 연결된 서비스에 대한 이 작업은 URL 형식에 대해서만 유효성을 검사하고 네트워크 작업은 수행하지 않습니다.
  • 프라이빗 엔드포인트 사용: 이 열은 Key Vault의 프라이빗 엔드포인트를 만드는 경우에도 항상 빈 값으로 표시됩니다.

Azure HDInsight의 연결된 서비스 만들기

프라이빗 링크 서비스 및 부하 분산 장치와 포트 전달을 사용하여 HDInsight용 프라이빗 엔드포인트를 만드는 경우에도 프라이빗 엔드포인트 사용 열은 항상 공백으로 표시됩니다.

Screenshot that shows a private endpoint for Key Vault.

Azure HDInsight의 FQDN(정규화된 도메인 이름)

사용자 지정 프라이빗 링크 서비스를 만든 경우 FQDN은 프라이빗 엔드포인트를 만들 때 도메인 이름에서 privatelink를 선행하지 않고 azurehdinsight.net으로 종료해야 합니다. 도메인 이름에 privatelink를 사용하는 경우 유효하고 해결할 수 있는지 확인합니다.

프라이빗 엔드포인트가 있는 관리형 가상 네트워크의 액세스 제약 조건

양쪽이 Private Link 및 프라이빗 엔드포인트에 노출되면 각 PaaS 리소스에 액세스할 수 없습니다. 이 문제는 Private Link 및 프라이빗 엔드포인트의 알려진 제한 사항입니다.

예를 들어 스토리지 계정 A에 대한 관리형 프라이빗 엔드포인트가 있습니다. 동일한 관리형 가상 네트워크의 공용 네트워크를 통해 스토리지 계정 B에 액세스할 수도 있습니다. 그러나 스토리지 계정 B에 다른 관리형 가상 네트워크 또는 고객 가상 네트워크의 프라이빗 엔드포인트 연결이 있는 경우 공용 네트워크를 통해 관리형 가상 네트워크의 스토리지 계정 B에 액세스할 수 없습니다.

다음 자습서를 참조하세요.