Amazon S3을 사용해 MySQL 데이터를 Aurora MySQL DB 클러스터로 마이그레이션하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 5월 29일

MySQL의 데이터를 Amazon Aurora MySQL DB 클러스터로 마이그레이션하려 합니다. Amazon Simple Storage Service(Amazon S3)를 사용하여 MySQL 데이터를 Aurora MySQL DB 클러스터로 복원하려면 어떻게 해야 합니까?

해결 방법

Amazon Aurora MySQL은 MySQL 5.6 및 MySQL 5.7 버전과 호환됩니다. MySQL innobackupex 백업을 복원하려면 먼저 Percona 웹 사이트로 이동하여 Percona Xtrabackup(버전 2.3 이상)을 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 설치합니다.

sudo yum install percona-xtrabackup-file_name_and_extension

참고: file_name_and_extension을 Percona Xtrabackup 패키지에 따라 적절한 파일 이름과 확장명으로 대체해야 합니다. 다음 예제를 참조하십시오.

sudo yum install percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm

Percona Xtrabackup을 설치한 후 Aurora MySQL로 마이그레이션하고자 하는 데이터를 백업합니다. 그런 다음, Amazon S3로 백업을 업로드하여 복원 작업을 수행합니다. 자세한 내용은 Percona의 백업 주기 관련 설명서를 참조하십시오.

EC2 인스턴스에 연결하고 MySQL 데이터베이스 백업

1.    SSH를 사용하여 MySQL 데이터베이스를 실행 중인 인스턴스에 연결합니다.

2.    Percona Xtrabackup을 설치합니다.

sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
sudo yum install perl-DBD-MySQL -y
sudo yum install percona-xtrabackup -y

3.    데이터베이스 백업:

xtrabackup --backup --user=<myuser> --password=<password> --stream=xbstream \
--target-dir=</on-premises/s3-restore/backup> | split -d --bytes=500MB \
- </on-premises/s3-restore/backup/backup>.xbstream

이 명령을 사용하면 여러 개의 xbstream 파일로 분할된 MySQL 데이터베이스 백업을 생성합니다.

참고: Aurora로 소스에서 복원되지 않는 파일도 있습니다. 데이터베이스가 복원된 뒤에는 다음과 같은 항목을 다시 생성할 수 있습니다.

  • 사용자 계정
  • 함수
  • 저장된 프로시저
  • 시간대 정보

백업을 S3 버킷에 업로드

1.    S3 버킷을 생성합니다.
참고: 버킷이 EC2 인스턴스 및 새 Aurora DB 클러스터와 같은 리전에 있어야 합니다.

2.    생성한 버킷을 선택하고 [폴더 만들기]를 선택합니다.

3.    폴더를 선택한 다음 [업로드]를 선택합니다.

4.    파일을 업로드하고 권한을 설정합니다.

5.    속성을 설정한 다음 [업로드]를 선택합니다.

참고: Amazon S3 버킷에 파일을 업로드하는 경우, 데이터 암호화에 서버 측 암호화를 사용할 수 있습니다.

Amazon S3에서 Aurora로 데이터베이스 가져오기

1.    [Amazon Relational Database Service(Amazon RDS) 콘솔]을 열고 탐색 창에서 [대시보드]를 선택합니다.

2.    [S3에서 Aurora DB 클러스터 복원]을 선택합니다.

3.    이전에 기록해둔 [소스 엔진 버전]을 입력합니다.

4.    [S3 백업 위치] 드롭다운 메뉴에서 생성한 S3 버킷을 선택합니다. [S3 버킷 접두사]를 입력합니다.
참고: [S3 버킷 접두사] 필드에 버킷 이름을 입력할 때 정방향 또는 역방향 슬래시(“/”)를 사용하지 마십시오.

5.    AWS Identity and Access Management(IAM) 역할을 생성하여 Amazon RDS에 S3 버킷에 액세스할 권한을 부여하고 [다음 단계]를 선택합니다.

6.    DB 세부 정보를 지정하고 [다음 단계]를 선택합니다.

7.    [고급 설정] 및 [데이터베이스 옵션]을 구성합니다. [DB 클러스터 ID]에 생성한 IAM 역할을 입력합니다.

8.    [DB 인스턴스 시작]을 선택합니다.

9.    클러스터를 이용할 수 있게 되면 [DB 인스턴스 보기]를 선택하여 Aurora DB 인스턴스가 생성되었는지 확인합니다.