Amazon RDS for MySQL 버전 업그레이드를 수행하려면 어떻게 해야 하나요?

4분 분량
0

MySQL 버전을 위해 Amazon Relational Database Service(Amazon RDS)를 업그레이드하고 싶습니다. 업그레이드 수행 방법과 업그레이드 시간에 영향을 미치는 요인을 알고 싶습니다.

해결 방법

Amazon RDS for MySQL 버전 업그레이드 수행

RDS DB 인스턴스의 엔진 버전을 수동으로 업그레이드하려면 AWS Management Console, AWS Command Line Interface(AWS CLI) 또는 Amazon RDS API를 사용하세요.

참고: CLI 명령을 실행할 때 오류가 발생하면 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

업그레이드 프로세스의 개요는 RDS for MySQL DB 엔진 업그레이드를 참조하세요.

Amazon RDS for MySQL 업그레이드 시간

업그레이드 프로세스 기간은 업그레이드 유형, 데이터 및 사용 가능한 리소스에 따라 다릅니다. 먼저 별도의 테스트 인스턴스에서 업그레이드를 테스트하여 대략적인 업그레이드 기간을 파악하는 것이 좋습니다. 스냅샷 복원 또는 읽기 전용 복제본을 사용하여 메이저 또는 마이너 업그레이드를 위한 테스트 인스턴스를 시작할 수도 있습니다. 메이저 및 마이너 버전 업그레이드에 대한 자세한 내용은 Major version upgrades for RDS for MySQLAutomatic minor version upgrades for RDS for MySQL을 참조하세요.

팁: 업그레이드 가동 중지를 최소화하려면 데이터베이스 업데이트에 블루/그린 배포를 사용하세요

업그레이드 시간에 영향을 줄 수 있는 요인

모든 버전 업그레이드

백업이 켜져 있으면 Amazon RDS는 인스턴스가 이전 버전을 여전히 실행하고 있을 때 스냅샷을 찍습니다. Amazon RDS에서 최신 백업을 찾지 못한 경우, Amazon RDS는 업그레이드 프로세스 중에 전체 스냅샷을 찍습니다. 변경의 크기에 따라 업그레이드 완료에 걸리는 시간이 결정됩니다. 하지만 Amazon RDS가 스냅샷을 찍을 때 인스턴스는 계속해서 트래픽을 받아들일 수 있습니다.

백업이 완료되면 인스턴스가 종료됩니다. 그런 다음 MySQL은 비활성화된 네트워크에서 새 엔진 버전을 실행하여 모든 원격 연결을 차단합니다.

참고: 메이저 버전 업그레이드를 수행하는 경우, 종료까지 더 오랜 시간이 걸릴 수 있습니다.

메이저 버전 업그레이드만

느린 종료를 사용하기 위해 Amazon RDS는 innodb_fast_shutdown 파라미터 값을 0으로 설정합니다. 이 모드는 변경 버퍼 병합 및 삭제된 행 전체 제거와 같은 추가 플러시를 수행합니다. 복구된 데이터의 양에 따라 느린 종료에는 몇 분 또는 몇 시간이 걸릴 수 있습니다. 변경 버퍼가 크거나 기록 목록이 긴 데이터베이스의 느린 종료에는 시간이 더 오래 걸릴 수 있습니다. 

자세한 내용은 MySQL 웹사이트의 다음 설명서를 참조하세요.

mysql_upgrade 프로그램은 MySQL 데이터베이스에서 실행되어 시스템 및 사용자 테이블을 새 버전으로 변환합니다. 테이블 상태에 따라 새 버전을 준수하기 위해 테이블을 생성해야 할 수 있습니다. 대부분의 경우, 변경할 필요가 없습니다. mysql_upgrade 프로그램은 테이블의 메타데이터를 업데이트하여 데이터베이스가 업그레이드되었음을 나타냅니다. 테이블 수가 많으면 Amazon RDS for MySQL에서 메이저 버전 업그레이드를 완료하는 데 시간이 더 오래 걸릴 수 있습니다. 자세한 내용은 MySQL 웹사이트에서 mysql_upgrade: check and upgrade MySQL tables를 참조하세요.

버전 5.7로 메이저 업그레이드하는 동안 Amazon RDS for MySQL이 일부 테이블을 다시 빌드합니다. 모든 날짜 및 시간 열 유형이 새 형식으로 변환됩니다. 테이블의 데이터 양에 따라 변환에 몇 시간에서 며칠이 소요될 수 있습니다. 자세한 내용은 MySQL 버전 5.7로의 업그레이드가 느릴 수 있음을 참조하세요.

MySQL 8.0에는 MySQL 5.7과 호환되지 않는 것이 여럿 포함되어 있습니다. 이러한 비호환성으로 인해 MySQL 5.7에서 MySQL 8.0으로 업그레이드하는 동안 문제가 발생할 수 있습니다. 업그레이드를 성공적으로 수행하려면 데이터베이스를 준비해야 할 수 있습니다. 자세한 내용은 MySQL 5.7에서 8.0으로 업그레이드하기 위한 사전 점검을 참조하세요.

MySQL 5.7에서 8.0으로 업그레이드를 시작하면 Amazon RDS는 자동으로 사전 점검을 실행하여 이러한 비호환성을 감지합니다. 이러한 사전 점검은 필수입니다. 자세한 내용은 MySQL 웹사이트의 Upgrading MySQL을 참조하세요.

참고:

  • MySQL 5.7에서 MySQL 8.0으로 업그레이드하는 경우, Amazon RDS는 모든 업그레이드 사전 점검을 실행합니다.
  • MySQL 5.6에서 MySQL 5.7로 업그레이드하는 경우, Amazon RDS는 사전 점검을 실행하여 테이블을 다시 빌드하기에 충분한 스토리지 공간이 있는지 확인합니다. 또한 Amazon RDS는 사전 점검을 실행하여 고아 테이블이 없는지 확인합니다.
  • Amazon RDS는 MySQL 5.7 이전 버전으로의 업그레이드를 대상으로 사전 점검을 실행하지 않습니다.
  • 메이저 버전 업그레이드가 실패할 경우를 대비하여 롤백 계획을 세우는 것이 가장 좋습니다.
  • 테이블에 문제가 있는지 확인하려면 mysqlcheck를 수행하는 것이 가장 좋습니다. 그러나 테이블 유지 관리 작업은 특히 대형 테이블의 경우 상당한 시간과 리소스를 소비할 수 있습니다. 자세한 내용은 MySQL 웹사이트의 mysqlcheck: A table maintenance program을 참조하세요.

관련 정보

DB 인스턴스 엔진 버전 업그레이드

Amazon RDS for MySQL과 Amazon RDS for MariaDB를 업그레이드하기 위한 모범 사례

Amazon RDS의 MySQL 버전