維護 Amazon Neptune 資料庫叢集 - Amazon Neptune

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

維護 Amazon Neptune 資料庫叢集

Neptune 會定期針對其使用的所有資源執行維護,包括:

  • 視需要更換基礎硬體設施。這會在背景中作業,您無需採取任何動作,而且通常不會影響您的運作。

  • 更新基礎作業系統。資料庫叢集中執行個體的作業系統升級是為了提升效能和安全性,因此通常須盡速完成這些執行個體。通常,更新大約需要 10 分鐘。作業系統更新不會變更資料庫執行個體的資料庫引擎版本或資料庫執行個體類別。

    一般而言,最好先更新資料庫叢集中的讀取器執行個體,然後再更新寫入器執行個體。同時更新讀取器和寫入器可能會在發生容錯移轉時導致停機。請注意,在作業系統更新之前,資料庫執行個體不會自動備份,因此請務必在套用作業系統更新之前進行手動備份。

  • 更新 Neptune 資料庫引擎。Neptune 會定期發布各種引擎更新,以導入新特色和改進功能,並修復錯誤。

引擎版本編號

引擎版本 1.3.0.0 之前的版本編號

在 2019 年 11 月之前,Neptune 一次僅支援一個引擎版本,而且所有引擎版本號碼皆採用以下格式:1.0.1.0.200<xxx>,其中 xxx 是修補程式號碼。新引擎版本均以舊版修補程式的形式發布。

自 2019 年 11 月起,Neptune 開始支援多重版本,讓客戶更能妥善管控其升級途徑。因此,引擎版本編號已變更。

從 2019 年 11 月起,直到引擎版本 1.3.0.0 為止,引擎版本編號有 5 個部分。以版本編號 1.0.2.0.R2 為例:

  • 第一部分永遠是 1。

  • 第二部分 (01.0.2.0.R2 中) 是資料庫主要版本號碼。

  • 第三部分和第四部分 (2.01.0.2.0.R2 中) 都是次要版本號碼。

  • 第五部分 (R21.0.2.0.R2 中) 是修補程式編號。

大多數更新都是修補程式更新,修補程式和次要版本更新之間的區別不是那麼清楚。

從引擎版本 1.3.0.0 開始的版本編號

引擎版本 1.3.0.0 開始,Neptune 改變了引擎更新的編號和管理方式。

引擎版本編號現在有四個部分,每個部分對應一種發行版本類型,如下所示:

    product-version.major-version.minor-version.patch-version

先前作為修補程式發行之排序的非中斷變更,現在會以次要版本的形式發行,您可以使用 AutoMinorVersionUpgrade 執行個體設定來管理。

這表示如果您希望每次發行新的次要版本時,都可以透過訂閱 RDS-EVENT-0156 事件來接收通知 (請參閱訂閱 Neptune 事件通知)。

修補程式版本目前保留給緊急目標修正,並使用版本號碼的最後部分的號碼 (*.*.*.1*.*.*.2 等) 進行編號。

Amazon Neptune 中不同類型的引擎版本

與引擎版本號碼的四個部分相對應的四種引擎版本類型如下:

  • 產品版本 – 只有在產品功能或介面發生徹底的根本變更時,才會變更。目前的 Neptune 產品版本為 1。

  • 主要版本 – 主要版本引入重要的新功能和突破性的變更,一般都具有至少兩年的使用期限。

  • 次要版本 – 次要版本可以包含新特色、改進功能和錯誤修復,但不包含重大變更。您可以選擇是否在下一個維護時段中自動套用新功能,也可以選擇在版本發行時收到通知。

  • 修補程式版本 – 只在要解決緊急錯誤修正或重大安全性更新時發行修補程式版本。這些版本很少包含重大變更,而且會在發行後的下一個維護時段自動套用這些變更。

Amazon Neptune 主要版本更新

主要版本更新通常會導入一或多個重要的新功能,而且通常包含重大變更。其通常具有大約兩年的支援期限。Neptune 主要版本會列在引擎版本中,以及發行的日期及其預估的生命週期結束時間。

在您使用的主要版本到達其生命週期結束之前,主要版本更新是完全選用的。如果選擇升級到新的主要版本,您必須使用 AWS CLI 或 Neptune 主控台自行安裝新版本,如 主要版本升級 中所述。

但是,如果您使用的主要版本生命週期已經結束,系統會通知您必須升級到更新的更新的主要版本。然後,如果您未在通知後的寬限期內升級,系統會自動排程在下一個維護時段升級至最新的主要版本。如需更多資訊,請參閱引擎版本生命週期

Amazon Neptune 次要版本更新

大多數 Neptune 引擎更新都是次要版本更新。更新次數相當頻率,並且不包含重大變更。

如果您在資料庫叢集的寫入器 (主要) 執行個體中將 AutoMinorVersionUpgrade 欄位設定為 true,次要版本更新會在發行後的下一個維護時段,自動將次要版本更新套用至資料庫叢集中的所有執行個體。

如果您在資料庫叢集的寫入器執行個體中將 AutoMinorVersionUpgrade 欄位設定為 false,則只有在明確安裝時才會套用這些更新。

注意

次要版本更新是自給自足的 (而不是依賴相同主要版本的先前次要版本更新) 和累積 (包含先前次要版本更新中導入的所有功能和修正程式)。這意味著您可以安裝任何指定的次要版本更新,無論您是否已安裝以前的更新。

您可以透過訂閱 RDS-EVENT-0156 事件輕鬆追蹤次要版本的發行 (請參閱訂閱 Neptune 事件通知)。然後,每次發行新的次要版本時,您都會收到通知。

而且,無論您是否訂閱通知,都可以隨時查看有哪些更新擱置中

Amazon Neptune 修補程式更新

如果發生安全問題或其他影響執行個體可靠性的嚴重缺陷,Neptune 會部署強制性修補程式。在下一個維護時段期間,會將修補程式套用至資料庫叢集中的所有執行個體,而不需要您的介入。

只有在未部署修補程式的風險大於與部署相關的任何風險和停機時間時,才會部署修補程式版本。不常發行修補程式 (通常幾個月才發行一次),且幾乎不需要太長的維護時段。

規劃 Amazon Neptune 主要引擎版本生命週期

Neptune 引擎版本幾乎總是在行事曆季度結束時達到其生命週期結束。僅在發生重要安全性或可用性問題時,才會發生例外狀況。

當引擎版本到達其生命週期結束時,您需要將 Neptune 資料庫升級至更新的版本。

一般而言,Neptune 引擎版本繼續可供使用,如下所示:

  • 次要引擎版本:次要引擎版本在發行後至少仍能使用 6 個月。

  • 主要引擎版本:主要引擎版本在發行後至少仍能使用 12 個月。

在引擎版本到達生命週期結束之前至少 3 個月,AWS 會將自動電子郵件通知傳送至與 AWS 帳戶關聯的電子郵件地址,並將相同的訊息張貼至您的 AWS 運作狀態儀表板。這會讓您有時間規劃和準備升級。

當引擎版本到達其生命週期結束時,您將再也無法使用該版本建立新的叢集或執行個體,自動擴展也無法使用該版本建立執行個體。

實際到達生命週期結束的引擎版本將在維護時段期間自動升級。在引擎版本生命週期結束前 3 個月傳送給您的訊息將包含此自動更新所涉及內容的詳細資料,包括您將自動升級至哪個版本、對資料庫叢集的影響,以及我們建議的動作。

重要

您負責將資料庫引擎版本保持在最新狀態。AWS 會促使所有客戶將其資料庫升級至最新的引擎版本,以便得益於最新的安全性、隱私權和可用性防禦措施。如果在超過棄用日期的不受支援引擎或軟體 (「舊版引擎」) 上操作資料庫,您可能會面臨更大的安全性、隱私權和操作風險 (包括停機事件)。

在任何引擎上操作您的資料庫都會受制於控管您使用 AWS 服務的協議。舊版引擎未正式推出。如果 AWS 確定舊版引擎對服務、AWS、其關係企業或任何第三方構成安全性或責任風險,或有傷害風險,則 AWS 不再對舊版引擎提供支援,且 AWS 可能隨時限制對任何舊版引擎的存取或使用。您決定繼續在舊版引擎中執行您的內容,可能會導致您的內容無法使用、損毀或無法復原。在舊版引擎上執行的資料庫受服務水準協議 (SLA) 例外狀況約束。

在舊版引擎上執行的資料庫和相關軟體包含錯誤、瑕疵和/或有害元件。因此,儘管協議或服務條款有任何相反的規定,AWS 仍按「原狀」提供舊版引擎。

手動安裝更新至您的 Neptune 引擎

安裝主要版本引擎升級

主要引擎版本一律必須手動安裝。為了將停機時間減到最少,並提供足夠的時間進行測試和驗證,安裝新的主要版本的最佳方法通常是使用 Neptune 藍綠部署解決方案

在某些情況下,您也可以使用用來建立資料庫叢集的 AWS CloudFormation 範本來安裝主要版本升級 (請參閱 使用 AWS CloudFormation 範本更新 Neptune 資料庫叢集的引擎版本)。

如果想要立即安裝主要版本更新,您可以使用如下所示的 CLI 命令:

aws neptune modify-db-cluster \ --db-cluster-identifier (identifier for your neptune cluster) \ --engine neptune \ --engine-version (the new engine version) \ --apply-immediately

請務必指定要升級為哪個引擎版本。若未指定,引擎可能會升級為非最新的版本,或是非您預期的版本。

您可以指定 --no-apply-immediately,而不是 --apply-immediately

如果您的叢集使用自訂叢集參數群組,請務必使用此參數來指定:

--db-cluster-parameter-group-name (name of the custom DB cluster parameter group)

同樣的,如果叢集中有任何執行個體使用自訂資料庫參數群組,請務必使用此參數來指定:

---db-instance-parameter-group-name (name of the custom instance parameter group)

使用 AWS Management Console 安裝次要版本引擎升級

使用 Neptune 主控台執行次要版本升級
  1. 登入 AWS 管理主控台,然後開啟位於 https://console.aws.amazon.com/neptune/home 的 Amazon Neptune​ 主控台。

  2. 在導覽窗格中,選擇資料庫,然後選取您要修改的資料庫叢集。

  3. 選擇 Modify (修改)

  4. 執行個體規格下方,選擇您要升級至哪個新版本。

  5. 選擇 Next (下一步)

  6. 若要立即套用變更,請選擇立即套用

  7. 選擇提交以更新您的資料庫叢集。

使用 AWS CLI 安裝次要版本引擎升級

只要使用類似下列的命令,您不必等到下一個維護時段就能執行次要版本升級:

aws neptune modify-db-cluster \ --db-cluster-identifier (your-neptune-cluster) \ --engine-version (new-engine-version) \ --apply-immediately

如果您使用 AWS CLI 手動升級,請務必包含您要升級的引擎版本。若未指定,引擎可能會升級為並非最新的版本,或是並非您預期的版本。

從 1.2.0.0 之前的版本升級至引擎 1.2.0.0 版或更新版本

引擎版本 1.2.0.0 會導入幾項重要變更,這些變更可能會使從舊版升級變得比以往更加複雜:

  • 引擎 1.2.0.0 版引入了新格式,適用於自訂參數群組和自訂叢集參數群組。因此,如果您要從 1.2.0.0 之前的引擎版本升級至引擎 1.2.0.0 版或更新版本,則必須使用參數群組系列 neptune1.2 重新建立所有現有的自訂參數群組和自訂叢集參數群組。舊版已使用參數群組系列 neptune1,而這些參數群組不會使用 1.2.0.0 版及更新版本。如需更多資訊,請參閱Amazon Neptune 參數群組

  • 引擎 1.2.0.0 版也為復原日誌引入了新格式。因此,必須清除舊版引擎建立的任何還原日誌,且 UndoLogsListSize CloudWatch 指標必須降至零,然後才能開始從 1.2.0.0 之前的版本進行任何升級。如果在嘗試啟動更新時有太多的還原日誌 (200,000 或更多),則在等待清除還原日誌完成時,升級嘗試可能會逾時。

    您可以升級叢集的寫入器執行個體 (此為進行清除的位置),以加快清除率。在嘗試升級之前執行此操作可能會在您開始之前減少還原日誌的數目。將寫入器的大小增加至 24XL 執行個體類型,可以將清除率提高到每小時超過一百萬筆記錄。

    如果 UndoLogsListSize CloudWatch 指標非常大,開啟支援案例可協助您探索其他策略,以降低該指標。

  • 最後,1.2.0.0 版中有重大變更,這會影響使用 Bolt 通訊協定搭配 IAM 身分驗證的舊版程式碼。從 1.2.0.0 版開始,Bolt 需要一個資源路徑進行 IAM 簽署。在 Java 中,設定資源路徑可能如下所示:request.setResourcePath("/openCypher"));。在其他語言中,/openCypher 可以附加到端點 URI。如需範例,請參閱 使用 Bolt 通訊協定