마이그레이션 작업 승격

연속 마이그레이션의 경우 읽기 및 쓰기를 대상 데이터베이스로 이동할 때 승격 프로세스를 시작할 수 있습니다. 승격이란 마이그레이션된 Cloud SQL 데이터베이스에 이제 모든 읽기 및 쓰기 작업을 위해 액세스할 수 있게 된다는 뜻입니다.

마이그레이션 작업을 승격하거나 마이그레이션 작업에서 선택한 데이터베이스를 승격할 수 있습니다.

  1. 프로모션을 시작합니다. 데이터 손실을 방지하려면 모든 쓰기 작업, 실행 중인 스크립트, 소스 데이터베이스에 대한 클라이언트 연결을 중지해야 합니다. 여기에서 다운타임 기간이 시작됩니다.
  2. 트랜잭션 로그 파일의 사용 가능한 모든 데이터가 SQL Server용 Cloud SQL 대상 인스턴스로 복제되었는지 확인합니다.

    다음 작업 중 하나를 실행하여 이 결과를 얻을 수 있습니다.

    • 자동 백업 파일 업로드를 중지하거나 마지막 트랜잭션 로그 파일을 업로드합니다. 처리되지 않은 트랜잭션 로그 백업 크기를 모니터링하여 Database Migration Service가 파일 처리를 완료한 시점을 확인합니다.
    • 원하는 경우 이름이 .trn.final 접미사로 끝나는 트랜잭션 로그 파일을 업로드할 수 있습니다. 데이터베이스 이전 서비스는 이름이 .trn.final 접미사 규칙과 일치하는 백업 파일을 감지하면 연속 로드를 중지합니다.

      Database Migration Service에서 파일 처리를 완료하면 마이그레이션 작업 상태가 승격 준비 완료로 변경됩니다.

  3. 승격 작업을 실행합니다.

    콘솔

    1. Google Cloud 콘솔에서 마이그레이션 작업 페이지로 이동합니다.

      마이그레이션 작업으로 이동

    2. 작업 탭에서 승격할 이전 작업의 표시 이름을 클릭합니다.
    3. 이전 작업 세부정보 페이지가 열립니다.

    4. 다음과 같은 추천 작업 중 하나를 실행합니다.
      • 마이그레이션에 포함된 모든 데이터베이스를 승격하려면 마이그레이션 작업의 툴바에서 승격을 클릭합니다.

        마이그레이션 작업 승격 대화상자가 표시됩니다.

      • 특정 데이터베이스만 승격하려면 데이터베이스 이름 옆에 있는 체크박스를 사용하여 데이터베이스를 선택하고 데이터베이스 탭에서 승격을 클릭합니다.

        승격할 데이터베이스의 수가 포함된 대화상자가 표시됩니다.

    5. 대화상자에 오류가 표시되지 않는지 확인한 다음 승격을 클릭합니다.

    gcloud

    아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

    • MIGRATION_JOB_ID를 이전 작업 식별자로 바꿉니다.

      식별자를 모르는 경우 gcloud database-migration migration-jobs list 명령어를 사용하여 지정된 리전의 모든 이전 작업을 나열하고 식별자를 확인할 수 있습니다.

    • REGION을 연결 프로필이 저장된 리전의 식별자로 바꿉니다.
    • 선택사항: Database Migration Service는 기본적으로 소스의 모든 데이터베이스를 마이그레이션합니다. 특정 데이터베이스만 이전하려면 --databases-filter 플래그를 사용하고 식별자를 쉼표로 구분된 목록으로 지정합니다.

      예: --databases-filter=my-business-database,my-other-database

      나중에 gcloud database-migration migration-jobs update 명령어를 사용하여 --database-filter flag로 만든 이전 작업을 수정할 수 있습니다.

    다음 명령어를 실행합니다.

    Linux, macOS 또는 Cloud Shell

    gcloud database-migration migration-jobs \
    promote MIGRATION_JOB_ID \
      --region=REGION

    Windows(PowerShell)

    gcloud database-migration migration-jobs `
    promote MIGRATION_JOB_ID `
      --region=REGION

    Windows(cmd.exe)

    gcloud database-migration migration-jobs ^
    promote MIGRATION_JOB_ID ^
      --region=REGION

    결과

    작업은 비동기식으로 실행됩니다. 따라서 이 명령어는 장기 실행 작업을 나타내는 작업 항목을 반환합니다.

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    
    작업이 성공했는지 확인하려면 반환된 작업 객체를 쿼리하거나 이전 작업의 상태를 확인하면 됩니다.
  4. 선택한 대상 인스턴스 또는 데이터베이스가 승격되고 이제 이전된 데이터베이스에 모든 읽기 및 쓰기 작업을 통해 액세스할 수 있습니다. 이전 작업 상태가 Completed로 변경됩니다.
  5. 이제 애플리케이션을 Cloud SQL 인스턴스에 연결하고 이전 작업을 안전하게 삭제할 수 있습니다.