將內部部署我的SQL資料庫遷移至 Amazon EC2 - AWS 方案指引

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

將內部部署我的SQL資料庫遷移至 Amazon EC2

由 Lorenzo Mota 建立 (AWS)

環境:PoC 或試行

來源:內部部署我的SQL資料庫

目標:我在SQL Amazon 上的資料庫 EC2

R 類型:Rehost

工作負載:開放原始碼

技術:遷移;資料庫

AWS 服務:AWSDMS;Amazon EC2

Summary

此模式提供將內部部署 MySQL 資料庫遷移至 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上 MySQL 資料庫的指引。此模式討論使用 AWS Database Migration Service (AWS DMS) 或原生 MySQL 工具進行遷移,例如 mysqldump。它著重於將資料庫完全遷移至 MySQL 資料庫執行個體。

模式主要適用於 DBAs和 解決方案架構師。它可用於小型或大型專案、測試或最終遷移階段。建議您在生產環境中使用此模式之前,至少執行一個測試週期。

先決條件和限制

先決條件

  • 作用中AWS帳戶

  • 內部部署資料中心中的我的SQL來源資料庫 

產品版本

  • 我的SQL 5.5 版及更新版本

  • Amazon 支援的目標作業系統EC2;請參閱Amazon EC2 FAQs

架構

來源技術堆疊

  • 內部部署我的SQL資料庫

目標技術堆疊

  • Amazon 上的我的SQL資料庫執行個體 EC2

AWS 資料遷移方法

目標架構

下圖說明切換後的目標 Amazon EC2實作。

Amazon 上的 MySQL 資料庫執行個體EC2,可複寫至待命 MySQL 資料庫執行個體。

AWS 資料遷移架構

使用 AWS DMS:

下圖說明資料遷移工作流程,其依據 AWS DMS 是將完整和增量變更傳送至目標 MySQL 資料庫,直到切換為止。從內部部署到 的網路連線 AWS 取決於SQL用戶端的需求,且超出此模式的範圍。

使用 AWS DMS 將資料傳送至 Amazon 上的目標 MySQL 資料庫EC2。

使用其他我的SQL工具:

下圖說明使用 MySQL 工具從內部部署資料庫產生匯出傾印檔案的資料遷移工作流程。這些檔案會移至 Amazon Simple Storage Service (Amazon S3),並在切換前匯入目標 MySQL 資料庫。從內部部署到 的網路連線 AWS 取決於SQL用戶端的需求,且超出此模式的範圍。

使用原生 MySQL 工具將資料傳送至 Amazon 上的目標 MySQL 資料庫EC2。

備註:

  • 根據停機時間考量和最終切換的資料庫大小,您可以使用 AWS DMS 或其他變更資料擷取 (CDC) 工具,將切換時間降至最低。當您使用 等CDC工具時 AWS DMS,您可以在幾分鐘內遷移至目標資料庫。 

  • 如果資料庫大小和網路延遲允許短暫切換遷移時段,則具有 mysqldump 的離線策略就足夠了。(我們建議您執行測試以取得大約的時間。)

  • 通常,CDC策略到 AWS DMS 需要比離線選項更多的監控和複雜性。

工具

AWS 服務

其他工具

  • mysqldump 是 MySQL 公用程式,可從 MySQL 資料庫建立傾印檔案,用於備份或遷移。

  • Percona XtraBackup 是一種開放原始碼公用程式,用於在我的SQL資料庫上執行非封鎖備份。

史詩

任務描述所需的技能

驗證資料庫版本。

驗證來源和目標資料庫的版本。如需 支援的 MySQL 版本的相關資訊 AWS DMS,請參閱 AWS DMS 文件中的 的 來源 AWS DMS目標 AWS DMS

DBA

識別目標作業系統。

判斷目標作業系統的版本。如需 Amazon 支援的目標作業系統清單EC2,請參閱Amazon EC2 FAQs

DBA,系統管理員

識別硬體需求。

根據我的SQL相容性清單和容量需求,判斷目標伺服器執行個體的硬體需求。

DBA,系統管理員

識別儲存需求。

判斷目標資料庫的儲存類型和容量。

DBA,系統管理員

識別網路需求。

判斷網路需求,例如延遲和頻寬。

DBA,系統管理員

選擇目標執行個體類型。

根據容量、儲存功能和網路功能選擇目標執行個體類型

DBA,系統管理員

識別安全需求。

判斷來源和目標資料庫的網路或主機存取安全需求。

DBA,系統管理員

識別使用者。

決定 MySQL 軟體安裝的作業系統使用者清單。如需詳細資訊,請參閱我的SQL文件。

DBA,系統管理員

判斷備份策略。

DBA

判斷可用性需求。

DBA

識別應用程式遷移或切換策略。

DBA,系統管理員
任務描述所需的技能

建立虛擬私有雲端 (VPC) 和子網路。

設定路由表、網際網路閘道、NAT閘道和子網路。如需詳細資訊,請參閱 Amazon VPC 文件中的VPC組態選項

系統管理員

建立安全群組和網路存取控制清單 (ACLs)。

IPs 根據您的需求設定連接埠 (MySQL 的預設值為 3306) 和CIDR範圍或特定範圍。

系統管理員

設定和啟動EC2執行個體。

如需指示,請參閱 Amazon EC2 文件中的啟動EC2執行個體

系統管理員
任務描述所需的技能

建立使用者和群組。

建立需要存取伺服器和資料庫的作業系統使用者和群組。如需詳細資訊,請參閱 MySQL 文件中的存取控制和帳戶管理

DBA,系統管理員

下載我的 SQL。

下載我的SQL軟體。如需指示和二進位檔案,請參閱我的文件中的安裝SQL MySQL。

DBA,系統管理員

在EC2執行個體上安裝 MySQL 並設定伺服器。

連線至您的EC2執行個體並安裝 MySQL 軟體。如需詳細資訊,請參閱 Amazon EC2 文件中的連線至EC2執行個體

DBA,系統管理員
任務描述所需的技能

使用原生 MySQL 或第三方工具遷移資料。

此選項使用原生 MySQL 工具或第三方工具來遷移資料庫物件和資料。如需指示,請參閱 mysqldumpPercona XtraBackup 的文件 (適用於實體遷移)。如需使用這些工具的詳細資訊,請參閱 My 的 AWS 部落格文章遷移選項至 Amazon for My 或 Amazon Aurora My 。 SQL RDS SQL SQL

DBA
任務描述所需的技能

使用 遷移資料 AWS DMS。

如需詳細資訊,請參閱 AWS DMS 文件中的 高階檢視 AWS DMS

DBA
任務描述所需的技能

收集物件計數。

從來源資料庫和新目標資料庫收集物件計數。修正目標資料庫中的任何差異。

DBA

檢查相依性。

確認往返其他資料庫的相依性 (連結) 仍然有效且正常運作。

DBA

測試。

如果這是一個測試週期,請執行查詢測試、收集指標並修正任何問題。

DBA
任務描述所需的技能

移動用戶端。

將應用程式用戶端切換到新的基礎設施。

DBA、應用程式擁有者、系統管理員

提供支援。

在功能應用程式測試期間提供支援。

DBA
任務描述所需的技能

關閉資源。

關閉 AWS DMS 複寫執行個體和其他臨時 AWS 資源。

DBA,系統管理員

檢閱和專案文件。

檢閱並驗證專案文件。

DBA、應用程式擁有者、系統管理員

收集指標。

收集指標,例如遷移時間、與工具輔助變更相比的手動變更百分比,以及節省成本。

DBA、應用程式擁有者、系統管理員

關閉專案。

關閉遷移專案並提供意見回饋。

DBA、應用程式擁有者、系統管理員

停用來源資料庫。

停用內部部署我的SQL資料庫。

DBA,系統管理員

相關資源

參考

教學課程和影片