Azure Data Lake Storage 마이그레이션 지침 및 패턴

데이터, 워크로드 및 애플리케이션을 Azure Data Lake Storage Gen1에서 Azure Data Lake Storage Gen2로 마이그레이션할 수 있습니다. 이 문서에서는 권장되는 마이그레이션 방법을 설명하고 다양한 마이그레이션 패턴과 각 마이그레이션 패턴을 사용해야 하는 경우에 대해 설명합니다. 이 문서에서는 가독성을 높이기 위해 Azure Data Lake Storage Gen1을 Gen1이라고 칭하고, Azure Data Lake Storage Gen2를 Gen2라고 칭합니다.

참고 항목

이제 Azure Data Lake Storage Gen1이 사용 중지되었습니다. 여기에서 사용 중지 공지 사항을 참조하세요. Data Lake Storage Gen1 리소스에 더 이상 액세스할 수 없습니다. 특별 지원이 필요한 경우 문의해 주세요.

Azure Data Lake Storage Gen2는 Azure Blob 스토리지를 기반으로 하며, 빅 데이터 분석 전용 기능 집합을 제공합니다. Data Lake Storage Gen2는 파일 시스템 의미 체계, 디렉터리 및 파일 수준 보안 및 크기 조정과 같은 Azure Data Lake Storage Gen1의 기능을 Azure Blob Storage의 낮은 비용, 계층화된 스토리지, 고가용성/재해 복구 기능과 결합합니다.

참고 항목

Gen1 및 Gen2는 다른 서비스이므로 현재 위치 업그레이드 환경이 없습니다. Azure Portal을 사용하여 Gen2로의 마이그레이션을 간소화하려면 Azure Portal을 사용하여 Gen1에서 Gen2로 Azure Data Lake Storage 마이그레이션을 참조하세요.

Gen1에서 Gen2로 마이그레이션하려면 다음 방법을 사용하는 것이 좋습니다.

1단계: 준비 상태 평가

2단계: 마이그레이션 준비

3단계: 데이터 및 애플리케이션 워크로드 마이그레이션

4단계: Gen1에서 Gen2로 전환

1단계: 준비 상태 평가

  1. Data Lake Storage Gen2 제품의 이점, 비용 및 일반 아키텍처에 대해 알아봅니다.

  2. Gen1과 Gen2의 기능을 비교합니다.

  3. 알려진 문제 목록을 검토하여 기능의 모든 차이점을 평가합니다.

  4. Gen2는 진단 로깅, 액세스 계층, Blob Storage 수명 주기 관리 정책과 같은 Blob Storage 기능을 지원합니다. 이러한 기능을 사용하는 것에 관심이 있는 경우 현재 지원 수준을 검토하세요.

  5. Azure 에코시스템 지원의 현재 상태를 검토하여 솔루션이 의존하는 모든 서비스를 Gen2에서 지원하는지 확인합니다.

2단계: 마이그레이션 준비

  1. 마이그레이션할 데이터 세트를 식별합니다.

    이 기회를 통해 더 이상 사용하지 않는 데이터 세트를 정리합니다. 데이터를 한 번에 모두 마이그레이션하지 않으려는 경우 이 기회를 통해 단계별로 마이그레이션할 수 있는 데이터의 논리적 그룹을 식별합니다.

    Gen1 계정에서 연령 분석(또는 이와 유사한)을 수행하여 오랫동안 인벤토리에 머무르거나 사용되지 않는 파일이나 폴더를 식별합니다.

  2. 마이그레이션이 비즈니스에 미치는 영향을 확인합니다.

    예를 들어 마이그레이션이 이루어지는 동안 가동 중지 시간을 감당할 수 있는지 여부를 고려합니다. 이러한 고려 사항은 적절한 마이그레이션 패턴을 식별하고 가장 적합한 도구를 선택하는 데 도움이 될 수 있습니다.

  3. 마이그레이션 계획을 만듭니다.

    이러한 마이그레이션 패턴을 권장합니다. 이러한 패턴 중 하나를 선택하거나, 함께 결합하거나, 사용자 지정 패턴을 직접 설계할 수 있습니다.

3단계: 데이터, 워크로드 및 애플리케이션 마이그레이션

원하는 패턴을 사용하여 데이터, 워크로드 및 애플리케이션을 마이그레이션합니다. 시나리오를 증분 방식으로 검증하는 것이 좋습니다.

  1. 스토리지 계정을 생성하고 계층 구조 네임스페이스 기능을 사용하도록 설정합니다.

  2. 데이터를 마이그레이션합니다.

  3. Gen2 엔드포인트를 가리키도록 워크로드의 서비스를 구성합니다.

    HDInsight 클러스터의 경우 %HADOOP_HOME%/conf/core-site.xml 파일에 스토리지 계정 구성 설정을 추가할 수 있습니다. Gen1에서 Gen2로 외부 Hive 테이블을 마이그레이션하려는 경우 스토리지 계정 설정을 %HIVE_CONF_DIR%/hive-site.xml 파일에도 추가해야 합니다.

    Apache Ambari를 사용하여 각 파일의 설정을 수정할 수 있습니다. 스토리지 계정 설정을 찾으려면 Hadoop Azure 지원: ABFS — Azure Data Lake Storage Gen2를 참조하세요. 이 예에서는 fs.azure.account.key 설정을 사용하여 공유 키 권한 부여를 사용하도록 설정합니다.

    <property>
      <name>fs.azure.account.key.abfswales1.dfs.core.windows.net</name>
      <value>your-key-goes-here</value>
    </property>
    

    Gen2를 사용하도록 HDInsight, Azure Databricks 및 기타 Azure 서비스를 구성할 수 있도록 하는 문서 링크에서 Azure Data Lake Storage Gen2를 지원하는 Azure 서비스를 참조하세요.

  4. Gen2 API를 사용하도록 애플리케이션을 업데이트합니다. 다음 항목을 참조하세요.

환경 문서
Azure Storage Explorer Azure Storage Explorer를 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리
.NET .NET을 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리
Java Java를 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리
Python Python을 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리
JavaScript(Node.js) Node.js에서 JavaScript SDK를 사용하여 Azure Data Lake Storage Gen2의 디렉터리 및 파일 관리
REST API Azure Data Lake Store REST API
  1. Data Lake Storage Gen2 PowerShell cmdletAzure CLI 명령을 사용하도록 스크립트를 업데이트합니다.

  2. 코드 파일 또는 Databricks Notebook, Apache Hive HQL 파일 또는 워크로드의 일부로 사용되는 다른 모든 파일의 adl:// 문자열을 포함하는 URI 참조를 검색합니다. 이러한 참조를 새 스토리지 계정의 Gen2 형식 URI로 바꿉니다. 예: Gen1 URI: adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfileabfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile이 될 수 있습니다.

  3. Azure 역할, 파일 및 폴더 수준 보안, Azure Storage 방화벽 및 가상 네트워크를 포함하도록 계정에 대한 보안을 구성합니다.

4단계: Gen1에서 Gen2로 전환

애플리케이션 및 워크로드가 Gen2에서 안정적으로 작동한다고 확신하는 경우, Gen2 사용을 시작하여 비즈니스 시나리오를 충족할 수 있습니다. Gen1에서 실행되는 나머지 파이프라인을 끄고 Gen1 계정을 해제합니다.

Gen1과 Gen2 기능 비교

이 표에서는 Gen1과 Gen2의 기능을 비교합니다.

지역 1세대 2세대
데이터 구성 계층 구조 네임스페이스
파일 및 폴더 지원
계층 구조 네임스페이스
컨테이너, 파일 및 폴더 지원
지리적 중복 LRS LRS, ZRS, GRS, RA-GRS
인증 Microsoft Entra 관리 ID
서비스 주체
Microsoft Entra 관리 ID
서비스 주체
공유 액세스 키
Authorization 관리 - Azure RBAC
데이터 - ACL
관리 - Azure RBAC
데이터 - ACL, Azure RBAC
암호화 - 미사용 데이터 서버 쪽 – Microsoft 관리형 또는 고객 관리형 키 사용 서버 쪽 – Microsoft 관리형 또는 고객 관리형 키 사용
VNET 지원 VNET 통합 서비스 엔드포인트, 프라이빗 엔드포인트
개발자 경험 REST, .NET, Java, Python, PowerShell, Azure CLI 일반 공급 - REST, .NET, Java, Python
공개 미리 보기 - JavaScript, PowerShell, Azure CLI
리소스 로그 클래식 로그
Azure Monitor 통합
클래식 로그 - 일반 공급
Azure Monitor 통합 - 미리 보기
에코시스템 HDInsight(3.6), Azure Databricks(3.1 이상), Azure Synapse Analytics, ADF HDInsight(3.6, 4.0), Azure Databricks(5.1 이상), Azure Synapse Analytics, ADF

Gen1에서 Gen2로의 마이그레이션 패턴

마이그레이션 패턴을 선택한 후 필요에 따라 해당 패턴을 수정합니다.

마이그레이션 패턴 세부 정보
리프트 앤 시프트 가장 간단한 패턴입니다. 데이터 파이프라인이 가동 중지 시간을 감당할 수 있는 경우 이상적입니다.
증분 복사 리프트 앤 시프트와 비슷하지만 가동 중지 시간이 더 짧습니다. 복사하는 데 시간이 오래 걸리는 대량의 데이터에 이상적입니다.
이중 파이프라인 가동 중지 시간을 감당할 수 없는 파이프라인에 이상적입니다.
양방향 동기화 이중 파이프라인과 유사하지만 더 점진적 접근법을 취하므로 좀 더 복잡한 파이프라인에 적합합니다.

각 패턴을 더 자세히 살펴보겠습니다.

리프트 앤 시프트 패턴

가장 간단한 패턴입니다.

  1. Gen1에 대한 모든 쓰기를 중지합니다.

  2. Gen1에서 Gen2로 데이터를 이동합니다. Azure Data Factory 또는 Azure Portal을 사용하는 것이 좋습니다. ACL이 데이터와 함께 복사됩니다.

  3. 수집 작업 및 워크로드를 Gen2로 전환합니다.

  4. Gen1을 해제합니다.

리프트 앤 시프트 마이그레이션 샘플에서 리프트 앤 시프트 패턴에 대한 샘플 코드를 확인하세요.

Diagram of the lift and shift pattern.

리프트 앤 시프트 패턴 사용 시 고려 사항

  • 모든 워크로드에서 동시에 Gen1에서 Gen2로 전환합니다.

  • 마이그레이션 및 전환 기간 동안 가동 중지 시간이 발생합니다.

  • 가동 중지 시간을 감당할 수 있는 파이프라인에 이상적이며 모든 앱을 한 번에 업그레이드할 수 있습니다.

Azure Portal을 사용하여 가동 중지 시간을 줄이고 마이그레이션을 완료하는 데 필요한 단계 수를 줄이는 것이 좋습니다.

증분 복사 패턴

  1. Gen1에서 Gen2로 데이터 이동을 시작합니다. Azure Data Factory를 권장합니다. ACL이 데이터와 함께 복사됩니다.

  2. Gen1의 새 데이터를 증분 방식으로 복사합니다.

  3. 모든 데이터가 복사되면 Gen1에 대한 모든 쓰기를 중지하고 워크로드를 Gen2로 전환합니다.

  4. Gen1을 해제합니다.

증분 복사 마이그레이션 샘플에서 증분 복사 패턴에 대한 샘플 코드를 확인하세요.

Diagram of the incremental copy pattern.

증분 복사 패턴 사용에 대한 고려 사항

  • 모든 워크로드에서 동시에 Gen1에서 Gen2로 전환합니다.

  • 전환 기간 동안에만 가동 중단 시간이 발생합니다.

  • 모든 앱이 한 번에 업그레이드되지만 데이터 복사에 시간이 더 필요한 파이프라인에 이상적입니다.

이중 파이프라인 패턴

  1. Gen1에서 Gen2로 데이터를 이동합니다. Azure Data Factory를 권장합니다. ACL이 데이터와 함께 복사됩니다.

  2. Gen1 및 Gen2 둘 다에 새 데이터를 수집합니다.

  3. 워크로드를 Gen2로 전환합니다.

  4. Gen1에 대한 모든 쓰기를 중지한 다음, Gen1을 해제합니다.

이중 파이프라인 마이그레이션 샘플에서 이중 파이프라인 패턴에 대한 샘플 코드를 확인하세요.

Diagram of the dual pipeline pattern.

이중 파이프라인 패턴 사용에 대한 고려 사항

  • Gen1 및 Gen2 파이프라인이 side-by-side 방식으로 실행됩니다.

  • 0의 다운타임이 지원됩니다.

  • 워크로드 및 애플리케이션에서 가동 중지 시간을 감당할 수 없고 두 스토리지 계정에 모두 수집할 수 있는 경우에 이상적입니다.

양방향 동기화 패턴

  1. Gen1과 Gen2 간에 양방향 복제를 설정합니다. WanDisco를 권장합니다. 기존 데이터에 대한 복구 기능을 제공합니다.

  2. 모든 이동이 완료되면 Gen1에 대한 모든 쓰기가 중지되고 양방향 복제가 해제됩니다.

  3. Gen1을 해제합니다.

양방향 동기화 마이그레이션 샘플에서 양방향 동기화 패턴에 대한 샘플 코드를 확인하세요.

Diagram of the bidirectional pattern.

양방향 동기화 패턴 사용에 대한 고려 사항

  • 단계별 접근법이 더 적합할 수 있는 많은 수의 파이프라인 및 종속성을 포함하는 복잡한 시나리오에 이상적입니다.

  • 마이그레이션에 많은 노력이 들지만 Gen1 및 Gen2에 대한 side-by-side 지원을 제공합니다.

다음 단계

참고 항목