Amazon Simple Storage Service(Amazon S3)를 사용하여 자체 관리형 MySQL 데이터베이스의 데이터를 Amazon Aurora MySQL 호환 버전 DB 클러스터로 마이그레이션하려고 합니다.
해결 방법
Percona Xtrabackup 설치
MySQL 데이터 디렉터리와 파일을 직접 복사하려면 Percona XtraBackup 도구를 사용합니다. 복원 시간을 단축하려면 대규모 데이터베이스에 이 도구를 사용하는 것이 가장 좋습니다. 도구에 대한 자세한 내용은 Percona XtraBackup 웹 사이트의 Percona XtraBackup - 설명서를 참조하십시오.
참고: S3에서 복원 옵션을 사용하여 Amazon S3로 내보낸 스냅샷을 복원할 수 없습니다.
MySQL 5.7을 마이그레이션하는 방법에 대한 설명은 Percona XtraBackup 웹 사이트의 Percona XtraBackup 2.4 설치를 참조하십시오. MySQL 8.0을 마이그레이션하는 방법에 대한 설명은 Percona XtraBackup 웹 사이트의 Percona XtraBackup 8.0 설치 개요를 참조하십시오. Percona XtraBackup 버전이 소스 데이터베이스의 엔진 버전과 호환되어야 합니다.
데이터 백업
다음 단계를 완료합니다.
- Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결하거나 MySQL 데이터베이스를 실행하는 온프레미스 서버에 연결합니다.
- 데이터베이스를 백업하려면 다음 명령을 실행합니다.
xtrabackup --backup --user=myuser --password --stream=xbstream \--target-dir=/on-premises/s3-restore/backup | split -d --bytes=500MB \- /on-premises/s3-restore/backup/backup.xbstream
참고: myuser를 소스 데이터베이스 사용자 이름으로, /on-premises/s3-restore/backup을 출력 파일을 생성하려는 디렉터리로 바꾸십시오. 이 명령은 여러 xbstream 파일로 분할된 MySQL 데이터베이스의 백업을 만듭니다.
Aurora는 소스에서 모든 항목을 복원하지 않습니다. 다음 리소스를 수동으로 다시 생성해야 합니다.
- 사용자 AWS 계정
- 함수
- 저장 프로시저
- 시간대 정보
Percona XtraBackup에 대한 자세한 내용은 백업 고려 사항을 참조하십시오.
백업을 S3 버킷에 업로드
다음 단계를 완료합니다.
- S3 버킷을 만듭니다.
참고: 버킷은 EC2 인스턴스 및 Aurora DB 클러스터와 동일한 AWS 리전에 있어야 합니다.
- 새 버킷을 선택하고, 폴더 생성을 선택합니다.
- 새 폴더를 선택하고, 업로드를 선택합니다.
- Percona XtraBackup 도구에서 만든 파일을 업로드합니다.
- (선택 사항) 사용 사례에 따라 권한 또는 속성과 같은 추가 속성을 구성합니다.
- 업로드를 선택합니다.
참고: S3 버킷에 파일을 업로드할 때 서버 측 암호화를 사용하여 데이터를 암호화할 수 있습니다.
Amazon S3에서 Aurora로 데이터베이스 가져오기
다음 단계를 완료합니다.
- AWS Management Console에 로그인한 다음, Aurora 및 RDS 콘솔을 엽니다.
- 탐색 창에서 대시보드를 선택합니다.
- 데이터베이스 생성에서 S3에서 복원을 선택합니다.
- S3 소스의 S3 버킷 드롭다운 목록에서 만든 S3 버킷을 선택합니다.
- (선택 사항) S3 접두사에 Amazon S3 버킷에 저장된 파일의 파일 경로 접두사를 입력합니다.
중요: 버킷 이름을 입력할 때 선행 또는 후행 슬래시(/)를 사용하지 마십시오.
- 엔진 버전에 소스 Aurora MySQL 엔진 버전을 입력합니다. 최신 엔진 버전을 입력할 수도 있습니다.
- IAM 역할에서 기존 IAM 역할을 선택할 수 있습니다.
- (선택 사항) 새 역할 생성을 선택하여 새 IAM 역할을 만들 수도 있습니다.
- 클러스터 스토리지 구성을 선택합니다.
- 인스턴스 구성을 선택합니다.
- 설정을 구성합니다.
- 가용성 및 내구성에서 다중 AZ 배포를 만들지 여부를 선택합니다.
- 연결에서 연결 설정을 검토합니다.
- 데이터베이스 생성을 선택합니다.
- 클러스터가 사용 가능 상태가 되면 Aurora MySQL DB 클러스터가 데이터베이스 아래에 있는지 확인합니다.
관련 정보
Percona XtraBackup 및 Amazon S3를 사용하여 MySQL에서 물리적 마이그레이션
Percona XtraBackup
Percona XtraBackup 웹 사이트의 백업 주기 - 전체 백업