執行次要版本升級 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

執行次要版本升級

您可以使用下列方法來升級資料庫叢集的次要版本或修補資料庫叢集:

在執行次要版本升級之前

建議您執行下列動作,以減少次要版本升級期間的停機時間:

如何執行次要版本升級和套用修補程式

次要版本升級和修補程式在 AWS 區域 只有經過嚴格的測試。在發行升級和修補程式之前,Aurora Postgre 會SQL測試以確保次要社群版本發行後出現的已知安全性問題、錯誤和其他問題,不會中斷整體 Aurora Postgre SQL 叢集穩定性。

當 Aurora Postgre SQL 提供新的次要版本時,組成 Aurora Postgre SQL 資料庫叢集的執行個體可在指定的維護時段期間自動升級。為此,您的 Aurora Postgre SQL 資料庫叢集必須開啟啟用 auto 次要版本升級選項。組成 Aurora Postgre 資料SQL庫叢集的所有資料庫執行個體都必須開啟自動次要版本升級 (AMVu) 選項,以便在整個叢集中套用次要升級。

提示

確定組成 Aurora Postgre 資料庫叢集的所有 Postgre SQL 資料庫執行個體均已開啟啟用 auto 次要版本升級選項。SQL此選項必須開啟,資料庫叢集中的每個執行個體才會運作。如需了解如何設定自動次要版本升級,以及該設定套用於叢集和執行個體層級時如何運作,請參閱  Aurora 資料庫叢集的自動次要版本升級

您可以使用以下方式檢查所有 Aurora Postgre SQL 資料庫叢集的啟用 auto 次要版本升級選項的值。describe-db-instances AWS CLI 命令與下面的查詢。

aws rds describe-db-instances \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,DBInstanceIdentifier:DBInstanceIdentifier,AutoMinorVersionUpgrade:AutoMinorVersionUpgrade}'

此查詢會傳回一個清單,其中列出所有的 Aurora 資料庫叢集,以及 AutoMinorVersionUpgrade 設定的狀態值為 truefalse 的執行個體。如圖所示的命令假定您擁有 AWS CLI 設定為目標您的預設值 AWS 區域.

如需 AmVU 選項及如何修改 Aurora 資料庫叢集以使用的詳細資訊,請參閱 Aurora 資料庫叢集的自動次要版本升級

您可以透過回應維護工作或修改叢集以使用新版本,將 Aurora Postgre SQL 資料庫叢集升級為新的次要版本。

您可以使用RDS主控台並開啟「建議」功能表,識別 Aurora Postgre SQL 資料庫叢集的任何可用升級或修補程式。在此,您可以找到各種維護問題的清單,例如 Old minor versions (舊次要版本)。視您的生產環境而定,您可以選擇 Schedule (排程) 升級,或選擇 Apply now (立即套用) 立即採取動作,如下所示。

此主控台圖顯示升級到較新次要版本的建議。

若要進一步了解如何維護 Aurora 資料庫叢集,包括如何手動套用修補程式和次要版本升級,請參閱 維持​ 為 Amazon Aurora​ 資料庫叢集

次要版本升級和零停機時間修補

升級 Aurora Postgre SQL 資料庫叢集涉及中斷的可能性。在升級過程中,資料庫在升級期間會關閉。如果您在資料庫忙碌時開始升級,則會遺失資料庫叢集正在處理的所有連線和交易。如果您要等到資料庫閒置才執行升級,就可能必須等待很長時間。

零停機修補 (ZDP) 功能可改善升級程序。使用時ZDP,可以套用次要版本升級和修補程式,而對 Aurora Postgre SQL 資料庫叢集的影響最小。ZDP在將修補程式或較新的次要版SQL本升級套用至 Aurora Postgre 版本以及其他較高版本的這些次要版本和較新的主要版本時使用。也就是說,從任何這些版本的後續用途ZDP升級到新的次要版本。

下表顯示可用的 Aurora Postgre SQL 版本和資料庫執行個體類別:ZDP

版本 db.r* 執行個體類別 db.t* 執行個體類別 db.x* 執行個體類別 db.serverless 執行個體類別
10.21.0 版和更新的 10.21 版 N/A
11.16.0 版和更新的 11.16 版 N/A
11.17 和更新版本 N/A
12.11.0 版和更新的 12.11 版 N/A
12.12 和更新版本 N/A
13.7.0 版和更新的 13.7 版 N/A
13.8 和更新版本
14.3.1 和更新的 14.3 版 N/A
14.4.0 版和更新的 14.4 版 N/A
14.5 和更新版本
15.3 和更新版本

ZDP透過在整個 Aurora Postgre SQL 升級程序中,保留目前與 Aurora Postgre SQL 資料庫叢集的用戶端連線。但是,在下列情況下,連線將會中斷ZDP以完成:

  • 長時間執行的查詢或交易正在進行中。

  • 資料定義語言 (DDL) 陳述式正在執行中。

  • 暫存資料表或資料表鎖定正在使用中。

  • 所有工作階段都在通知通道上接聽。

  • 處於 'WITHHOLD' 狀態的游標正在使用中。

  • TLSv1.3 或 TLSv1 .1 連線正在使用中。

在使用升級程序期間ZDP,資料庫引擎會尋找靜音點以暫停所有新交易。此動作可在修補程式和升級期間保護資料庫。為了確保應用程式在事務暫停期間順利執行,建議您將重試邏輯整合到程式碼中。此方法可確保系統能夠管理任何短暫的停機時間而不致失效,且可在升級後重試新的事務。

順利ZDP完成時,除了連線中斷的應用程式工作階段外,系統會維護應用程式工作階段,而資料庫引擎會在升級仍在進行中時重新啟動 雖然資料庫引擎重新啟動可能會導致輸送量暫時下降,但一般只會持續數秒,最多持續一分鐘左右。

在某些情況下,零停機修補 (ZDP) 可能無法成功。例如,Aurora Postgre SQL 資料庫叢集或其執行個體上處於某個pending狀態的參數變更會干擾ZDP。

您可以在主控台的「事件」頁面中找到ZDP作業的指標和事件。這些事件包括ZDP升級開始和升級完成。在這種情況下,您可以找到此過程所花的時間,以及重新啟動期間發生的保留和捨棄連線數量。您可以在資料庫錯誤日誌中找到詳細資訊。

將 Aurora 波斯特雷SQL引擎升級到新的次要版本

您可以使用主控台將 Aurora Postgre SQL 資料庫叢集升級為新的次要版本 AWS CLI,或 RDSAPI. 在執行升級之前,我們建議您遵循與主要版本升級建議的相同最佳作法。與新的主要版本一樣,新的次要版本也有優化器改進 (如修復),這可能會導致查詢計劃迴歸。為了確保計劃的穩定性,我們建議您使用查詢計劃管理 (QPM) 擴充功能,如中所述主要版本升級之後確保計畫穩定性

升級您的 Aurora SQL 資料庫叢集的引擎版本
  1. 登入 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/

  2. 在導覽窗格中選擇 Databases (資料庫),然後選擇您要升級的資料庫叢集。

  3. 選擇 Modify (修改)Modify DB cluster (修改資料庫叢集) 頁面隨即出現。

  4. Engine version (引擎版本) 中,選擇新版本。

  5. 選擇 Continue (繼續),並檢查修改的摘要。

  6. 若要立即套用變更,請選擇 Apply immediately (立即套用)。在某些情況下,選擇此選項會導致停機。如需更多詳細資訊,請參閱 修改 Amazon Aurora 資料庫叢集

  7. 在確認頁面上,檢閱您的變更。如果都正確,請選擇 Modify cluster (修改叢集) 以儲存您的變更。

    或者,選擇 Back (上一步) 以編輯變更,或是選擇 Cancel (取消) 以取消變更。

若要升級資料庫叢集的引擎版本,請使用 modify-db-cluster AWS CLI 具有以下參數的命令:

  • --db-cluster-identifier— 您的 Aurora 郵政SQL資料庫叢集的名稱。

  • --engine-version – 會以此資料庫引擎版本編號為目標進行升級。如需有效引擎版本的相關資訊,請使用 AWS CLI describe-db-engine-versions指令。

  • --no-apply-immediately – 下個維護時段再套用變更。若要立即套用變更,請改用 --apply-immediately

用於 Linux, macOS,或 Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --engine-version new_version \ --no-apply-immediately

用於 Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --engine-version new_version ^ --no-apply-immediately

若要升級資料庫叢集的引擎版本,請使用 M odifyDBCluster 作業。指定下列參數:

  • DBClusterIdentifier— 資料庫叢集的名稱,例如 MYDB 群集.

  • EngineVersion – 會以此資料庫引擎版本編號為目標進行升級。如需有效引擎版本的相關資訊,請使用「D escribeDBEngine 版本」作業。

  • ApplyImmediately – 指出要立即套用變更,或等到下個維護時段再套用。若要立即套用變更,請將值設為 true。若要在下一次維護時段套用變更,請將值設為 false