本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 Redis 工作負載遷移至 AWS 上的 Redis Enterprise Cloud
由 Antony Prasad Thevaraj (AWS) 和 Srinivas Pendyala (Redis) 建立
Summary
此模式討論將 Redis 工作負載遷移至 Redis Enterprise Cloud on Amazon Web Services (AWS) 的高階程序。它說明了遷移步驟、提供有關選擇可用工具的資訊,以及討論使用每個工具的優點、缺點和步驟。或者,如果您需要從 Redis 遷移工作負載的其他協助,則可以使用 Redis Professional Services。
如果您在內部部署執行 Redis OSS 或 Redis Enterprise Software,則熟悉在資料中心維護 Redis 資料庫的重大管理開銷和操作複雜性。透過將工作負載遷移至雲端,您可以大幅降低營運負擔,並利用 Redis Enterprise Cloud
金融服務、零售、醫療保健和遊戲產業以及需要詐騙偵測、即時清查、索賠處理和工作階段管理解決方案的使用案例中,都有 Redis Enterprise Cloud 的潛在應用程式。您可以使用 Redis Enterprise Cloud 連線至您的 AWS 資源,例如,連線至在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行的應用程式伺服器,或連線至部署為 AWS Lambda 服務的微服務。
先決條件和限制
假設
您目前正在操作要遷移至雲端的內部部署資料庫系統。
您已識別工作負載的遷移需求,包括:
資料一致性要求
基礎設施和系統環境需求
資料映射和轉換需求
功能測試需求
效能測試需求
驗證需求
定義的切換策略
您已評估遷移所需的時間表和成本估算。
您的需求會考量工作範圍,以及您識別為遷移一部分的系統和資料庫。
您已在負責、負責、諮詢、知情 (RACI) 矩陣中識別利益相關者及其角色和責任。
您已收到所有利益相關者的必要協議和核准。
成本
根據現有來源資料庫的技術規格 (例如記憶體大小、輸送量和總資料大小),Redis 解決方案架構師可以在 Redis Enterprise Cloud 上調整目標系統的大小。 如需一般定價資訊,請參閱 Redis 網站上的 Redis 定價
人員和技能
遷移程序涉及下列角色和責任。
Role | Description | 所需的技能 |
遷移解決方案架構師 | 具備定義、規劃和實作遷移策略專業知識的技術架構師 | 對來源和目標系統的技術和應用程式層級了解;具有將工作負載遷移至雲端的經驗 |
資料架構師 | 技術架構師,在定義、實作和交付各種資料庫的資料解決方案方面擁有廣泛的經驗 | 結構化和非結構化資料的資料建模、對為企業實作資料庫的深入了解和經驗 |
Redis 解決方案架構師 | 技術架構師,可協助針對適當的使用案例建構大小最佳的 Redis 叢集 | 精通針對各種使用案例的架構和部署 Redis 解決方案 |
雲端解決方案架構師 | 技術架構師,對雲端解決方案有更深入的了解,特別是在 AWS | 精通雲端架構解決方案;工作負載遷移和應用程式現代化體驗 |
企業架構師 | 技術架構師,完全了解組織的技術環境、擁有未來藍圖的共同願景,以及在整個組織中所有團隊中實作和建立標準化架構最佳實務 | 軟體架構認證,例如 TOGAF、基礎軟體工程技能,以及解決方案架構和企業架構專業知識 |
IT 或 DevOps 工程師 | 負責建立和維護基礎設施的工程師,包括監控基礎設施是否有問題、執行維護任務,以及視需要進行更新。 | 充分了解各種技術,包括作業系統、聯網和雲端運算;熟悉程式設計語言,例如 Python、Bash 和 Ruby,以及 Docker、Kubernetes 和 Ansible 等工具 |
架構
遷移選項
下圖顯示將您的內部部署 (Redis 型或其他) 資料來源遷移至 AWS 的選項。它會顯示數種您可以選擇的遷移工具,例如使用 Redis 複寫功能或使用 AWS DMS 將 Redis 資料庫 (RDB) 檔案匯出至 Amazon Simple Storage Service (Amazon S3)。

內部部署資料來源:非以 Redis 為基礎的資料庫,例如 MySQL、PostgreSQL、Oracle、SQL Server 或 MariaDB。
內部部署資料來源:Redis 通訊協定型資料庫,例如 Redis OSS 和 Redis Enterprise Software。
從 Redis 型資料庫遷移資料的最簡單方法是匯出 RDB 檔案,並將其匯入目標 Redis Enterprise Cloud on AWS。
或者,您可以使用 Redis 中的複寫功能 (
ReplicaOf
),將資料從來源遷移到目標。如果您的資料遷移需求包含資料轉換,您可以採用 Redis 輸入/輸出工具 (RIOT) 來遷移資料。
或者,您可以使用 AWS Data Migration Service (AWS DMS) 從 SQL 型資料庫遷移資料。
您必須使用 AWS DMS 的虛擬私有雲端 (VPC) 對等互連,才能成功將資料遷移至 AWS 上的目標 Redis Enterprise Cloud。
目標架構
下圖顯示 Redis Enterprise Cloud on AWS 的典型部署架構,並說明如何與金鑰 AWS 服務搭配使用。

您可以連線至由 Redis Enterprise Cloud on AWS 支援的商業應用程式。
您可以在自己的 AWS 帳戶中,在該帳戶中的 VPC 中執行商業應用程式。
您可以使用 Redis Enterprise Cloud 資料庫端點來連線至您的應用程式。範例包括在 EC2 執行個體上執行的應用程式伺服器、部署為 AWS Lambda 服務的微服務、Amazon Elastic Container Service (Amazon ECS) 應用程式或 Amazon Elastic Kubernetes Service (Amazon EKS) 應用程式。
在您的 VPC 中執行的業務應用程式需要與 Redis Enterprise Cloud VPC 的 VPC 對等連線。這可讓商業應用程式透過私有端點安全地連線。
Redis Enterprise Cloud on AWS 是一種記憶體內 NoSQL 資料庫平台,部署為 AWS 上的DBaaS,並由 Redis 完全管理。
Redis Enterprise Cloud 會部署在由 Redis 建立的標準 AWS 帳戶中的 VPC 內。
基於安全考量,Redis Enterprise Cloud 會部署在私有子網路中,可在私有和公有端點存取。建議您將用戶端應用程式連接到私有端點上的 Redis。如果您打算使用公有端點,強烈建議您啟用 TLS
來加密用戶端應用程式與 Redis Enterprise Cloud 之間的資料。
Redis 遷移方法與 AWS 遷移方法保持一致,此方法在 AWS 規範指南網站上的 Mobilize your organization 中說明,以加速大規模遷移。
自動化和擴展
遷移的環境設定任務可以透過 AWS 登陸區域和基礎設施做為程式碼 (IaC) 範本自動化,以進行自動化和擴展。這些會在此模式的 Epics 區段中討論。
工具
根據您的資料遷移需求,您可以選擇各種技術選項,將資料遷移至 Redis Enterprise Cloud on AWS。下表說明並比較這些工具。
工具 | Description | 優點 | 缺點 |
您從來源 (例如 Redis OSS 或 Redis Enterprise Software) 資料庫匯出資料,格式為 RDB 檔案。如果您的資料庫是透過 Redis OSS 叢集提供,您可以將每個主碎片匯出至 RDB。 然後,您只需一個步驟即可匯入所有 RDB 檔案。如果您的來源資料庫是以 OSS 叢集為基礎,但您的目標資料庫未使用 OSS 叢集 API,您必須變更應用程式原始碼,才能使用標準 Redis 用戶端程式庫。 資料轉換需求或邏輯資料庫合併需要更複雜的程序,此表稍後會在邏輯資料庫合併下說明。 |
|
| |
Redis 複寫功能 | 您可以持續將資料從 Redis OSS、Enterprise Software 或 Enterprise Cloud 資料庫複寫到 Redis Enterprise Cloud 資料庫。初始同步後,Redis 複寫功能 ( Redis 複寫功能旨在以主動被動的方式使用。該目標假設為被動,並完全重新同步 (從來源資料庫漂移和同步)。因此,在來源和目標之間切換有些複雜。 您可以將 OSS 叢集的所有主碎片指定為來源,從 Redis OSS 叢集複寫到標準叢集 Redis Enterprise Cloud 資料庫。不過,Redis 複寫功能最多允許 32 個來源資料庫。 |
|
|
您可以使用 AWS DMS 將資料從任何支援的來源資料庫遷移到目標 Redis 資料存放區,且停機時間最短。如需詳細資訊,請參閱 AWS DMS 文件中的使用 Redis 做為 AWS DMS 的目標。 |
|
| |
邏輯資料庫合併 | 特殊資料庫合併需求可能需要自訂資料遷移解決方案。例如,您可能在 Redis OSS 中有四個邏輯資料庫 ( |
|
|
此外,您可以使用 AWS 的下列工具和服務。
評估和探索工具:
應用程式和伺服器遷移工具:
遷移管理:
AWS 合作夥伴解決方案:
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
識別工作負載。 | 識別您要遷移的適當候選工作負載。在選擇遷移工作負載之前,請考慮下列事項:
理想情況下,請選擇具有最大業務影響且涉及最低風險的工作負載。保持整體程序反覆運算並以小幅度遷移。 | 資料架構師、商業擁護者、遷移專案發起人 |
識別資料來源和需求;設計資料模型。 | Redis 會執行研討會來加速探索並定義專案的遷移規劃。作為本研討會的一部分,Redis 團隊會識別資料來源和來源資料模型需求,並分析如何在 Redis Enterprise Cloud 中重新建模。 Redis 遷移團隊 (專業服務) 會與您的組織執行詳細的資料模型設計練習。在本練習中,Redis 團隊會:
| Redis 解決方案架構師 |
識別來源資料庫的特性。 | 識別來源和目標環境中使用的 Redis 產品。例如:
| 資料架構師 |
收集目前的系統 SLA 和其他調整規模指標。 | 判斷以輸送量 (每秒操作數)、延遲、每個資料庫的整體記憶體大小,以及高可用性 (HA) 需求表示的目前服務層級協議 (SLAs)。 | 資料架構師 |
識別目標系統的特性。 | 判斷這些問題的答案:
| 資料架構師、Redis 解決方案架構師 (選用) |
識別相依性。 | 識別要遷移之目前系統的上游和下游相依性。請確定遷移工作與其他相依的系統遷移保持一致。例如,如果您打算將其他商業應用程式從現場部署遷移到 AWS 雲端,請識別這些應用程式,並根據專案目標、時間表和利益相關者進行調整。 | 資料架構師、企業架構師 |
識別遷移工具。 | 根據您的資料遷移需求 (例如來源資料或停機時間需求),您可以使用工具一節所述的任何工具。此外,您可以使用: | 遷移解決方案架構師、Redis 解決方案架構師 |
建立應變計畫。 | 建立應變計畫以復原,以防您在遷移期間遇到問題。 | 專案管理、技術團隊,包括架構師 |
任務 | 描述 | 所需的技能 |
---|---|---|
保護 Redis 管理主控台。 | 若要保護管理主控台,請遵循 Redis 文件 | IT 基礎設施管理員 |
保護 Redis 資料庫。 | 請參閱 Redis 文件中的下列頁面以: | |
保護 Redis 雲端 APIs。 | 當您啟用 API | IT 基礎設施管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
在 AWS 上設定新的環境。 | 此任務包括:
| IT 或 DevOps 工程師 |
部署遷移架構。 |
您現在可以執行實際的資料遷移管道並進行測試。 | IT 或 DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
建立連線。 | 建立內部部署基礎設施與 AWS 雲端資源之間的連線。使用安全群組、AWS Direct Connect 和其他資源來實現此功能。如需詳細資訊,請參閱 AWS 網站上的將您的資料中心連線至 | IT 或 DevOps 工程師 |
設定 VPC 對等互連。 | 在執行商業應用程式的 VPCs (或執行遷移工具的 EC2 執行個體或 AWS DMS 複寫伺服器) 和執行 Redis Enterprise Cloud 的 VPC 之間建立 VPC 對等互連。如需說明,請參閱《Amazon VPC 文件》中的開始使用 Amazon VPC,》Redis 文件》中的啟用 VPC 對等 | IT 或 DevOps 工程師 |
任務 | 描述 | 所需的技能 |
---|---|---|
選擇資料遷移工具。 | 檢閱工具區段中的資料表,以查看這些工具的說明、優點和缺點:
下列資料列說明與每個工具相關聯的資料遷移任務。 | 遷移解決方案架構師 |
選項 1:使用 RDB 匯出和匯入。 |
如需詳細資訊,請參閱 Redis 文件 | 遷移解決方案架構師、Redis 解決方案架構師 |
選項 2:使用 Redis 複寫功能 (主動-被動)。 |
如需詳細資訊,請參閱 Redis 文件 | 遷移解決方案架構師、Redis 解決方案架構師 |
選項 3:使用 AWS DMS。 |
| 遷移解決方案架構師、Redis 解決方案架構師 |
選項 4:使用邏輯資料庫合併。 | 此選項涉及使用遷移指令碼或 ETL 工具來轉換來源資料庫的實體資料模型,以及產生 RDB 檔案。如有需要,Redis Professional Services can 會協助此步驟。 | 遷移解決方案架構師、Redis 解決方案架構師 |
任務 | 描述 | 所需的技能 |
---|---|---|
調整專案管理時間表和目標。 | 將應用程式層的遷移專案目標、里程碑和時間表與 Redis 資料遷移專案的目標一致。 | 專案管理 |
對齊測試活動。 | 在 AWS 雲端中遷移和現代化應用程式層後,將應用程式層指向新遷移的 AWS 上的 Redis Enterprise Cloud 進行測試。 | 測試 |
任務 | 描述 | 所需的技能 |
---|---|---|
實作測試計劃。 | 在測試環境中根據測試需求,在您的站點執行在實作階段開發的資料遷移常式和指令碼。 | 測試 |
測試資料品質。 | 遷移資料後測試資料品質。 | 測試 |
測試功能。 | 測試資料查詢和應用程式層,以確保應用程式在與來源系統相同的層級上執行。 | 測試 |
任務 | 描述 | 所需的技能 |
---|---|---|
做出切換決策。 | 在所有應用程式層級和資料庫層級測試完成後,執行領導團隊和利益相關者會根據測試團隊確認的最終結果,決定是否在 AWS 上縮減至新的環境。 | 專案管理、商業擁護者 |
切換到 AWS 雲端。 | 當您確認一切就緒時,請將應用程式層指向新遷移的資料,並將用戶端指向根據 AWS 上的新 Redis Enterprise Cloud 系統執行的新應用程式層。 | IT 或 DevOps 工程師、資料架構師、遷移解決方案架構師、Redis 解決方案架構師 |
相關資源
Redis 資源
RIOT
工具 (GitHub 儲存庫) Terraform 提供者
(下載)
AWS 資源
其他資訊
如需將 Redis 工作負載遷移至 AWS 雲端的標準安全需求,請參閱 AWS 網站上的安全、身分和合規最佳實務