Amazon Neptune 引擎 1.0.4.0 版 (2020 年 10 月 12 日) - Amazon Neptune

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

Amazon Neptune 引擎 1.0.4.0 版 (2020 年 10 月 12 日)

截至 2020 年 10 月 12 日,引擎 1.0.4.0 版已普遍部署。請注意,新版本需要數天才能在每個區域推出。

此版本的後續修補程式版本

這個引擎版本的新功能

  • 已為 Gremlin 新增框架級壓縮。

這個引擎版本的改善項目

  • Amazon Neptune 現在需要使用 Secure Sockets Layer (SSL) 搭配 TLSv1.2 通訊協定,以便在所有區域中使用這些強式密碼套件進行與 Neptune 的所有連線:

    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

    • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

    • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

    對於與 Neptune 的 REST 和 WebSocket 連線都是如此,這表示在所有區域中連線至 Neptune 時,您必須使用 HTTPS 而非 HTTP。

    因為在任何地方都不再支援使用 HTTP 或 TLS 1.1 的用戶端連線,所以在升級至此引擎版本之前,請確定您的用戶端和程式碼已更新為使用 TLS 1.2 和 HTTPS。

重要

與 Neptune 的所有連線都必須使用 SSL/TLS,可能是重大變更。它會影響您與 Girmlin 主控台、Gremlin 驅動程式、Gremlin Python、.NET、nodeJs、REST API 的連線,同時也會影響負載平衡器連線。如果您一直在使用 HTTP 進行任何或所有這些連線,則現在必須更新相關的用戶端和驅動程式,並變更您的程式碼以使用 HTTPS,否則您的連線將失敗。

此版本中的一個錯誤已允許 HTTP 連線和/或過期的 TLS 連線,繼續適用於先前設定資料庫叢集參數以防止強制執行 HTTPS 連線的客戶。該錯誤已在修補程式版本 1.0.4.0.R21.0.4.1.R2 中修正,但該修正在修補程式自動安裝時造成了非預期的連線失敗。

基於這個原因,這兩個修補程式都已還原,而且只能手動安裝,讓您有機會更新 TLS 1.2 的設定。

  • 已將 TinkerPop 升級至 3.4.8 版。這是回溯相容升級。如需最新消息,請參閱 TinkerPop 變更日誌

  • 已改善 Gremlin properties() 步驟的效能。

  • 已在 Explain 和設定檔報告中新增有關 BindOpMultiplexerOp 的詳細資訊。

  • 已新增資料預先提,以在有快取遺漏時改善效能。

  • 已在大量載入器的 parserConfiguration 參數中新增 allowEmptyStrings 設定,這允許在 CSV 載入中將空字串視為有效屬性值 (請參閱 Neptune 載入器請求參數)。

  • 載入器現在允許在多值 CSV 資料行中使用逸出分號。

此引擎版本中修正的缺陷

  • 已修正與 both() 步驟相關的潛在 Gremlin 記憶體洩漏問題。

  • 已修正以下錯誤:由於未正確處理以 '/' 結尾的端點,遺失了請求指標。

  • 已修正在實驗室模式下啟用 DFE 引擎時,導致複本落後並在大量載入下重新啟動的錯誤。

  • 已修正當大量載入由於記憶體不足的情況而失敗時,無法回報正確錯誤訊息的錯誤。

  • 已修正 SPARQL 錯誤,其中字元編碼置於 SPARQL 查詢回應中的 Content-Encoding 標頭中。現在 charset 改為置於 Content-Type 標頭中,這可讓 HTTP 用戶端辨識正在自動使用的字元集。

此版本支援的查詢語言版本

將資料庫叢集升級至 1.0.4.0 版之前,請確定您的專案與下列查詢語言版本相容:

  • Gremlin 版本:3.4.8

  • SPARQL 版本:1.1

引擎 1.0.4.0 版的升級途徑

您可以將任何先前的 Neptune 引擎版本手動升級為此版本。

您不會自動升級至此版本。

升級至此版本

Amazon Neptune 1.0.4.0 現已正式推出。

如果資料庫叢集執行的引擎版本具有升級至此版本的途徑,則有資格立即升級。您可以使用主控台上的資料庫叢集操作或使用 SDK 來升級任何有資格的叢集。以下 CLI 命令將立即升級有資格的叢集:

對於 Linux、OS X 或 Unix:

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

針對 Windows:

aws neptune modify-db-cluster ^ --db-cluster-identifier (your-neptune-cluster) ^ --engine-version 1.0.4.0 ^ --apply-immediately

更新會同時套用到資料庫叢集中的所有執行個體。更新時,所有這些執行個體都需要重新啟動資料庫,因此您會經歷 20 至 30 秒的停機時間,之後就可以繼續使用資料庫叢集。

一律在升級之前執行測試

發佈新的主要或次要 Neptune 引擎版本時,請一律先在其上測試 Neptune 應用程式,然後再升級至其中。即使是次要升級,也可能會引入將影響程式碼的新功能或行為。

首先,請將目前版本中的版本備註頁面與目標版本的版本備註頁面進行比較,以查看查詢語言版本中是否將有變更,或有其他重大變更。

在升級生產資料庫叢集之前測試新版本的最佳方式是複製您的生產叢集,以便複製執行新的引擎版本。然後,您可以在複製上執行查詢,而不會影響生產資料庫叢集。

升級前一律建立手動快照

在執行升級之前,強烈建議您一律建立資料庫叢集的手動快照。具有自動快照僅會提供短期保護,而手動快照仍然可用,直到您明確將其刪除為止。

在某些情況下,Neptune 會為您建立手動快照,作為升級程序的一部分,但您不應該依賴此快照,而且在任何情況下都應該建立自己的手動快照。

確定不需要將資料庫叢集還原為升級前狀態時,您可以明確刪除您自己建立的手動快照,以及 Neptune 可能已建立的手動快照。如果 Neptune 建立手動快照集,它會具有開頭為 preupgrade 的名稱,後面跟著資料庫叢集的名稱、來源引擎版本、目標引擎版本和日期。

注意

如果您嘗試在待定動作進行中時進行升級,可能會遇到如下錯誤:

We're sorry, your request to modify DB cluster (cluster identifier) has failed. Cannot modify engine version because instance (instance identifier) is running on an old configuration. Apply any pending maintenance actions on the instance before proceeding with the upgrade.

如果遇到此錯誤,請等候待定動作完成,或立即觸發維護時段,讓先前的升級完成。

如需有關升級引擎版本的詳細資訊,請參閱 維護 Amazon Neptune 資料庫叢集。如果您有任何問題或疑慮,請透過社群論壇及 AWS Premium Support 聯繫 AWS Support 團隊。