本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Neptune 藍/綠解決方案執行藍綠更新
Amazon Neptune 引擎升級可能需要應用程式停機,因為在安裝和驗證更新時無法使用資料庫。無論它們是手動還是自動啟動,都是如此。
Neptune 提供藍/綠部署解決方案,您可以使用 AWS CloudFormation 堆疊執行,並大幅減少此類停機時間。它會建立與您的藍色生產環境同步的綠色預備環境。然後,您可以更新該預備環境,以執行次要或主要引擎版本升級、圖形資料模型變更,或作業系統更新,並測試結果。最後,您可以快速將其切換為您的生產環境,停機時間很短。
Neptune 藍/綠解決方案經過兩個階段,如下圖所示:
第 1 階段會建立與生產叢集相同的綠色資料庫叢集
此解決方案會建立一個資料庫叢集,其具有唯一的藍/綠部署識別符,並具有與生產叢集相同的叢集拓撲。也就是說,它具有相同的資料庫執行個體數量和大小、相同的參數群組,以及與生產 (藍色) 資料庫叢集相同的組態,不同之處在於它已升級至您指定的目標引擎版本,但此版本必須高於您目前的 (藍色) 引擎版本。您可以指定目標的次要和主要引擎版本。如有必要,解決方案會執行任何所需的中繼升級,以達到指定的目標引擎版本。這個新叢集會成為綠色預備環境。
第 2 階段會設定連續資料同步
在綠色環境完全準備好之後,解決方案會使用 Neptune 串流,在來源 (藍色) 叢集與目標 (綠色) 叢集之間設定連續複寫。當它們之間的複寫差異達到零時,預備環境就可以進行測試。此時,您必須暫停寫入至藍色叢集,以避免任何進一步的複寫延遲。
您的目標引擎版本可能具有會影響應用程式的新功能或相依性。檢查引擎版本下的目標引擎版本頁面和介入引擎版本頁面,以查看自目前引擎版本以來發生了哪些變更。在將您的應用程式提升至生產環境之前,最好先在綠色叢集上執行整合測試或手動驗證該應用程式。
在測試並限定了綠色叢集中的變更之後,只要將應用程式中的資料庫端點從藍色叢集切換為綠色叢集即可。
轉換後,Neptune 藍/綠解決方案不會刪除舊的藍色生產環境。如果需要,您仍然可以存取它,以進行其他驗證和測試。標準帳單費用會確實套用至其執行個體,直到您刪除它們為止。Blue/Green 解決方案也會使用其他服務 AWS ,其費用會以正常價格計費。清除一節中涵蓋了在完成解決方案後將其刪除的詳細資訊。
執行 Neptune 藍/綠堆疊的必要條件
啟動 Neptune 藍/綠堆疊之前:
務必在生產 (藍色) 叢集上啟用 Neptune 串流。
藍色叢集中的所有執行個體都必須處於可用狀態。您可以在 Neptune 主控台
或使用 describe-db-instances 來檢查執行個體狀態API。 所有執行個體也必須與資料庫叢集參數群組同步。
Neptune Blue/Green 解決方案需要VPC您藍色叢集所在的 中的 DynamoDB VPC端點。請參閱使用 Amazon VPC端點存取 DynamoDB 。
選擇在藍色生產資料庫叢集上的寫入工作負載盡可能輕時執行解決方案。例如,避免在大量載入發生時,或是在由於任何其他原因而可能有大量寫入操作時執行解決方案。