[AWS] RDS MySQL to Aurora Serverless Migrate

제공

개요


AWS 의 관리형 데이터베이스 서비스인 RDS 에서는 MySQL Community 와 같은 기존 데이터베이스 엔진을 그대로 지원하기도 하며,

AWS 의 자체 엔진인 Aurora 를 통해 호환 버전을 제공하기도 함.

이전에는 Aurora 엔진을 사용하는 것에 큰 이점이 없었으나, 최근에는 여러 새로운 기술이나 Serverless 형태의 인스턴스는 Aurora 에서만 지원하므로 Aurora MySQL(PostgreSQL) 엔진을 사용하는 이점이 매우 커졌다고 할 수 있다.

배경


MySQL 5.7 버전은 2023-10-31 을 기해 연장 지원까지 모두 종료되었음.

이에 AWS RDS 에서 지원하는 MySQL Community 버전에 대해서도 2024-02-29 을 기해 일반 지원은 종료되며, 연장 지원 대상으로 전환됨을 공지하였음.

https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/extended-support.html

연장 지원으로 자원을 사용할 경우, 적지 않은 추가 비용(vCPU/시간당 0.12 USD)이 청구되며, 버전 현행화 차원에서도 5.7 버전 유지가 워크로드 상 의미가 없다면 업그레이드가 권장됨

유의사항


https://repost.aws/questions/QUM2j4BPEQS5CBHVu4QbOLCA/migrate-rds-mysql-8-0-28-to-aurora-mysql

MySQL Community 버전에서 Aurora MySQL(Serverless) 로 마이그레이션하는 방법은 현재 원스텝으로 지원하는 방법이 없음.

따라서 AWS 포럼에서 제시하는 방법은

1. Aurora read replica 를 생성함

2. Aurora MySQL (Replica cluster) 에서 스냅샷을 생성하여 Severless 인스턴스로 Restore 함

해당 방법에는 몇가지 제약사항이 있음

  • Serverless v2(aurora 3) 는 MySQL 8.0 버전에 대응되며, MySQL 5.7 버전에는 Serverless v1(aurora 2) 이 대응됨
  • Serverless v2 나 Aurora MySQL 8.0 버전 생성을 위해서는 먼저 MySQL 버전을 8.0 이상으로 업그레이드해야 함.
  • MySQL Community 버전에서 바로 Aurora MySQL 로 마이그레이션되지 않음.
  • MySQL 과 Aurora MySQL(Serverless) 의 버전은 서로 일치해야 함.

작업 내용


우선 포럼에서 추천하는 아래의 방법대로 진행함

1. ‘MySQL Community 데이터베이스‘의 버전을 ‘8.0.32’ 로 업그레이드함

  • 문서 작성 당시 기준으로 8.0.28 or 8.0.32 로 맞춰야 하나, 업그레이드로는 8.0.32 만 선택 가능하였음

2. 8.0.32 버전으로 업그레이드된 MySQL Community 데이터베이스에서 ‘Create Aurora Read Replica‘ 작업을 실행함

3. Serverless 인스턴스를 지원하는 버전인 3.04.x 이나 3.05.x 를 선택함

4. 생성된 ‘Replica Cluster‘ 에서 ‘스냅샷’을 생성함

5. 해당 스냅샷으로 ‘Restore‘ 를 진행함.

  • 인스턴스 타입을 Serverless v2 로 선택하여 생성하였음.


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다