問:AWS Database Migration Service 是否可協助將 Oracle PL/SQL 與 SQL Server T-SQL 程式碼轉換為 Amazon Aurora 或 MySQL 與 PostgreSQL 預存程序?

是,AWS Database Migration Service 有部分屬於免費的 AWS Schema Conversion Tool (SCT),可將 Oracle PL/SQL 與 SQL Server T-SQL 程式碼自動轉換為 Amazon Aurora/MySQL SQL 方言中的對等程式碼,或 PostgreSQL 中的對等 PL/pgSQL 程式碼。當程式碼片段無法自動轉換為目標語言時,SCT 會清楚記錄需要從應用程式開發人員手動輸入的所有位置。

開始使用 AWS Database Migration Service

建立免費帳戶

問:如何開始使用 AWS Database Migration Service?

AWS Database Migration Service 的操作便捷且易於上手。多數資料複寫任務可在 10 分鐘內完成設定。前往 AWS 管理主控台的 AWS Database Migration Service 部分,並進入開始遷移精靈。指定您的來源與目標終端節點,選取現有複寫執行個體或建立新的複寫執行個體,然後接受預設的結構描述映射規則或定義自己的轉換。完成精靈後,就會立即開始進行資料複寫。

問:除了一次性的資料遷移,是否可使用 AWS Database Migration Service 進行持續資料複寫?

可以,在 AWS Database Migration Service 上,您可以一次性地將資料遷移至 RDS 與 EC2 型資料庫,也可以進行持續資料複寫。AWS Database Migration Service 會擷取來源資料庫的變更,並以持續交易的方式將這些變更套用於目標。您可以將資料從資料中心持續複寫至 AWS 內的資料庫,或反向進行,將資料從 AWS 內的資料庫複寫至資料中心內的資料庫。同質或異質資料庫之間也可進行持續複寫。針對持續複寫,一般偏好使用異地同步備份以取得高可用性。

問:AWS Database Migration Service (DMS) 和 AWS Schema Conversion Tool (SCT) 之間的關係為何?

DMS 和 SCT 可互相結合,以遷移資料庫和支援各種用途的持續複寫,例如填入資料市場、同步系統等等。SCT 可複製同質遷移的資料庫結構描述,然後將它們轉換用於異質遷移。結構描述可以在資料庫 (例如 Oracle 到 PostgreSQL) 之間或資料倉儲 (例如 Netezza 到 Amazon Redshift) 之間。

在空白目標建立結構描述之後,視資料量及/或支援的引擎而定,再使用 DMS 或 SCT 移動資料。習慣上會使用 DMS 移動較小的關聯式工作負載 (小於 10 TB) 和 MongoDB,而 SCT 主要用來遷移大型資料倉儲工作負載。DMS 支援持續複寫以保持目標與來源同步;SCT 則否。

問:AWS Database Migration Service 支援哪些來源和目標?

AWS Database Migration Service (DMS) 支援多種同質和異質資料複寫。

來源或目標資料庫之一 (或兩者) 需位於 RDS 中或 EC2 上。不支援在現場部署的資料庫之間進行複寫。

問:AWS Schema Conversion Tool 支援哪些來源和目標?

AWS Schema Converstion Tool (SCT) 支援各種資料庫和資料倉儲轉換,您可以參考這裡。請注意,SCT 可用於:

  • 將資料庫結構描述從來源複製到目標
  • 轉換資料庫或資料倉儲結構描述
  • 分析資料庫以判斷轉換複雜程度
  • 分析資料庫以判斷在 Amazon RDS 上執行的任何可能限制
  • 分析資料庫以判斷是否可能發生授權降級
  • 轉換應用程式中的內嵌 SQL 程式碼
  • 將資料倉儲資料遷移到 Amazon Redshift

問:為什麼應使用 AWS Database Migration Service 而非自有的自我管理複寫解決方案?

AWS Database Migration Service 非常易於使用。相較於需要數小時或數天進行安裝和設定的自我管理複寫解決方案,複寫任務可在數分鐘內完成設定。AWS Database Migration Service 會監控複寫任務、網路或主機故障的情形,並會在發生無法修復的故障時自動佈建主機更換。AWS Database Migration Service 的使用者不需要像使用自我管理解決方案時一樣,過度佈建容量和投資昂貴的硬體與複寫軟體。透過 AWS Database Migration Service,使用者可以利用隨需定價,並根據負載來擴展或縮減複寫基礎設施。AWS Database Migration Service 資料複寫與 AWS Schema Conversion Tool 緊密整合,因此可簡化異質資料庫遷移專案。

問:是否可總結使用 AWS Database Migration Service 進行資料庫遷移的步驟?

在一般的簡易資料庫遷移流程中,您必須建立目標資料庫、遷移資料庫結構描述、設定資料複寫程序、啟動全部負載,接著變更資料擷取並套用,最後在目標資料庫與來源資料庫一致時,將生產環境切換為全新的資料庫。

問:持續資料複寫的步驟是否有所不同?

唯一的差異在於最後一個步驟 (生產環境切換),持續資料複寫不需進行此步驟。資料複寫任務會持續執行,直到您進行變更或終止。

問:是否能監控資料庫遷移任務的進度?

是。AWS 管理主控台會顯示多種 AWS Database Migration Service 指標。它提供資料複寫程序的端對端檢視,包括複寫管道中每個點的診斷和效能資料。AWS Database Migration Service 也與其他 AWS 服務整合,例如 CloudTrail 與 CloudWatch Logs。客戶還可以利用 AWS Database Migration Service API 與 CLI 與現有的工具整合,或建置自訂監控工具以滿足特定需求。

問:如何將 AWS Database Migration Service 與其他應用程式整合?

AWS Database Migration Service 提供佈建 API,讓您可從開發環境直接建立複寫任務,或在白天排定的時間處理建立複寫任務的指令碼。開發人員和資料庫管理員可透過服務 API 與 CLI,自動化複寫任務的建立、重新啟動、管理及終止。

問:是否可以從加密的資料來源複寫資料?

是,AWS Database Migration Service 可讀取和寫入加密的資料庫。AWS Database Migration Service 會連接 SQL 界面層上的資料庫終端節點。如果您使用 Oracle 或 SQL Server 的透明資料加密功能,AWS Database Migration Service 將能夠從這些來源擷取加密的資料,並複寫至目標。這也適用於儲存級加密。只要 AWS Database Migration Service 有正確的資料庫來源登入資料,就能夠連接來源,並以解密的形式將資料傳播至目標。我們建議在目標上使用靜態加密,以維護資訊的機密性。如果您使用應用程式級加密,資料將按原來狀態以加密的格式透過 AWS Database Migration Service 傳輸,然後插入目標資料庫。

問:AWS Database Migration Service 是否可遷移資料庫結構描述?

如果要將資料庫結構描述迅速遷移至目標執行個體,您可以倚賴 AWS Database Migration Service 的基本結構描述複製功能。如果目標中還沒有相同名稱的表格,基本結構描述複製就會在目標執行個體自動建立表格與主索引鍵。基本結構描述複製很適合用來進行測試遷移或異質性資料庫遷移,例如從 Oracle 遷移至 MySQL 或從 SQL Server 遷移至 Oracle。基本結構描述複製不會遷移次要索引、外部索引鍵或預存程序。當您需要使用可自訂性更高的結構描述遷移程序 (例如,遷移生產資料庫且需要移動預存程序和次要資料庫物件) 時,可以使用 AWS Schema Conversion Tool 進行同質和異質遷移;如果您要進行同質遷移,則使用來源引擎的原生結構描述匯出工具,例如 (1) SQL Server Management Studio 的匯入和匯出精靈、(2) Oracle 的 SQL Developer 資料庫匯出工具或使用 dbms_metadata 套件編寫匯出指令碼、(3) MySQL 的 Workbench Migration Wizard。

問:是否可使用 DMS 執行雙向複寫?

不建議使用 DMS 進行雙向複寫。一般複寫案例會有單一來源和目標。當來源和目標終端節點不同時,DMS 可確保交易完整性。在雙向複寫中,這些來源和目標可以反轉,但若有兩個不同的複寫任務同時更新相同一列時會造成意外的後果。當從來源更新到目標的表格與從目標更新到來源的表格在邏輯上各自獨立時,雙向複寫的效果最好。

問:DMS 的費用為何?

您可以在 DMS 定價頁面找到完整的定價詳情。同時查看免費 DMS,可以在資料庫遷移到 Aurora 時免費使用 DMS 六個月。