관리형 마이그레이션은 자동화 기능으로 상당한 다운타임(플래그 데이라고도 함) 없이 자체 관리형 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는 SOCKS5 프록시에 연결된 Cloud SQL 인증 프록시를 사용하여 비공개 IP Cloud SQL 인스턴스에 연결합니다. SOCKS5 프록시 서버는 이전 아키텍처 다이어그램과 같이 서비스 연결을 통해 노출됩니다.
각 마이그레이션에는 전용 NAT 서브넷이 필요합니다. 이는 NAT 서브넷에 둘 이상의 서비스 연결이 있을 수 없기 때문입니다.
리전 간 지연 시간 문제를 방지하려면 SOCKS5 프록시를 호스팅할 Cloud SQL 인스턴스와 동일한 리전에 있는 서브넷을 제공합니다. 예를 들면
proxy_subnet
및nat_subnet
입니다.
변경 데이터 캡처 파이프라인
변경 데이터 캡처 파이프라인은 VPC 피어링을 사용하여 Datastream과 비공개 IP Cloud SQL 간의 연결을 설정합니다.
마이그레이션마다 새로운 비공개 연결이 생성되고 새 피어링 연결이 설정됩니다.
Cloud SQL 인스턴스를 호스팅하는 VPC 네트워크에는 활성 마이그레이션과 같은 수의 피어링 연결이 있습니다. VPC 네트워크에 필요한 모든 피어링 연결을 호스팅할 수 있는 용량이 있는지 확인합니다.