데이터, 워크로드 및 애플리케이션을 Azure Data Lake Storage Gen1에서 Azure Data Lake Storage Gen2로 마이그레이션할 수 있습니다. 이 문서에서는 권장되는 마이그레이션 방법을 설명하고 다양한 마이그레이션 패턴과 각 마이그레이션 패턴을 사용해야 하는 경우에 대해 설명합니다. 더 쉽게 읽을 수 있도록 이 문서에서는 Gen1 이라는 용어를 사용하여 Azure Data Lake Storage Gen1을 참조하고 Gen2 라는 용어를 사용하여 Azure Data Lake Storage Gen2를 참조합니다.
참고 항목
Azure Data Lake Storage Gen1은 이제 사용 중지됩니다. 여기에서 사용 중지 공지 사항을 참조 하세요. Data Lake Storage Gen1 리소스에 더 이상 액세스할 수 없습니다.
Azure Data Lake Storage Gen2는 Azure Blob Storage 를 기반으로 하며 빅 데이터 분석 전용 기능 집합을 제공합니다. 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단계: 준비 상태 평가
Data Lake Storage Gen2 제품에 대해 알아봅니다. 이점, 비용 및 일반 아키텍처.
Gen1의 기능을 Gen2의 기능과 비교합니다.
알려진 문제 목록을 검토하여 기능의 차이를 평가합니다.
Gen2는 진단 로깅, 액세스 계층 및 Blob Storage 수명 주기 관리 정책과 같은 Blob Storage 기능을 지원합니다. 이러한 기능을 사용하는 데 관심이 있는 경우 현재 지원 수준을 검토하세요.
Azure 에코시스템 지원의 현재 상태를 검토하여 Gen2가 솔루션이 의존하는 모든 서비스를 지원하는지 확인합니다.
2단계: 마이그레이션 준비
마이그레이션할 데이터 세트를 식별합니다.
이 기회를 통해 더 이상 사용하지 않는 데이터 세트를 정리합니다. 데이터를 한 번에 모두 마이그레이션하지 않으려는 경우 이 기회를 통해 단계별로 마이그레이션할 수 있는 데이터의 논리적 그룹을 식별합니다.
Gen1 계정에서 노화 분석 (또는 이와 유사)을 수행하여 오랜 시간 동안 인벤토리에 남아 있거나 사용되지 않는 파일 또는 폴더를 식별합니다.
마이그레이션이 비즈니스에 미치는 영향을 확인합니다.
예를 들어 마이그레이션이 이루어지는 동안 가동 중지 시간을 감당할 수 있는지 여부를 고려합니다. 이러한 고려 사항은 적절한 마이그레이션 패턴을 식별하고 가장 적합한 도구를 선택하는 데 도움이 될 수 있습니다.
마이그레이션 계획을 만듭니다.
이러한 마이그레이션 패턴을 사용하는 것이 좋습니다. 이러한 패턴 중 하나를 선택하거나, 함께 결합하거나, 사용자 지정 패턴을 직접 설계할 수 있습니다.
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 서비스를 참조하세요.
Gen2 API를 사용하도록 애플리케이션을 업데이트합니다. 다음 항목을 참조하세요.
| 환경 | 문서 |
|---|---|
| Azure Storage Explorer | Azure Storage Explorer를 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리 |
| 닷넷 | .NET을 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리 |
| 자바 | Java를 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리 |
| 파이썬 | Python을 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리 |
| JavaScript(Node.js) | Node.js JavaScript SDK를 사용하여 Azure Data Lake Storage Gen2에서 디렉터리 및 파일 관리 |
| REST API (REST 애플리케이션 프로그래밍 인터페이스) | Azure Data Lake Store REST API |
Data Lake Storage Gen2 PowerShell cmdlet 및 Azure CLI 명령을 사용하도록 스크립트를 업데이트합니다.
코드 파일 또는 Databricks Notebook, Apache Hive HQL 파일 또는 워크로드의 일부로 사용되는 다른 모든 파일의
adl://문자열을 포함하는 URI 참조를 검색합니다. 이러한 참조를 새 스토리지 계정의 Gen2 형식 URI로 바 꿉니다. 예: Gen1 URI:adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile이abfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile이 될 수 있습니다.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 서비스 주체 공유 액세스 키 |
| 승인 | 관리 - 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로의 마이그레이션 패턴
마이그레이션 패턴을 선택한 후 필요에 따라 해당 패턴을 수정합니다.
| 마이그레이션 패턴 | 세부 정보 |
|---|---|
| 리프트 앤 시프트 | 가장 간단한 패턴입니다. 데이터 파이프라인이 가동 중지 시간을 감당할 수 있는 경우 이상적입니다. |
| 증분 복사 | 리프트 앤 시프트와 비슷하지만 가동 중지 시간이 줄어듭니다. 복사하는 데 시간이 오래 걸리는 대량의 데이터에 이상적입니다. |
| 이중 파이프라인 | 가동 중지 시간을 감당할 수 없는 파이프라인에 이상적입니다. |
| 양방향 동기화 | 이중 파이프라인과 비슷하지만 더 복잡한 파이프라인에 적합한 보다 단계적인 접근 방식을 사용합니다. |
각 패턴을 더 자세히 살펴보겠습니다.
리프트 앤 시프트 패턴
가장 간단한 패턴입니다.
Gen1에 대한 모든 쓰기를 중지합니다.
Gen1에서 Gen2로 데이터를 이동합니다. Azure Data Factory 또는 Azure Portal을 사용하는 것이 좋습니다. ACL이 데이터와 함께 복사됩니다.
수집 작업 및 워크로드를 Gen2로 전환합니다.
Gen1을 해제합니다.
리프트 앤 시프트 마이그레이션 샘플에서 리프트 앤 시프트 패턴을 위한 샘플 코드를 확인하세요.
리프트 앤 시프트 패턴 사용 시 고려 사항
모든 워크로드에서 동시에 Gen1에서 Gen2로 전환합니다.
마이그레이션 및 전환 기간 동안 가동 중지 시간이 발생합니다.
가동 중지 시간을 감당할 수 있는 파이프라인에 이상적이며 모든 앱을 한 번에 업그레이드할 수 있습니다.
팁
Azure Portal을 사용하여 가동 중지 시간을 단축하고 마이그레이션을 완료하는 데 필요한 단계 수를 줄이는 것이 좋습니다.
증분 복사 패턴
Gen1에서 Gen2로 데이터 이동을 시작합니다. Azure Data Factory를 사용하는 것이 좋습니다. ACL이 데이터와 함께 복사됩니다.
Gen1의 새 데이터를 증분 방식으로 복사합니다.
모든 데이터가 복사되면 Gen1에 대한 모든 쓰기를 중지하고 워크로드를 Gen2로 전환합니다.
Gen1을 해제합니다.
증분 복사 마이그레이션 샘플에서 증분 복사 패턴에 대한 샘플 코드를 확인하세요.
증분 복사 패턴 사용 시 고려 사항:
모든 워크로드에서 동시에 Gen1에서 Gen2로 전환합니다.
전환 기간 동안에만 가동 중단 시간이 발생합니다.
모든 앱이 한 번에 업그레이드되지만 데이터 복사에 시간이 더 필요한 파이프라인에 이상적입니다.
이중 파이프라인 패턴
Gen1에서 Gen2로 데이터를 이동합니다. Azure Data Factory를 사용하는 것이 좋습니다. ACL이 데이터와 함께 복사됩니다.
Gen1 및 Gen2 둘 다에 새 데이터를 수집합니다.
워크로드를 Gen2로 전환합니다.
Gen1에 대한 모든 쓰기를 중지한 다음, Gen1을 해제합니다.
이중 파이프라인 마이그레이션 샘플에서 이중 파이프라인 패턴에 대한 샘플 코드를 확인하세요.
이중 파이프라인 패턴 사용 시 고려 사항:
Gen1 및 Gen2 파이프라인이 side-by-side 방식으로 실행됩니다.
0의 다운타임이 지원됩니다.
워크로드 및 애플리케이션에서 가동 중지 시간을 감당할 수 없고 두 스토리지 계정에 모두 수집할 수 있는 경우에 이상적입니다.
양방향 동기화 패턴
Gen1과 Gen2 간에 양방향 복제를 설정합니다. WanDisco를 사용하는 것이 좋습니다. 기존 데이터에 대한 복구 기능을 제공합니다.
모든 이동이 완료되면 Gen1에 대한 모든 쓰기가 중지되고 양방향 복제가 해제됩니다.
Gen1을 해제합니다.
양방향 동기화 마이그레이션 샘플에서 양방향 동기화 패턴에 대한 샘플 코드를 확인하세요.
양방향 동기화 패턴 사용 시 고려 사항:
단계별 접근법이 더 적합할 수 있는 많은 수의 파이프라인 및 종속성을 포함하는 복잡한 시나리오에 이상적입니다.
마이그레이션에 많은 노력이 들지만 Gen1 및 Gen2에 대한 side-by-side 지원을 제공합니다.
다음 단계
- 스토리지 계정에 대한 보안 설정의 다양한 부분에 대해 알아봅니다. 자세한 내용은 Azure Storage 보안 가이드를 참조하세요.
- Data Lake Store의 성능을 최적화합니다. 성능에 대한 Azure Data Lake Storage Gen2 최적화를 참조하세요.
- Data Lake Store 관리에 대한 모범 사례를 검토합니다. Azure Data Lake Storage Gen2 사용에 대한 모범 사례 참조