Amazon Aurora MySQL DB 클러스터로 데이터 마이그레이션 - Amazon Aurora

Amazon Aurora MySQL DB 클러스터로 데이터 마이그레이션

기존 데이터베이스에서 Amazon Aurora MySQL DB 클러스터로 데이터를 마이그레이션하기 위한 여러 가지 옵션이 있습니다. 마이그레이션할 데이터베이스와 데이터 크기에 따라서도 마이그레이션 옵션이 달라집니다.

마이그레이션에는 물리적 마이그레이션과 논리적 마이그레이션이라는 두 가지 유형이 있습니다. 물리적 마이그레이션이란 데이터베이스 파일의 물리적 사본을 사용하여 데이터베이스를 마이그레이션함을 뜻합니다. 논리적 마이그레이션은 삽입, 업데이트, 삭제 같은 논리적인 데이터베이스 변경을 적용하여 마이그레이션이 이루어짐을 뜻합니다.

물리적 마이그레이션의 장점은 다음과 같습니다.

  • 물리적 마이그레이션은 특히 대규모 데이터베이스의 경우, 논리적 마이그레이션보다 빠릅니다.

  • 물리적 마이그레이션을 위해 백업을 생성할 때 데이터베이스 성능이 저하되지 않습니다.

  • 물리적 마이그레이션은 복잡한 데이터베이스 구성 요소를 포함하여 원본 데이터베이스의 모든 것을 마이그레이션할 수 있습니다.

물리적 마이그레이션의 제한은 다음과 같습니다.

  • innodb_page_size 파라미터를 기본값(16KB)으로 설정해야 합니다.

  • innodb_data_file_path 파라미터는 기본 데이터 파일 이름 "ibdata1:12M:autoextend"를 사용하는 데이터 파일 하나만 사용하여 구성해야 합니다. 두 개의 데이터 파일이 있거나 다른 이름의 데이터 파일이 있는 데이터베이스는 이 방법을 사용하여 마이그레이션할 수 없습니다.

    다음은 허용되지 않는 파일 이름의 예입니다. "innodb_data_file_path=ibdata1:50M; ibdata2:50M:autoextend""innodb_data_file_path=ibdata01:50M:autoextend".

  • innodb_log_files_in_group 파라미터를 기본값(2)으로 설정해야 합니다.

논리적 마이그레이션의 장점은 다음과 같습니다.

  • 특정 테이블이나 테이블의 일부와 같은 데이터베이스 하위 집합을 마이그레이션할 수 있습니다.

  • 물리적 스토리지 구조에 상관없이 데이터를 마이그레이션할 수 있습니다.

논리적 마이그레이션의 제한은 다음과 같습니다.

  • 논리적 마이그레이션은 일반적으로 물리적 마이그레이션보다 느립니다.

  • 복잡한 데이터베이스 구성 요소는 논리적 마이그레이션 프로세스의 속도를 늦출 수 있습니다. 경우에 따라 복잡한 데이터베이스 구성 요소가 논리적 마이그레이션을 차단할 수도 있습니다.

다음 표에서는 사용자의 옵션과 각 옵션에 따른 마이그레이션 유형을 설명합니다.

마이그레이션 원본 [Migration type] 솔루션

RDS for MySQL DB 인스턴스

물리적

먼저 MySQL DB 인스턴스의 Aurora MySQL 읽기 전용 복제본을 생성하여 RDS for MySQL DB 인스턴스에서 마이그레이션할 수 있습니다. MySQL DB 인스턴스와 Aurora MySQL 읽기 전용 복제본 간 복제 지연이 0이라면 클라이언트 애플리케이션이 Aurora 읽기 전용 복제본에서 데이터를 가져오다가 읽기 또는 쓰기 작업이 있을 때는 복제를 중단하고 Aurora MySQL 읽기 전용 복제본을 독립형 Aurora MySQL DB 클러스터로 사용하도록 지정할 수 있습니다. 자세한 내용은 단원을 참조하십시오Aurora 읽기 전용 복제본을 사용하여 RDS for MySQL DB 인스턴스에서 Amazon Aurora MySQL DB 클러스터로 데이터 마이그레이션

RDS for MySQL DB 스냅샷

물리적

RDS for MySQL DB 스냅샷의 데이터를 Amazon Aurora MySQL DB 클러스터로 직접 마이그레이션할 수 있습니다. 세부 정보는 RDS for MySQL 스냅샷을 Aurora로 마이그레이션을 참조하세요.

Amazon RDS 외부의 MySQL 데이터베이스

논리적

mysqldump 유틸리티로 데이터 덤프를 생성하고 해당 데이터를 기존 Amazon Aurora MySQL DB 클러스터로 가져올 수 있습니다. 세부 정보는 mysqldump를 사용하여 MySQL에서 Amazon Aurora MySQL로 논리적 마이그레이션을 참조하세요.

외부 MySQL 데이터베이스에서 마이그레이션하는 동안 데이터베이스 사용자의 메타데이터를 내보내려면 mysqldump 대신 MySQL Shell 명령도 사용할 수 있습니다. 자세한 내용은 Instance Dump Utility, Schema Dump Utility, and Table Dump Utility를 참조하세요.

참고

mysqlpump 유틸리티는 MySQL 8.0.34부터 더 이상 사용되지 않습니다.

Amazon RDS 외부의 MySQL 데이터베이스

물리적

데이터베이스에서 Amazon Simple Storage Service(Amazon S3) 버킷으로 백업 파일을 복사한 후 해당 파일에서 Amazon Aurora MySQL DB 클러스터를 복원할 수 있습니다. mysqldump를 사용하여 데이터를 마이그레이션하는 것보다 이 방법이 훨씬 더 빠를 것입니다. 자세한 내용은 단원을 참조하십시오Percona XtraBackup과 Amazon S3를 사용하여 MySQL에서 물리적으로 마이그레이션

Amazon RDS 외부의 MySQL 데이터베이스

논리적

데이터베이스의 데이터를 텍스트 파일로 저장하고 해당 파일을 Amazon S3 버킷에 복사할 수 있습니다. 그런 다음 LOAD DATA FROM S3 MySQL 명령을 사용하여 기존 Aurora MySQL DB 클러스터에 해당 데이터를 로드할 수 있습니다. 자세한 내용은 Amazon S3 버킷의 텍스트 파일에서 Amazon Aurora MySQL DB 클러스터로 데이터 로드 단원을 참조하십시오.

MySQL과 호환되지 않는 데이터베이스

논리적

AWS Database Migration Service(AWS DMS)을 사용하여 MySQL 비호환성 데이터베이스의 데이터를 마이그레이션할 수 있습니다. AWS DMS에 대한 자세한 내용은 AWS Database Migration Service란 무엇입니까?를 참조하세요.

참고

Amazon RDS 외부의 MySQL 데이터베이스를 마이그레이션하는 경우, 표에 설명된 마이그레이션 옵션은 데이터베이스가 InnoDB 또는 MyISAM 테이블스페이스를 지원하는 경우에만 지원됩니다.

Aurora MySQL로 마이그레이션하는 MySQL 데이터베이스가 memcached를 사용하는 경우 마이그레이션 전에 memcached를 제거하세요.

8.0.11, 8.0.13 및 8.0.15 등의 일부 이전 MySQL 8.0 버전에서는 Aurora MySQL 버전 3.05 이상으로 마이그레이션할 수 없습니다. 마이그레이션하기 전에 MySQL 버전 8.0.28로 업그레이드하는 것이 좋습니다.