將內部 PostgreSQL 料庫遷移至 Aurora - AWS 方案指引

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

將內部 PostgreSQL 料庫遷移至 Aurora

由白芝謝克(AWS)和吉泰爾庫馬爾(AWS)創建

環境:PoC 或試點

來源:內部部署資料庫

目標:Aurora 郵政兼容

R 類型:重新平台

工作負載:開源

技術:移轉;資料庫

AWS 服務:Amazon Aurora;AWS DMS

Summary

Amazon Aurora PostgreSQL 相容版本結合了高階商業資料庫的效能和可用性,以及開放原始碼資料庫的簡易性和成本效益。Aurora 透過將儲存擴展到同一 AWS 區域中的三個可用區域,並支援最多 15 個僅供讀取複本執行個體,以擴展讀取工作負載並在單一區域內提供高可用性,從而提供這些好處。透過使用 Aurora 全球資料庫,您可以在最多五個區域複寫 PostgreSQL 資料庫,以便在發生區域故障時進行遠端讀取存取和災難復原。此模式說明將內部部署 PostgreSQL 來源資料庫移轉至 Aurora PostgreSQL 相容資料庫的步驟。該模式包括兩個遷移選項:使用 AWS 資料遷移服務 (AWS DMS) 或使用原生 PostgreSQL 工具 (例如 pg_dump、pg_restore 和 psql) 或第三方工具。 

此模式中描述的步驟也適用於 Amazon 關聯式資料庫服務 (Amazon RDS) 和亞馬遜 Elastic Compute Cloud (Amazon EC2) 執行個體上的目標 PostgreSQL 資料庫。

先決條件和限制

先決條件

限制

產品版本

架構

源, 技術, 堆棧

  • 內部部署資料庫

目標技術堆疊

  • Aurora 與 PostSQL 相容的資料庫執行個體

來源架構

內部部署 PostgreSQL 資料庫的來源架構

目標架構

Amazon Aurora 上 PostgreSQL 資料庫的目標架構

資料移轉架構

使用 AWS DMS

使用 AWS DMS 將現場部署 PostgreSQL 資料庫遷移到 Aurora

使用 PostgreSQL 具

使用 pg_dump 和 pg_還原將內部部署PostgreSQL 資料庫遷移至 Aurora

工具

史诗

任務描述所需技能

驗證來源和目標資料庫版本。

如果您使用的是 AWS DMS,請確定您使用的是受支援的 PostgreSQL 版本

DBA

識別儲存類型和容量需求。

  1. 計算配置給來源資料庫執行處理的儲存體。

  2. 收集來源資料庫執行處理的歷史成長測量結果。

  3. 預測目標資料庫執行處理的 future 成長預測。

  4. 透過計算來源資料庫上的讀取和寫入 IOPS 總數來配置儲存體。一般用途 SSD (gp2) 磁碟區為每 1 GB 的儲存空間提供 3 IOPS。

DBA, 系統管理員

選擇適當的執行個體類型、容量、儲存功能和網路功能。

判斷目標資料庫執行處理的運算需求。檢閱可能需要額外注意的已知效能問題。請考慮下列因素來決定適當的執行個體類型:

  • 來源資料庫執行處理的 CPU 使用率

  • 來源資料庫執行處理的 IOPS (讀取和寫入作業)

  • 來源資料庫執行處理的記憶體容量

有關詳情,請參閱 Aurora 文件中的 Aurora 資料庫執行個體類別

DBA, 系統管理員

識別來源和目標資料庫的網路存取安全性需求。

決定可讓應用程式與資料庫通訊的適當安全群組。

DBA, 系統管理員

識別應用程式移轉策略。

  • 根據應用程式的複雜性決定移轉切換策略。 

  • 決定應用程式的復原時間目標 (RTO) 與復原點目標 (RPO),並據此規劃切換。

DBA、應用程式擁有者、系統管理員
任務描述所需技能

建立 VPC。

為目標資料庫執行個體建立新的虛擬私有雲 (VPC)。

系統管理員

建立安全性群組。

在 VPC 中創建一個安全組(如上一史詩中確定),以允許對數據庫實例的入站連接。

系統管理員

設定並啟動 Aurora 資料庫叢集。

使用新的 VPC 和安全群組建立目標資料庫執行個體,然後啟動執行個體。

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

完成移轉前步驟。

  1. 清理來源資料庫中的資料。

  2. 建立複寫執行個體

  3. 建立來源端點和目標端點

  4. 識別要移轉的可用表格和物件數目。

DBA

完成移轉步驟。

  1. 刪除目標資料庫的外部索引鍵限制和觸發。

  2. 卸除目標資料庫的次要索引。

  3. 使用完整載入工作將資料從來源移轉至目標資料庫。

  4. 啟用外鍵。

  5. 如果您使用快閃移轉,而應用程式需要最少的停機時間,請啟用變更資料擷取 (CDC) 以複寫進行中的變更

  6. 啟用觸發器。

  7. 更新序列。

  8. 驗證源和目標數據。

DBA

驗證資料。

若要確保您的資料已從來源準確移轉到目標,請遵循 AWS DMS 文件中的資料驗證步驟

DBA
任務描述所需技能

準備來源資料庫。

  1. 創建一個目錄來存儲 pg_dump 備份(如果它不存在)。

  2. 建立具有在資料庫物件上執行 pg_dump 權限的移轉使用者。

  3. Connect 至 EC2 執行個體並執行 pg_dump 備份。

如需詳細資訊,請參閱 pg_dump 文件和 AWS DMS 文件中的逐步解說

DBA

準備目標資料庫。

  1. 建立具有在資料庫物件上使用 pg_restore 權限的移轉使用者。

  2. 使用 pg_restore 匯入資料庫傾印。

如需詳細資訊,請參閱 pg_restore 文件和 AWS DMS 文件中的逐步解說

DBA

驗證資料。

  1. 比較來源與目標資料庫之間的資料庫物件計數。

  2. 解決物件計數之間發現的任何差異。

DBA
任務描述所需技能

遵循應用程式遷移策略。

實作您在第一個史詩中建立的應用程式遷移策略。

DBA、應用程式擁有者、系統管理員
任務描述所需技能

將應用程式用戶端切換到新的基礎結構。

  1. 停止所有指向內部部署 PostgreSQL 資料庫的應用程式服務和用戶端連線。

  2. 執行 AWS DMS 任務

  3. 如有需要,請設定復原工作 (從與 Aurora PostgreSQL 相容的疾病控制中心反轉至內部部署 PostgreSQL 資料庫)。

  4. 驗證資料

  5. Amazon Route 53 設定為與 Aurora PostgreSQL 相容的新資料庫執行個體,在新目標上啟動應用程式服務。

  6. 在 CloudWatch與 Aurora PostgreSQL 相容的新資料庫執行個體上新增 Amazon 和 Performance Insights 監控。

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

如果您需要回滾遷移。

  1. 停止所有指向 Aurora PostgreSQL 相容資料庫的應用程式服務。

  2. 使用您在上一個故事中建立的 AWS DMS 任務,將變更還原至來源現場部署 PostgreSQL 資料庫。

  3. 停止從現場部署 PostgreSQL 資料庫執行的 AWS DMS 任務,移至與 Aurora PostgreSQL 相容的資料庫。

  4. 設定應用程式,使其指向來源內部部署 PostgreSQL 資料庫。

  5. 確認所有復原部署都已完成。

DBA,應用程式擁有者
任務描述所需技能

關閉資源。

關閉臨時 AWS 資源。

DBA, 系統管理員

驗證文件。

審核並驗證專案文件。

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

收集指標。

收集移轉時間的指標、手動與工具成本節約的百分比等。

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

關閉專案。

關閉專案並提供任何意見反應。

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

相關資源

參考

其他資源