Amazon Aurora MySQL 호환 버전 DB 인스턴스를 확장하거나 인스턴스 클래스를 변경하려고 할 때 오류가 발생합니다.
간략한 설명
Aurora MySQL 호환 DB 인스턴스의 인스턴스 클래스를 변경할 때 다음 오류 중 하나가 표시될 수 있습니다.
- "Cannot modify the instance class because there are no instances of the requested class available in the current instance's availability zone. Please try your request again at a later time"
- "Cannot find version abc for aurora-mysql"
- "RDS does not support creating a DB instance with the following combination"
이 문제를 해결하려면 표시된 오류를 기반으로 다음 조치를 취하십시오.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
오류를 해결하기 전에 최신 엔진 버전에서 DB 클러스터를 실행하거나 장기 지원(LTS) 버전을 사용하는 것이 좋습니다. 최신 엔진 버전은 수정 사항을 통해 보안, 안정성 및 인스턴스 가용성을 개선합니다.
DB 클러스터 버전을 확인하려면 Amazon Relational Database Service(Amazon RDS) 콘솔을 열고 엔진 버전 값을 확인합니다. DB 클러스터가 Aurora MySQL 버전 3에서 실행되는 경우 기본 버전 3.05.2 또는 LTS 버전 3.04.1을 사용하십시오.
참고: DB 클러스터가 Aurora MySQL 버전 2에서 실행되는 경우 2.11 및 2.12 마이너 버전에 대한 Amazon RDS 확장 지원만 사용할 수 있습니다. 버전 2.11.5가 기본값입니다.
엔진 버전을 업그레이드한 후 DB 클러스터의 인스턴스에 운영 체제(OS) 업그레이드를 설치합니다. Aurora 클론을 생성하여 데이터베이스 업그레이드를 테스트합니다. T2 또는 R3와 같은 이전 인스턴스 클래스에서는 일부 AWS 지역 또는 가용 영역이 제공되지 않을 수 있습니다. T3 및 R5와 같은 최신 인스턴스 클래스를 사용하는 것이 좋습니다.
인스턴스 클래스를 수정할 수 없음
Cannot modify the instance class 오류는 가용 영역에 선택한 인스턴스 클래스에 대한 온디맨드 용량이 충분하지 않을 때 발생합니다. 이 문제를 해결하려면 몇 분 정도 기다린 다음 인스턴스 클래스를 다시 수정하십시오. 이 오류는 인스턴스가 실행되는 가용 영역의 Aurora 엔진 및 버전에서 해당 인스턴스 클래스를 사용할 수 없는 경우에도 발생합니다.
엔진, 엔진 버전 및 인스턴스 클래스를 사용할 수 있는 가용 영역을 식별하려면 describe-orderable-db-instance-options AWS CLI 명령을 실행합니다.
aws rds describe-orderable-db-instance-options --engine engine_name --engine-version engine_version --db-instance-class instance-class --query 'OrderableDBInstanceOptions[].AvailabilityZones'
참고: engine-name을 Aurora 엔진으로, engine-version을 엔진 버전으로, instance-class를 인스턴스 클래스로 바꾸십시오.
버전을 찾을 수 없음
AWS CLI를 사용하여 더 이상 사용되지 않거나 잘못된 버전의 인스턴스 클래스를 수정하는 경우 Cannot find version 오류가 발생합니다.
Aurora MySQL DB 클러스터의 DB 인스턴스의 버전 번호를 가져오려면 다음 쿼리를 실행합니다.
SELECT @@AURORA_VERSION;
DB 클러스터 엔진 버전을 확인하려면 클러스터에 로그인하고, describe-db-cluster 명령을 실행합니다.
aws rds describe-db-clusters \
--db-cluster-identifier example-cluster-identifier \
--query 'DBClusters[].EngineVersion' \
--output text \
--region Region-example
참고: example-cluster-identifier를 클러스터 식별자 또는 ARN으로, Region-example을 사용자의 리전으로 바꾸십시오.
DB 클러스터 엔진을 업그레이드하려면 apply-pending-maintenance-action 명령을 실행합니다.
aws rds apply-pending-maintenance-action --resource-identifier example-ARN --apply-action system-update --opt-in-type immediate
참고: example-ARN을 DB 클러스터 ARN으로 바꾸십시오.
RDS가 다음 조합을 사용하는 DB 인스턴스 생성을 지원하지 않음
db.r4 인스턴스 패밀리로 업그레이드했지만 DB 클러스터에서 이전 버전의 Aurora를 실행하는 경우 다음 오류 코드가 표시됩니다.
"DBInstanceClass=db.r4.large, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.05.2, LicenseModel=general-public-license."
db.r4 인스턴스 패밀리는 2.x 버전에서만 사용할 수 있으며, 3.x 버전에서는 사용할 수 없습니다. 또한 Aurora MySQL 호환 환경에서는 최적화된 읽기 인스턴스 클래스를 실행할 수 없습니다. r6gd 또는 db.r6id 인스턴스 클래스 패밀리로 업그레이드하려고 하면 다음 오류 코드가 표시됩니다.
"DBInstanceClass=db.r6gd.xlarge, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.07.1, LicenseModel=general-public-license."
db.r8 인스턴스 패밀리로 업그레이드했지만 DB 인스턴스가 이전 버전의 Aurora에서 실행되는 경우 다음 오류 코드가 표시됩니다.
"DBInstanceClass=db.r8g.large, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.05.2, LicenseModel=general-public-license."
db.r8 인스턴스 패밀리는 일부 Aurora 버전에서 사용할 수 없습니다. 예를 들어, db.r5.8xlarge 인스턴스 클래스는 Aurora 버전 3.08.0 이상에서만 사용할 수 있습니다. 또는 버전 3.08.0 이상에서만 db.r7i를 사용할 수 있습니다. 하지만 버전 2.12.0 이상 및 버전 3.03.1 이상에서는 db.r7g를 사용할 수 있습니다.
엔진과 인스턴스 클래스 조합에 따라 허용되는 엔진 버전을 식별하려면 describe-orderable-db-instance-options 명령을 실행합니다.
aws rds describe-orderable-db-instance-options --engine example-engine --db-instance-class example-instance-class --query 'OrderableDBInstanceOptions[].EngineVersion'
참고: example-engine을 엔진으로, example-instance-class를 인스턴스 클래스로 바꾸십시오.
관련 정보
DB 인스턴스 클래스 유형