當我嘗試擴展 Amazon Aurora MySQL 相容版本資料庫執行個體或變更執行個體類別時,收到錯誤訊息。
簡短描述
當您變更與 Aurora MySQL 相容的資料庫執行個體的執行個體類別時,您可能會收到下列其中一個錯誤:
- 「無法修改執行個體類別,因為目前執行個體的可用區域中沒有可用的請求類別執行個體。請稍後重試您的請求」
- 「找不到 aurora-mysql 的 abc 版本」
- 「RDS 不支援使用下列組合建立資料庫執行個體」
若要對此問題進行疑難排解,請根據您收到的錯誤執行下列動作。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
在對該錯誤進行疑難排解之前,最佳做法是在最新的引擎版本上執行資料庫叢集,或使用長期支援 (LTS) 版本。較新的引擎版本提供了修復,改善了安全性、穩定性和執行個體可用性。
若要檢查資料庫叢集版本,請開啟 Amazon Relational Database Service (Amazon RDS) 主控台,然後檢查引擎版本下的值。如果您的資料庫叢集執行的是 Aurora MySQL 版本 3,請使用預設版本 3.05.2 或 LTS 版本 3.04.1。
**注意:**如果您的資料庫叢集執行的是 Aurora MySQL 版本 2,那麼您只能使用針對 2.11 和 2.12 次要版本的 Amazon RDS 擴充支援。版本 2.11.5 是預設版本。
升級引擎版本後,請在資料庫叢集中的執行個體上安裝作業系統 (OS) 升級。建立 Aurora 複製品來測試資料庫升級。某些 AWS 區域或可用區域可能不支援舊版執行個體類別,例如 T2 或 R3。最佳做法是使用較新的執行個體類別,例如 T3 和 R5。
無法修改執行個體類別
當可用區域沒有足夠的隨需容量來容納您選擇的執行個體類別時,就會發生無法修改執行個體類別錯誤。若要解決此問題,請等待幾分鐘,然後再次修改執行個體類別。如果執行個體類別不適用於執行個體所運作可用區域中的 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 修改具有已停用或不正確版本的執行個體類別時,會發生找不到版本錯誤。
若要取得 Aurora MySQL 資料庫叢集中資料庫執行個體的版本號碼,請執行下列查詢:
SELECT @@AURORA_VERSION;
若要檢查資料庫叢集引擎版本,請登入叢集,然後執行以下 describe-db-clusters 命令:
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 替換為您的區域。
若要升級資料庫叢集引擎,請執行下列 apply-pending-maintenance-action 命令:
aws rds apply-pending-maintenance-action --resource-identifier example-ARN --apply-action system-update --opt-in-type immediate
**注意:**將 example-ARN 替換為資料庫叢集 ARN。
RDS 不支援使用下列組合建立資料庫執行個體
如果您升級至 db.r4 執行個體系列,但資料庫叢集使用的是舊版 Aurora,那麼您會收到以下錯誤碼:
「DBInstanceClass=db.r4.large, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.05.2, LicenseModel=general-public-license.」
您只能在 2.x 版本中使用 db.r4 執行個體系列,而不能在 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 執行個體系列,但資料庫執行個體使用的是舊版 Aurora,那麼您會收到以下錯誤碼:
「DBInstanceClass=db.r8g.large, Engine=aurora-mysql, EngineVersion=8.0.mysql_aurora.3.05.2, LicenseModel=general-public-license.」
db.r8 執行個體系列並非在所有 Aurora 版本中都可用。例如,您只能在 Aurora 版本 3.08.0 及更新版本中使用 db.r5.8xlarge 執行個體類別。或者,您只能在 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 替換為您的執行個體類別。
相關資訊
資料庫執行個體類別類型