기존 Cloud SQL 인스턴스로 마이그레이션

이 페이지에서는 Cloud SQL에서 직접 만든 기존 Cloud SQL 인스턴스로 데이터베이스를 마이그레이션하는 방법을 설명합니다.

이 경로는 대상 인스턴스가 다른 팀에서 관리하거나 Database Migration Service 외부에서 인스턴스를 만들어야 하는 경우(예: Terraform을 사용하는 경우)에 유용합니다. 마이그레이션에 다른 요구사항이 있는 경우 다른 마이그레이션 흐름을 따르는 것이 좋습니다. 자세한 내용은 MySQL 마이그레이션 시작하기를 참조하세요.

마이그레이션은 대략 다음 단계를 따릅니다.

  1. Database Migration Service가 데이터를 새 데이터베이스로 이동할 수 있도록 소스 데이터베이스를 구성합니다.
  2. 소스 MySQL 인스턴스에 대한 네트워크 연결을 설정합니다.
  3. 연결 프로필 및 마이그레이션 작업을 만듭니다.
  4. 마이그레이션 작업을 시작하고 모니터링합니다.
  5. 마이그레이션 작업을 승격하고 애플리케이션을 이동하여 새 데이터베이스를 사용합니다.

비용

이 문서에서는 비용이 청구될 수 있는 구성요소를 사용합니다. Google Cloud

프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요.

시작하기 전에

  1. 이 마이그레이션 경로가 시나리오를 완전히 지원할 수 있는지 확인합니다. 다음 페이지를 참고하세요.
  2. 일회성 마이그레이션: 마이그레이션 일정을 고려합니다. 일회성 마이그레이션은 후속 변경사항 데이터 캡처 없이 전체 덤프 및 로드 작업만 수행합니다. 데이터 손실을 방지하려면 마이그레이션 프로세스 중에 소스 데이터베이스에 대한 쓰기를 사용 중지하는 것이 좋습니다.
  3. 대상 데이터베이스를 만들 리전을 고려합니다. Database Migration Service는 완전한 리전 제품입니다. 즉, 마이그레이션과 관련된 모든 항목 (소스 및 대상 연결 프로필, 마이그레이션 작업, 대상 데이터베이스, 변환 작업공간)은 단일 리전에 저장해야 합니다.
  4. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  5. Database Migration Service 및 Cloud SQL Admin API를 사용 설정합니다.

    API 사용 설정

필요한 역할

Database Migration Service를 사용하여 동종 MySQL 마이그레이션을 수행하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 필요한 IAM 역할을 부여해 달라고 요청하세요.

역할 부여에 대한 자세한 내용은 Identity and Access Management 문서의 액세스 관리를 참고하세요.

이러한 사전 정의된 역할에는 Database Migration Service를 사용하여 동종 MySQL 마이그레이션을 수행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.

필수 권한

Database Migration Service를 사용하여 동종 MySQL 마이그레이션을 수행하려면 다음 권한이 필요합니다.

  • datamigration.*
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.instances.update
  • cloudsql.instances.delete
  • cloudsql.operations.get
  • cloudsql.users.list
  • cloudsql.users.get
  • cloudsql.users.create
  • cloudsql.users.update
  • cloudsql.users.delete

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

소스 데이터베이스 준비

마이그레이션을 위해 소스 데이터를 준비하려면 다음 단계를 따르세요.

  1. 자체 덤프 파일을 제공할지 아니면 Database Migration Service 에서 전체 덤프를 자동으로 수행하도록 할지 고려합니다.
    • 자동 덤프 (기본값): 마이그레이션 작업이 시작되면 Database Migration Service가 소스 데이터베이스에 연결하고 초기 스키마 및 데이터 덤프를 자동으로 수행합니다. 마이그레이션을 시작하기 전에 아무것도 준비할 필요가 없습니다.
    • 수동 덤프: 자체 덤프 파일을 생성하고 Cloud Storage 버킷에 업로드할 수 있습니다. 이 방법은 기본 인스턴스의 초기 로드를 줄이고 복제본에서 전체 덤프를 가져오거나, 특정 유지보수 기간 동안 덤프를 실행하거나, 커스텀 내보내기 플래그를 전달하려는 경우에 유용할 수 있습니다. `mysqldump`로 MySQL 데이터베이스 내보내기mysqldump를 참고하세요.
  2. 소스 네트워크 연결 방법을 선택하고 구성합니다.
  3. 소스 데이터베이스 인스턴스를 구성합니다.
  4. 소스 연결 프로필을 만듭니다..

대상 인스턴스 만들기 및 구성

일부 시나리오에서는 사용 가능한 모든 구성 옵션을 활용하기 위해 Cloud SQL에서 직접 대상 인스턴스를 미리 만들 수 있습니다.

  • Cloud SQL에서 직접 대상을 만들려면 대상 머신의 네트워크 유형을 신중하게 고려하세요.

  • 기존 대상 Cloud SQL 인스턴스가 이미 있는 경우 다음 섹션으로 진행할 수 있습니다.

마이그레이션 작업 만들기 및 실행

마이그레이션을 구성하고 실행하려면 다음 단계를 수행하세요.

  1. 선택사항: 마이그레이션 작업의 자체 인증서를 관리하려면 필요한 암호화 키를 준비합니다.
  2. 마이그레이션 작업을 만들고 실행합니다.

    Database Migration Service 관측 가능성 기능 을 사용하여 마이그레이션 진행 상황과 대상 인스턴스 상태를 모니터링할 수 있습니다. 마이그레이션 작업 측정항목을 참고하세요.

마이그레이션 완료

애플리케이션을 새 MySQL용 Cloud SQL 인스턴스로 전환하기로 결정한 경우 다음 단계에 따라 마이그레이션을 완료하세요.

연속 마이그레이션

  1. 선택 사항: 연쇄 읽기 복제본을 설정합니다. 연쇄 읽기 복제본을 사용하려면 마이그레이션 작업이 CDC 단계로 전환될 때 이를 구성할 수 있습니다.
  2. 소스 데이터베이스의 모든 쓰기 작업을 중지합니다. 작업 기능을 유지하기 위해 읽기 전용 모드로 전환할 수 있습니다.
  3. 마이그레이션 작업을 승격합니다..
  4. 선택사항: 마이그레이션 데이터가 완전한지 확인합니다.

일회성 마이그레이션

Database Migration Service가 전체 덤프 단계를 완료하면 대상 인스턴스가 자동으로 독립형 인스턴스로 승격됩니다. 마이그레이션을 완료하려면 다음 단계를 수행하세요.

  1. 선택사항: 마이그레이션 데이터가 완전한지 확인합니다.
  2. 애플리케이션을 전환하여 새 MySQL용 Cloud SQL 인스턴스에 연결합니다.

다음 단계

MySQL용 Cloud SQL의 기능 Google Cloud 에 대해 자세히 알아보세요. MySQL용 Cloud SQL 기능을 참고하세요.