다음을 통해 공유


자습서: DMS 변경 내용 복제 시나리오를 사용하여 온라인으로 MySQL에서 Azure Database for MySQL - 유연한 서버로 마이그레이션

참고 항목

이 문서에는 Microsoft에서 더 이상 사용하지 않는 용어인 슬레이브라는 용어에 대한 참조가 포함되어 있습니다. 소프트웨어에서 용어가 제거되면 이 문서에서 해당 용어가 제거됩니다.

여러 데이터베이스 원본에서 Azure 데이터 플랫폼으로 원활하게 마이그레이션할 수 있도록 설계된 완전 관리형 서비스인 Azure DMS(Database Migration Service)를 사용하여 온-프레미스 또는 기타 클라우드 서비스 MySQL Server를 Azure Database for MySQL – 유연한 서버로 마이그레이션할 수 있습니다. 이 자습서에서는 DMS 변경 내용 복제 마이그레이션 작업을 사용하여 온-프레미스 MySQL 서버에서 Azure Database for MySQL - 유연한 서버(둘 다 버전 5.7 실행)로 샘플 데이터베이스의 온라인 마이그레이션을 수행합니다.

"트랜잭션 일관성 사용"이 포함된 오프라인 시나리오를 사용하여 변경 내용 복제 마이그레이션을 실행하면 기업은 데이터베이스가 계속 작동하는 동안 해당 데이터베이스를 Azure로 마이그레이션할 수 있습니다. 즉, 중요한 애플리케이션의 최소 가동 중지 시간으로 마이그레이션을 완료하여 서비스 수준 가용성에 미치는 영향과 최종 고객의 불편을 줄 수 있습니다.

이 자습서에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • DMS에서 MySQL 변경 내용 복제 마이그레이션 프로젝트를 만듭니다.
  • 변경 내용 복제 마이그레이션을 실행합니다.
  • 마이그레이션을 모니터링합니다.
  • 마이그레이션 후 단계를 수행합니다.

필수 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • 선택한 MySQL 명령줄 도구를 사용하여 원본 서버에서 log_bin이 사용하도록 설정되어 있는지 여부를 확인합니다. Binlog는 항상 기본적으로 켜져 있는 것은 아니므로 마이그레이션을 시작하기 전에 사용하도록 설정되어 있는지 확인합니다. 원본 서버에서 log_bin이 사용하도록 설정되어 있는지 확인하려면 SHOW VARIABLES LIKE 'log_bin' 명령을 실행합니다.

  • 사용자에게 bin 로그를 적용하기 위한 대상 서버에 대한 "REPLICATION_APPLIER" 또는 "BINLOG_ADMIN" 권한이 있는지 확인합니다.

  • 사용자에게 대상 서버에 대한 "REPLICATION SLAVE" 권한이 있는지 확인합니다.

  • 사용자에게 bin 로그를 읽고 적용하기 위한 원본 서버에 대한 "REPLICATION CLIENT""REPLICATION SLAVE" 권한이 있는지 확인합니다.

  • "트랜잭션 일관성 사용"이 포함된 오프라인 마이그레이션 시나리오를 실행하여 bin 로그 파일 및 위치를 가져옵니다.

    Azure Database Migration Service 오프라인 마이그레이션의 binlog 위치 스크린샷.

  • 변경 내용 마이그레이션 복제를 대상으로 하는 경우 원본 서버에서 binlog_expire_logs_seconds 매개 변수를 구성하여 복제본이 변경 내용을 커밋하기 전에 binlog 파일이 제거되지 않도록 합니다. 2일 이상을 두고 시작하는 것이 좋습니다. 컷오버에 성공하면 값을 초기화할 수 있습니다.

제한 사항

마이그레이션을 준비할 때 다음 제한 사항을 고려해야 합니다.

  • 변경 내용 복제 마이그레이션을 수행할 때 대상 서버의 데이터베이스 이름은 원본 서버의 이름과 동일해야 합니다.

  • 지원은 ROW binlog 형식으로 제한됩니다.

  • DDL 변경 내용 복제는 DMS UI에서 선택한 개체에 대한 데이터 정의 및 관리 문 복제 옵션을 선택한 경우에만 지원됩니다. 복제 기능은 초기 로드 후에 발생하고 이진 로그에 대상에 기록되는 데이터 정의 및 관리 문 복제를 지원합니다.

  • 변경 내용을 복제할 때는 데이터베이스 또는 테이블 이름 바꾸기가 지원되지 않습니다.

변경 내용 복제 마이그레이션 프로젝트 만들기

변경 내용 복제 마이그레이션 프로젝트를 만들려면 다음 단계를 수행합니다.

  1. Azure Portal에서 모든 서비스를 선택하고 Azure Database Migration Service를 검색한 다음, Azure Database Migration Services를 선택합니다.

    Azure Database Migration Service의 모든 인스턴스 찾기 스크린샷.

  2. 검색 결과에서 예비 오프라인 마이그레이션 실행을 위해 만든 DMS 인스턴스를 선택한 다음, + 새 마이그레이션 프로젝트를 선택합니다.

    새 마이그레이션 프로젝트 선택 스크린샷.

  3. 새 마이그레이션 프로젝트 페이지에서 프로젝트 이름을 지정하고, 원본 서버 형식 선택 상자에서 MySQL을 선택하고, 대상 서버 유형 선택 상자에서 Azure Database For MySQL - 유연한 서버를 선택하고, 마이그레이션 작업 유형 선택 상자에서 변경 내용 복제를 선택한 다음 작업 만들기 및 실행을 선택합니다.

마이그레이션 프로젝트 구성

DMS 마이그레이션 프로젝트를 구성하려면 다음 단계를 수행합니다.

  1. 원본 선택 화면에서 원본 서버 이름, 서버 포트, 사용자 이름 및 암호를 원본 서버에 입력합니다.

    원본 세부 정보 추가 화면의 스크린샷.

  2. 다음 : 대상 선택>>을 선택한 다음 대상 선택 화면에서 구독, 위치 및 리소스 그룹을 기준으로 대상 서버를 찾습니다. 사용자 이름은 자동으로 채워지며 대상 유연한 서버의 암호를 입력합니다.

    대상 선택 스크린샷.

  3. 다음 : binlog 선택>>을 선택한 다음 Binlog 선택 화면에서 이전 오프라인 마이그레이션 시나리오 실행에서 캡처한 binlog 파일 이름 및 binlog 위치를 입력합니다.

    binlog 선택의 스크린샷.

  4. 다음: 데이터베이스 선택>>을 선택한 다음, 데이터베이스 선택 탭에서 마이그레이션할 서버 데이터베이스 개체를 선택합니다.

    데이터베이스 선택 스크린샷.

  5. 다음: 테이블 선택>>을 선택하여 테이블 선택 탭으로 이동합니다. 마이그레이션할 모든 테이블을 선택합니다. 테이블 선택 스크린샷.

  6. 스키마 마이그레이션을 구성한 후 마이그레이션 검토 및 시작을 선택합니다.

    실패한 마이그레이션 문제를 해결하려는 경우 마이그레이션 설정 구성 탭으로 이동하면 됩니다.

  7. 요약 탭의 작업 이름 텍스트 상자에서 마이그레이션 작업의 이름을 지정한 다음, 요약을 검토하여 원본 및 대상 세부 정보가 앞에서 지정한 내용과 일치하는지 확인합니다.

    요약의 스크린샷.

  8. 마이그레이션 시작을 선택합니다.

    마이그레이션 작업 창이 나타나고, 작업 상태는 초기화 중입니다. 테이블 마이그레이션이 시작되면 상태가 실행 중으로 바뀝니다.

    실행 중인 상태 스크린샷.

마이그레이션 모니터링

  1. 원본 뒤의 초를 모니터링하고 0에 가까워지면 마이그레이션 작업 화면 맨 위에 있는 컷오버 시작 메뉴 탭으로 이동하여 컷오버를 시작합니다.

    컷오버 수행 스크린샷.

  2. 컷오버를 수행할 준비가 되기 전에 컷오버 창의 단계를 따릅니다. 모든 단계를 완료한 후 확인을 선택한 다음 적용을 선택합니다.

    컷오버 수행 확인의 스크린샷.

컷오버가 완료되면 마이그레이션 후 유효성 검사 및 단계를 수행할 준비가 됩니다.

컷오버 수행 완료의 스크린샷.

마이그레이션 후 작업 수행

마이그레이션이 완료되면 다음 마이그레이션 후 작업을 완료해야 합니다.

  • 대상 데이터베이스에 애플리케이션의 온전성 테스트를 수행하여 마이그레이션을 인증합니다.

  • 새 유연한 서버를 가리키도록 연결 문자열 업데이트합니다.

  • 애플리케이션 연속성을 보장한 후 원본 서버를 삭제합니다.

  • DMS 리소스를 정리한 다음 단계를 수행합니다.

    1. Azure Portal에서 모든 서비스를 선택하고 Azure Database Migration Service를 검색한 다음, Azure Database Migration Services를 선택합니다.
    2. 검색 결과에서 마이그레이션 서비스 인스턴스를 선택하고 서비스 삭제를 선택합니다.
    3. 확인 대화 상자의 TYPE THE DATABASE MIGRATION SERVICE NAME 텍스트 상자에 인스턴스 이름을 입력한 다음 삭제를 선택합니다.

마이그레이션 모범 사례

마이그레이션을 수행할 때는 다음 모범 사례를 고려해야 합니다.

  • 검색 및 평가의 일환으로 서버 SKU, CPU 사용량, 스토리지, 데이터베이스 크기 및 확장 사용량을 마이그레이션에 도움이 되는 중요한 데이터의 일부로 사용합니다.

  • 프로덕션용으로 마이그레이션하기 전에 테스트 마이그레이션을 수행합니다.

    • 테스트 마이그레이션은 애플리케이션 테스트를 포함하여 데이터베이스 마이그레이션의 모든 측면을 다루는 데 중요합니다. 가장 좋은 방법은 먼저 테스트 목적으로 마이그레이션을 완전히 실행하는 것입니다. 새로 시작된 마이그레이션이 최소한의 지연으로 데이터 변경 내용 복제 단계로 진입한 후에는 테스트 워크로드를 실행하기 위해 유연한 서버 대상만 사용합니다. 예상된 성능 및 결과를 보장하기 위해 애플리케이션 테스트에 해당 대상을 사용합니다. 더 높은 MySQL 버전으로 마이그레이션하는 경우 애플리케이션 호환성을 테스트합니다.
    • 테스트가 완료되면 프로덕션 데이터베이스를 마이그레이션할 수 있습니다. 이 시점에서 프로덕션 마이그레이션의 날짜와 시간을 완료해야 합니다. 이상적으로는 이 시점에 애플리케이션 사용량이 적습니다. 참여해야 하는 모든 이해 관계자들이 작업을 시작할 수 있는 준비 상태가 되어야 합니다. 프로덕션 마이그레이션에는 면밀한 모니터링이 필요합니다. 온라인 마이그레이션의 경우 데이터 손실을 방지하기 위해 컷오버를 수행하기 전에 복제를 완료해야 합니다.
  • 모든 종속 애플리케이션을 리디렉션하여 새 기본 데이터베이스에 액세스하고 소스 서버를 읽기 전용으로 만듭니다. 그런 다음 프로덕션 사용을 위한 애플리케이션을 엽니다.

  • 애플리케이션이 유연한 서버 대상에서 실행되기 시작되면 데이터베이스 성능을 면밀히 모니터링하여 성능 조정이 필요한지 확인합니다.