跳至內容

我該如何對 Aurora MySQL 相容版升級問題進行疑難排解?

2 分的閱讀內容
0

我想對在使用藍/綠部署升級 Amazon Aurora MySQL 相容版本資料庫時遇到的錯誤進行疑難排解。

簡短描述

如果您使用藍/綠部署來升級 Aurora MySQL 相容版資料庫,則您的部署可能會顯示升級狀態為「無效組態」。若要取得此問題的更多資訊,請檢查寫入執行個體的日誌與事件,尋找以下訊息:

「Failed to provision due to upgrade incompatibilities.」

若要解決此問題,請完成以下疑難排解步驟。

解決方法

準備藍/綠部署

為減少藍/綠部署的問題,請完成以下最佳實務來準備部署:

  • 檢查 Aurora MySQL 版本相容性矩陣,以確保您可以使用藍/綠部署將目前版本升級至目標版本。如需更多資訊,請參閱檢查 Aurora MySQL 版本號碼
  • 評估您的應用程式在切換期間處理短暫中斷的能力。您也可以在應用程式程式碼中實作連線重試邏輯,以協助切換過程。如需如更多資訊,請參閱藍/綠部署一般最佳實務
  • 檢查所有組態設定,以確保目前版本與目標版本相容。
  • 建立目前資料庫的備份,以確保需要時可以回復。

執行藍/綠部署

請在部署期間完成以下任務:

  • 使用 Amazon CloudWatch 指標、Amazon EventBridge與日誌監控升級進度。
  • 如果你在相同的主要版本內升級到較新的次要版本,請在綠色叢集上使用使用升級功能。此功能可讓您在完成切換過程前達到最新修補版本。
  • 在您確認綠色環境已準備就緒且綠色叢集沒有複本延遲後,請在計劃的維護時段內完成切換。

如果在切換過程中轉換操作停滯或變慢,請檢查錯誤日誌以尋找特定的錯誤訊息或瓶頸。您可以指定轉換逾時期間,介於 30 秒至 3,600 秒 (1 小時) 之間。如果轉換操作超過指定的時間,Aurora 將回復變更,並且不會更動任何環境。

**注意:**預設逾時期間為 300 秒 (5 分鐘)。

使用替代升級方式

對於某些升級,例如從 Aurora Serverless v1 升級到 Aurora Serverless v2,您無法使用藍綠部署程序。若要解決此問題,請使用下列其中一種方法:

使用讀取副本

請執行以下動作:

  1. 建立 Aurora Serverless v1 叢集的讀取複本。
  2. 將叢集的讀取複本升級至 Aurora Serverless v2。
  3. 將讀取複本更新為主要叢集。

如需更多資訊,請參閱從 Aurora Serverless v1 叢集升級至 Aurora Serverless v2

使用快照還原

請執行以下動作:

  1. 建立 Aurora Serverless v1 叢集的快照。
  2. 將快照還原到新的 Aurora Serverless v2 叢集。
  3. 更新您的應用程式以指向新的 v2 叢集。

升級後檢查組態

完成叢集升級後,確認所有資料庫功能、儲存程序及應用程式查詢如預期運作。在升級後的 24 至 48 小時內 (包括尖峰時段),監控效能指標,以確保沒有出現任何預期外的效能影響。

其他疑難排解步驟

相容性錯誤

如果目前資料庫組態使用的設定或功能與目標資料庫不相容,那麼您會收到以下錯誤訊息:

「Failed to provision due to upgrade incompatibilities.See https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.mysql80-upgrade-procedure.html#AuroraMySQL.mysql80-upgrade-troubleshooting to resolve these issues, then delete and recreate this Blue/Green Deployment.」

若要解決此錯誤,請完成以下步驟:

  1. 檢查 Aurora MySQL 相容資料庫中的 upgrade-prechecks.log 檔案。
  2. 處理日誌檔中發現的相容性問題。如需更多資訊,請參閱 社群版 MySQL 升級預先檢查摘要Aurora MySQL 升級預先檢查摘要
  3. 刪除藍/綠部署
  4. 重新建立藍/綠部署

參數相容性錯誤

如果您的綠色叢集處於不相容參數狀態且非可用狀態,則表示現有叢集參數或執行個體參數值與目標版本不相容。

若要解決此錯誤,請完成以下步驟:

  1. 重設叢集參數群組與執行個體參數值

  2. 若要將綠色叢集提升為獨立叢集,請執行 promote-read-replica-db-cluster 命令:

    aws rds promote-read-replica-db-cluster --db-cluster-identifier <Green Cluster>
  3. 刪除叢集執行個體

  4. 檢查現有叢集參數值與目標版本的相容性。或在藍色叢集上切換為預設值。然後在切換至綠色叢集時,逐一修改參數值。

  5. 確認參數後,建立新的藍/綠環境

疑難排解停滯的升級

您的綠色叢集可能因以下原因在升級過程中停滯:

  • 目標版本不相容
  • 藍色叢集上長時間執行的交易阻礙了綠色叢集的升級程序

若要解決該錯誤,請完成下列任務:

  1. 檢查升級後的版本是否支援直接升級至目標版本。
  2. 如果不支援該版本,請還原變更並刪除藍綠部署。
  3. 升級到建議的中間版本。最後,升級至最終版本。

您也可以監控藍色叢集中執行時間較長的交易。如果有執行時間較長的交易,請完成或終止這些交易。然後重試升級程序。

相關資訊

如何將 Amazon Aurora MySQL 資料庫叢集升級至新版本?

升級至 Amazon Aurora MySQL 版本 3 (具有 MySQL 8.0 相容性)

以最短停機時間執行 Amazon Aurora MySQL 的主要版本升級

升級 Amazon Aurora MySQL 資料庫叢集的主要版本

AWS 官方已更新 1 年前