從 Couchbase 伺服器遷移到 AWS 上的 Couchbase 雲端 - AWS Prescriptive Guidance

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

從 Couchbase 伺服器遷移到 AWS 上的 Couchbase 雲端

由巴圖加普雷弗拉格查亞(AWS)和馬克賭博(沙發基地)創作

:环境 生產

來源:Couchbase 伺服器

目標:Couchbase 雲

R 類型 平台重建

工作負載:所有其他工作負載

:Technologies 移轉; 分析; 資料庫

:AWS 服務:亞馬遜 EBS; Amazon EC2; Amazon EC2 Auto Scaling; 亞馬遜 EKS; Amazon S3; Amazon Route 53; AWS Transit Gateway

Summary

Couchbase 雲端是完全受管的 NoSQL 資料庫即服務 (DBA),適用於關鍵任務應用程式 (例如,使用者設定檔或線上目錄和庫存管理)。Couchbase 雲端可協助管理 Amazon Web Services (AWS) 帳戶中的工作負載,並使用透明的 VPC 內部部署、單一介面中的多個叢集管理,以及混合雲複寫。

Couchbase 雲可協助您立即擴展 Couchbase 伺服器應用程式,同時省去安裝、升級、備份或一般資料庫維護的需求。Couchbase 雲提供可擴展性,幫助您在幾分鐘內創建多節點集群,並支持所有 Couchbase 服務器功能(例如N1QL全文搜尋事件服務,以及分析服務

此模式描述移轉自我管理的Couchbase 伺服器將環境至Couchbase 雲在 AWS 雲端上進行操作。該模式提供了一個可重複的程序,用於將資料和索引從 Couchbase 伺服器叢集 (在內部部署或雲端中執行) 遷移到 Couchbase 雲。 

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶 如需 AWS 帳戶所需許可和資源容量的詳細資訊,請參閱雲端提供者需求(位於 CouchBase 文件中)。

  • 一個現有的庫基雲帳戶。您也可建立AWS 上的雲端帳戶,並使用 Couchbase 雲端免費試用版。請遵循「」在 Couchbase Cloud 上開始使用教學課程,然後升級至付費的 Couchbase 雲端帳戶,以配置您的叢集進行遷移。

  • 現有的自我管理的 Couchbase 伺服器環境,無論是在內部部署或部署在雲端服務供應商上。

  • 此模式提供以下兩個遷移選項:

    • 選項 1是合適的,如果您有少於 50 個要遷移的索引。 

    • 選項 2是合適的,如果您有 50 個以上的索引要遷移。如果您使用此移轉選項,則必須安裝沙發底,並建立組態檔案,藉由使用範例檔案程式碼] 區段。

遷移程序也需要下表說明的角色和專業知識。

角色專業知識職責
Couchbase administrator
  • 熟悉沙發伺服器和沙發雲

  • 基本的命令行知識很有幫助,但不是必需的

  • Couchbase 伺服器和 Couchbase 雲端特定工作

Systems administrator, IT administrator
  • 熟悉自我管理的 Couchbase 伺服器系統環境與管理

  • 開啟連接埠,並判斷完整網域名稱 (FQDN) 和自行管理 Couchbase Server 叢集節點上的 IP 地址,並判斷完整網域名稱 (FQ

技能

  • 熟悉管理 Couchbase 伺服器和雲端

  • 熟悉在命令列界面 (CLI) 中開啟 TCP 連接埠和執行命令

限制

  • 這種模式用於將數據和索引從 Couchbase 服務器遷移到 AWS 上的 Couchbase 雲。該模式不適用於遷移沙發活動服務Couchbase 分析, 或Couchbase 全文搜尋

  • Couchbase Cloud 僅適用於下列 AWS 區域:

    • 美國東部 (俄亥俄) 區域 (us-east-2)

    • 美國東部 (維吉尼亞北部) 區域 (us-east-1)

    • 美國西部 (奧勒岡) 區域 (us-west-2) 

    • 亞太區域 (孟買) 區域 (ap-south-1)

    • 亞太區域 (首爾) 區域 (ap-northeast-2) 

    • 亞太區域 (新加坡) 區域 (ap-southeast-1) 

    • 亞太區域 (雪梨) 區域 (ap-southeast-2) 

    • 亞太區域 (東京) 地區 (ap-northeast-1)

    • 加拿大 (中部) 區域 (ca-central-1)

    • 歐洲 (法蘭克福) 區域 (eu-central-1) 

    • 歐洲 (愛爾蘭) 區域 (eu-west-1) 

    • 歐洲 (倫敦) 區域 (eu-west-2) 

    • 歐洲 (巴黎) 地區 (eu-west-3) 

    • 歐洲 (斯德哥爾摩) 區域 (eu-north-1)

產品版本

Architecture

來源堆疊

目標堆疊

目標架構

  1. 您可以使用存取 Couchbase 雲端CouchBase Cloud Control 平面。您可以使用 Couchbase 雲端控制平面控制和監控您的帳戶、叢集和資料管理、索引、使用者和群組、存取權限和事件管理。

  2. 所以此Couchbase 雲資料平面部署在您 AWS 帳戶的 VPC 中。建立新叢集後,Couchbase 雲端會在您的 VPC 中部署 Amazon Elastic Kubernetes Service (Amazon EKS) 叢集,並在沙發基自主操作員提供管理功能。您的叢集會自動部署到 AWS 帳戶區域中的多個可用區域。

  3. 您也可以在 AWS 帳戶的另一個 VPC 中開發和部署 Couchbase 應用程式。通常,此 VPC 會透過 VPC 對等互連或 AWS Transit Gateway 存取 Couchbase 雲端資料平面。

Tools

  • 基座 XDCR— Couchbase 跨資料中心複寫 (XDCR) 允許跨位於不同雲端提供者和不同資料中心的叢集複寫資料。

  • 沙發底— Couchbase 殼層是 Couchbase 伺服器和 Couchbase 雲存取本機和遠端 Couchbase 叢集的命令列殼層。Couchbase 外殼用於遷移這種模式的索引。

重要:所以此準備遷移epic 提供一般指導,用於評估您自行管理的 Couchbase 伺服器叢集的大小,並使用它來識別您的 Couchbase 雲目標叢集所需的配置。如需更詳細的 Couchbase 雲端調整大小練習的說明,請聯絡雲端

Code

下面的代碼是一個示例配置檔案,用於沙發底殼。您必須使用此範例組態檔,如果您選擇選項 2用於您的移轉:

Version = 1   [[clusters]] identifier = "On-Prem-Cluster" hostnames = ["<SELF_MANAGED_COUCHBASE_CLUSTER>"] default-bucket = "travel-sample" username = "<SELF_MANAGED_ADMIN>" password = "<SELF_MANAGED_ADMIN_PWD>" cert-path = "/<ABSOLUTE_PATH_TO_SELF_MANAGED_ROOT_CERT>" data-timeout = "2500ms" connect-timeout = "7500ms" query-timeout = "75s"   [[clusters]] identifier = "Cloud-Cluster" hostnames = ["<COUCHBASE_CLOUD_ENDPOINT>"] default-bucket = "travel-sample" username = "<CLOUD_DATABASE_USER>" password = "<CLOUD_DATABASE_USER_PWD>" cert-path = “/<ABSOLUTE_PATH_TO_COUCHBASE_CLOUD_ROOT_CERT>" data-timeout = "2500ms" connect-timeout = "7500ms" query-timeout = "75s"

儲存組態檔之前,請使用下表確定您已新增自己的目標和目的地叢集資訊。

<SELF_MANAGED_COUCHBASE_CLUSTER>Use the IP address for your self-managed Couchbase Server cluster
<SELF_MANAGED_ADMIN>Use the administrator user for your self-managed Couchbase Server cluster
<ABSOLUTE_PATH_TO_SELF_MANAGED_ROOT_CERT>Use the absolute path to the saved root certificate file for your self-managed Couchbase Server cluster
<COUCHBASE_CLOUD_ENDPOINT>Use the connection endpoint for your self-managed Couchbase Server cluster
<CLOUD_DATABASE_USER>Use the database user for your Couchbase Cloud cluster
<CLOUD_DATABASE_USER_PWD>Use the database user password for your Couchbase Cloud cluster
<ABSOLUTE_PATH_TO_COUCHBASE_CLOUD_ROOT_CERT>Use the absolute path to the saved root certificate file for your Couchbase Cloud cluster

Epics

任務描述所需技能
評估自我管理 Couchbase 伺服器叢集的大小。

登入Couchbase Web 主控台,並評估您的自我管理叢集的節點和儲存貯體。 

選擇伺服器索引標籤,以顯示叢集節點的清單。記錄節點數目,然後選擇清單上的每個節點以顯示其性質。記錄每個個別節點的記憶體和儲存空間。

選擇儲存貯體索引標籤,然後選擇清單中的每個儲存貯體以顯示其內容。記錄每個儲存貯體的 RAM 配額和衝突解決設定。

您必須使用自我管理的 Couchbase 伺服器叢集配置作為一般指南,才能在 Couchbase 雲上正確調整目標叢集大小和配置目標叢集。

Cocchbase 管理員
在自我管理的 Couchbase 伺服器叢集上記錄 Couchbase 服務發佈。

在 Couchbase Web 主控台中,選擇伺服器索引標籤,以顯示叢集節點的清單。 

選擇每個節點以顯示其屬性,然後記錄每個節點的 Couchbase 服務分佈 (資料服務查詢服務索引服務搜尋服務分析服務,以及事件服務

Cocchbase 管理員
記錄自我管理的 Couchbase 伺服器叢集節點的連線屬性。

記錄您自行管理的 Couchbase 伺服器叢集的 FQDN,並記錄叢集節點的 IP 位址。

如果您有多節點叢集,叢集中的每個節點都必須有一個公用 FQDN 項目,該項目可解析為公用 IP 位址,並可由 Couchbase 雲端控制平面連線。 

例如,如果您有一個 Couchbase 伺服器叢集,其中包含您想要連線到 Couchbase 雲端的三個節點,您可以使用 nslookup 工具做為節點的 FQDN 來判斷每個 IP 位址。

重要:您必須為每個節點系統上的輸入流量開啟 TCP 連接埠 8091、8093 和 8095。

Couchbase 管理員, 系統管理員
任務描述所需技能
將雲帳戶 Connect AWS 帳戶。

將您的 Couchbase 雲端帳戶連接到您的 AWS 帳戶,請遵循Connect 雲從庫斯雲文檔。 

您必須確保您的 AWS 帳戶具有連接到您的 Couchbase 雲端帳戶所需的權限。如需此項目的詳細資訊,請參閱雲端提供者需求(位於 CouchBase 文件中)。 

重要:如果您使用的是 Couchbase Cloud 免費試用版,您必須在開始遷移之前將其轉換為付費帳戶。若要轉換您的帳戶,請開啟計費區段,然後選擇新增啟動 ID

Couchbase 管理員, 系統管理員
在 Couchbase 雲上創建和配置目的地集群。

登入您的 Couchbase 雲端控制平面,選擇Dashboard (儀表板)叢集索引標籤,然後選擇建立叢集。 

使用您從檢閱自我管理的 Couchbase 伺服器叢集時記錄的資訊,並選擇符合組態需求的叢集範本。如果您找不到適當的範本,請選擇自訂範本中的調整大小編輯器。 

選擇並設定節點以符合您自行管理的 Couchbase 伺服器叢集環境,包括節點數目、服務發佈、計算或 RAM 以及儲存體。

選擇支援區域和支援套件,然後部署叢集。如需詳細步驟與指示,請參閱建立叢集(位於 CouchBase 文件中)。

重要:Couchbase Cloud 使用多維度縮放最佳實務。只能根據部署最佳實務來選擇服務和節點。這可能意味著您無法完全匹配自我管理的 Couchbase 服務器集群的配置。

Cocchbase 管理員
建立資料庫使用者。

依照設定資料庫使用者從 Couchbase 文檔。 

資料庫使用者是叢集專屬的,並由使用者名稱、密碼和一組儲存貯體權限所組成。數據庫用戶需要創建桶和訪問桶數據。 

如果組織使用者想要從遠端或透過 Couchbase Cloud 使用者介面 (UI) 存取特定叢集上的儲存貯體資料,則需要指派給他們的資料庫使用者。創建數據庫用戶允許您創建和管理 Couchbase 雲集群中的目標桶。

Cocchbase 管理員
建立目標儲存貯體。

在 Couchbase 雲端叢集中為每個來源儲存貯體建立一個目標儲存貯體,方法是遵循建立儲存貯體(位於 CouchBase 文件中)。

您的目標儲存貯體配置必須與自我管理的 Couchbase Server 叢集中儲存貯體的儲存貯體名稱、記憶體設定和衝突解決方法相符。

重要:桶名稱不能包含下劃線。如果您的目標儲存貯體名稱與來源儲存貯體名稱不符,則必須記錄來源儲存貯體名稱與目標儲存貯體名稱的映射。

Cocchbase 管理員
任務描述所需技能
開啟自我管理的 Couchbase 伺服器叢集節點上的 TCP 連接埠。

請確定 TCP 連接埠 8091、8093 和 8095 是開啟自我管理的 Couchbase 伺服器叢集節點上的輸入流量。

Couchbase 管理員, 系統管理員
Connect 自我管理的 Couchbase 服務器集群連接到 Couchbase 雲集群。

按照中的說明作業Connect 自我管理叢集,並將您自行管理的 Couchbase 伺服器群集連接到您的 Couchbase 雲端帳戶。

請確定您使用自我管理的 Couchbase 伺服器叢集的 FQDNHost Name (主機名稱)內容,然後在公共/NAT 閘道 IP] 區段。IP 地址必須以逗號分隔。 

Cocchbase 管理員
設置沙發基座 XDCR。

Couchbase 跨資料中心複寫 (XDCR) 可協助跨位於不同雲端供應商和資料中心的叢集複寫資料。它是用來從自我管理的 Couchbase 服務器集群將數據遷移到 Couchbase 雲。

在 Couchbase 雲端控制平面中,為您的自我管理的 Couchbase 伺服器叢集設定 XDCR 複寫。 如需步驟和指示,請參閱「」管理複寫(位於 CuchBase 文件中)。

重要:離開雙向未核取方塊。 

Cocchbase 管理員
將自我管理的叢集索引遷移到 Couchbase 雲端。

重要:如果您要移轉的索引少於 50 個,建議您執行此程序。如果您有 50 個以上的索引可供遷移,我們建議您使用遷移 選項 2

在 Couchbase Web 主控台中,選擇索引。在索引清單中,選擇您要移轉的第一個索引。然後顯示索引定義。

複製索引定義,藉由使用CREATE陳述式,但不要複製WITH { "defer_build":true }

例如,您只會將CREATE INDEX `cityindex` ON `travel-sample`(`city`)從以下示例索引定義: 

CREATE INDEX `cityindex` ON `travel-sample`(`city`) WITH { "defer_build":true }  

在 Couchbase 雲形控制平面中,選擇叢集,然後選擇目的地叢集。選擇查詢工作台來自工具下拉式清單。貼上CREATE陳述式,您先前複製到查詢編輯器然後選擇Execute。這將創建並構建索引。

若要確認索引已建立,請選擇索引來自工具下拉式清單。該列表顯示索引已創建和構建。

針對必須遷移的每個索引重複此處理序。 

Couchbase 管理員, 系統管理員
任務描述所需技能
開啟自我管理的 Couchbase 伺服器叢集節點上的 TCP 連接埠。

請確定 TCP 連接埠 8091、8093 和 8095 是開啟自我管理的 Couchbase 伺服器叢集節點上的輸入流量。

Couchbase 管理員, 系統管理員
Connect 自我管理的 Couchbase 服務器集群連接到 Couchbase 雲集群。

按照中的說明作業Connect 自我管理叢集,並將您自行管理的 Couchbase 伺服器群集連接到您的 Couchbase 雲端帳戶。

請確定您使用自我管理的 Couchbase 伺服器叢集的 FQDNHost Name (主機名稱)內容,然後在公共/NAT 閘道 IP] 區段。IP 地址必須以逗號分隔。

Couchbase 管理員, 系統管理員
設置沙發基座 XDCR。

Couchbase 跨資料中心複寫 (XDCR) 可協助跨位於不同雲端供應商和不同資料中心的叢集複寫資料。它是用來從自我管理的 Couchbase 服務器集群將數據遷移到 Couchbase 雲。

在 Couchbase 雲端控制平面上,在您的來源 Couchbase 伺服器自行管理叢集中設定 XDCR 複製。如需步驟與說明,請參閱」管理複寫(位於 CuchBase 文件中)。

重要:離開雙向未核取方塊。

Cocchbase 管理員
準備移轉自我管理的叢集索引。

重要:如果您要移轉的索引超過 50 個,建議您執行此程序。如果要遷移的索引少於 50,我們建議您選擇遷移 選項 1

您必須使用沙發底來遷移索引定義。您可以在任何具有互聯網訪問您的自我管理的 Couchbase 服務器和 Couchbase 雲集群的系統上安裝 Couchbase 殼。如需詳細資訊,請參閱「」安裝沙發底殼 0.5.0 版在沙發基殼文檔中。

請確認您確認 Couchbase 殼層是由測試與自我管理叢集的連線在命令列終端中。

請注意:此移轉選項要求您的目標儲存貯體名稱與來源儲存貯體名稱相同。

Couchbase 管理員, 系統管理員
記錄 Couchbase 雲集群的連接並添加 IP 地址。

在 Couchbase 雲形控制平面中,選擇叢集,然後選擇您的目的地叢集。選擇連線索引標籤,並將叢集的連線端點記錄在廣域網路

新增安裝 Couchbase 殼層的系統的 IP 位址為允許的 IP為您的 Couchbase 雲集群。如需此項目的詳細資訊,請參閱設定允許的 IP 地址(位於 CuchBase 文件中)。 

在 Couchbase Web 主控台中,複製您自行管理的 Couchbase 伺服器叢集的根憑證,並將其儲存為 .pem 檔案儲存在執行 Couchbase 命令介面的系統上的資料夾中。如需根憑證的詳細資訊,請參閱根憑證(位於 CuchBase 文件中)。

在 Couchbase 雲形控制平面中,選擇叢集,然後選擇您的目的地叢集。選擇連線索引標籤,然後選擇下載根憑證。將根證書保存為 .pem 文件到您為自己管理的 Couchbase 服務器集群保存根證書文件的同一文件夾

Couchbase 管理員, 系統管理員
為 CouchBase 薄殼建立組態檔案。

使用提供的範例組態檔程式碼部分來創建一個 Couchbase 殼的配置文件。這使得 Couchbase 殼層能夠連接到您的自我管理的 Couchbase 伺服器和 Couchbase 雲集群。 

在 Couchbase 命令介面安裝的主目錄中建立設定點檔 (例如 /<HOME_DIRECTORY>/.cbsh/config。如需詳細資訊,請參閱「」Config 點(位於 CuchBase 文件中)。

將目標和目的地叢集的連線特性新增至組態檔。您可以使用此模式提供的範例組態檔案,並編輯叢集的設定。 

將具有更新設定的組態檔儲存至 .cbsh 資料夾 (例如,/<HOME_DIRECTORY>/.cbsh/config

Couchbase 管理員, 系統管理員
移轉索引定義。

在您安裝 Couchbase 殼層的系統上開啟命令列終端機。 

執行下列命令來啟動 CouchBase Shell:

./cbsh

執行下列命令來連線至自我管理的 Couchbase 伺服器叢集:

use cluster On-Prem-Cluster

對於您要遷移的每個儲存貯體,請執行下列命令,將索引定義從自我管理的 Couchbase 伺服器叢集遷移到 Couchbase 雲端叢集:

query indexes --definitions | where bucket =~ "<BUCKET_NAME>"| get definition | each { query $it --cluster Cloud-Cluster }

請注意:請務必將<BUCKET_NAME>替換為對應於要遷移的索引的存儲桶名稱。 

對每個儲存貯體重複此步驟

Couchbase 管理員, 系統管理員
建立索引定義。

執行下列命令來切換至 Couchbase Cloud 叢集的內容:

use cluster Cloud-Cluster

執行下列命令來建置已遷移至 Couchbase Cloud 叢集的索引定義:

query "BUILD INDEX ON <BUCKET_NAME> ((SELECT RAW name FROM system:indexes WHERE keyspace_id = '<BUCKET_NAME>' AND state = 'deferred'));"

請注意:Replace<BUCKET_NAME>替換為對應於要建置的索引的儲存貯體名稱

對每個儲存貯體重複此步驟

Couchbase 管理員, 系統管理員
任務描述所需技能
確認資料遷移。

在 Couchbase 雲形控制平面中,選擇叢集,然後在叢集清單中選擇目標叢集。選擇儲存貯體索引標籤。確認項目(文件) 與來源儲存貯體中的項目數相符。

在目標叢集中,選擇文件中的工具下拉式清單。確認已移轉所有文件。

(選擇性) 移轉所有資料後,您可以刪除複寫來關閉複寫。如需此項目的詳細資訊,請參閱刪除複寫(位於 CuchBase 文件中)。

Cocchbase 管理員
驗證索引移轉。

在 Couchbase 雲形控制平面中,選擇索引中的工具下拉列表中的目標集群。確認索引已移轉和建置。

Cocchbase 管理員
驗證查詢執行階段。

在 Couchbase 雲形控制平面中,選擇查詢工作台中的工具下拉列表中的目標集群。 

執行範例 N1QL 查詢或應用程式中使用的查詢。請確定您收到與您自我管理的 Couchbase 伺服器叢集中的查詢相同的結果。

Cocchbase 管理員

準備移轉

在 Couchbase 雲端上部署和設定資源

移轉資料和索引

Couchbase 雲端 Support 與 SLA