관리형 마이그레이션은 자동화 기능으로 상당한 다운타임 (플래그 데이라고도 함) 없이 자체 관리형 Hive Metastore에서 Dataproc Metastore 서비스로 데이터를 마이그레이션할 수 있습니다.
관리형 마이그레이션 아키텍처
다음 다이어그램은 관리형 마이그레이션의 대략적인 아키텍처를 보여줍니다.
관리형 마이그레이션 흐름
관리형 마이그레이션을 완료하기 위해 서비스는 두 가지 마이그레이션 프로세스(마이그레이션 시작 및 마이그레이션 완료)를 통해 실행됩니다. 마이그레이션 취소 프로세스를 통해 언제든지 마이그레이션을 취소할 수 있습니다. 마이그레이션을 완료하는 데 필수는 아니지만 실행할 수 있는 여러 운영 명령어도 있습니다. 예: 마이그레이션 나열 또는 마이그레이션 삭제
서비스에서 이 프로세스를 진행하면서 다양한 마이그레이션 상태 및 마이그레이션 단계 간에도 이동합니다. 이러한 상태와 단계는 백그라운드에서 발생하는 프로세스를 나타냅니다. 예를 들어 MIGRATING
상태는 서비스가 Cloud SQL 데이터베이스에서 Dataproc Metastore로 데이터를 적극적으로 전송하고 있음을 나타냅니다.
이전 시작
Dataproc Metastore가 비공개 IP Cloud SQL 인스턴스와 연결을 설정합니다. 연결이 완료되면 Dataproc Metastore에서 Cloud SQL 인스턴스를 Hive Metastore (HMS) 백엔드 데이터베이스로 사용합니다. 또한 마이그레이션 중에 데이터의 정보 소스로 유지됩니다. 마이그레이션이 활성 상태일 때도 메타데이터 읽기 및 쓰기는 Cloud SQL에서 발생합니다.
변경 데이터 캡처(CDC) 파이프라인이 시작됩니다. 이 파이프라인은 프로젝트의 Cloud SQL 인스턴스와 Dataproc Metastore 관리 프로젝트의 Spanner를 동기화합니다. 즉, Cloud SQL 인스턴스의 HMS 데이터베이스에 대한 모든 변경사항이 Datastream을 통해 캡처되고 Dataproc Metastore Spanner 데이터베이스에 기록됩니다.
마이그레이션 시작 프로세스가 완료되면 데이터 워크로드를 Dataproc Metastore로 라우팅할 수 있습니다. 이 시점에서 Cloud SQL은 여전히 데이터의 정보 소스입니다.
이전 완료
워크로드를 Dataproc Metastore로 이동한 후 마이그레이션을 완료할 수 있습니다. 전체 이전 프로세스가 호출되면 다음이 발생합니다.
- 전체 마이그레이션 프로세스가 완료될 때까지 Dataproc Metastore가 읽기 전용 모드로 전환됩니다.
- CDC 스트림은 전송 중인 모든 데이터를 Dataproc Metastore로 전송합니다.
- Dataproc Metastore는 Spanner에 연결되고 Cloud SQL과 연결 해제됩니다. 이제 Dataproc Metastore가 HMS 데이터의 정보 소스 역할을 합니다.
프록시 및 파이프라인 고려사항
프록시
Dataproc Metastore는 비공개 IP Cloud SQL 인스턴스에 연결하기 위해 SOCKS5 프록시에 연결된 Cloud SQL 인증 프록시를 사용합니다. SOCKS5 프록시 서버는 이전 아키텍처 다이어그램에 표시된 대로 서비스 연결을 통해 노출됩니다.
각 마이그레이션에는 전용 NAT 서브넷이 필요합니다. NAT 서브넷에는 서비스 연결이 두 개 이상 있을 수 없기 때문입니다.
리전 간 지연 시간 문제를 방지하려면 Cloud SQL 인스턴스와 동일한 리전에 있는 서브넷을 제공하여 SOCKS5 프록시를 호스팅하세요. 예를 들면
proxy_subnet
및nat_subnet
입니다.
변경 데이터 캡처 파이프라인
변경 데이터 캡처 파이프라인은 VPC 피어링을 사용하여 Datastream과 비공개 IP Cloud SQL 간에 연결을 설정합니다.
마이그레이션마다 새로운 비공개 연결이 생성되고 새 피어링 연결이 설정됩니다.
Cloud SQL 인스턴스를 호스팅하는 VPC 네트워크에는 활성 마이그레이션과 같은 수의 피어링 연결이 있습니다. VPC 네트워크에 필요한 모든 피어링 연결을 호스팅할 수 있는 용량이 있는지 확인합니다.