따릉이 프로젝트 - 분석을 위한 데이터 마이그레이션(AWS to GCP)

2021. 12. 21. 23:24토이 프로젝트/따릉이 토이 프로젝트

AWS RDS에 따릉이 데이터와 날씨 데이터가 2주 정도 쌓여서 이를 활용한 분석을 진행하기 위해 구글 클라우드 플랫폼(GCP)로 데이터 마이그레이션을 시도했다.

여러 글들을 읽어본 후 구글 빅쿼리의 Federated Query를 활용하는 방식이 제일 만만(?)해 보여 시도해보기로 했다.

구글 빅쿼리의 Federated Query를 활용한 데이터 마이그레이션 방법은 다음과 같다.

 

  1. AWS RDS의 파라미터 그룹 중 gtid 관련 옵션 'ON'으로 수정
  2. AWS DMS에서 "복제 인스턴스"를 이용해 마이그레이션을 수행할 인스턴스 생성
  3. DMS 대시보드에서 옮길 데이터가 존재하는 RDS와 데이터를 받을 CloudSQL를 엔드포인트로 생성
  4. 연결 테스트 후 "태스크 생성"을 클릭해 마이그레이션 태스크를 생성
  5. GCP 콘솔에서 외부 데이터 추가를 이용하여 Cloud SQL의 커넥션 정보 입력

충분히 이해했다고 생각한 후 연결을 시도했으나 결론부터 말하면 2번 단계를 진행 도중 요금제 이슈로 중단했다. 현재 연습용으로 사용하는 개인 AWS 계정이 프리티어이며 비용을 지불할 의사가 없는 상태인데 요금 정책을 확인해보니 AWS DMS에서 복제 인스턴스를 생성하면 제일 작은 사이즈인 t2.micro로 생성해도 한달에 약 20.16 USD가 나온다.

 

다른 대안을 고민하던 중 기존 AWS RDS에 있는 테이블들을 MySQL Workbench에서 csv 파일로 다운로드 후 GCP의 Cloud Storage에 버켓을 생성 후 업로드 하는 방식을 채택했다.

위 과정에서 주의해야 하는 부분은 빅쿼리의 데이터 위치와 Cloud Storage의 데이터 위치가 동일해야 한다는 점이다. 나는 데이터 위치를 asia-northeast3(서울)로 통일했다.

Cloud Storage 버켓을 활용한 업로드 방식을 통해 이전을 진행한 결과는 다음과 같다.

 

 

 

토이 프로젝트용 데이터가 크기가 매우 작아 이 방식으로도 가능했지만 실제 기업 데이터에서는 불가능할 것 같다는 생각이 들었다. 토이 프로젝트를 마저 마무리 후 Federated Query를 활용한 데이터 마이그레이션을 다시 시도해볼 생각이다.


References

 

출처: https://privatedevelopnote.tistory.com/81 [개인노트]