

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

# 複寫後端資料庫
<a name="replatforming-backend-databases"></a>

COTS 和內部應用程式修改後端資料庫的方法不同。這是因為來源碼通常僅適用於內部應用程式。下圖顯示應用程式後端資料庫可用的轉換選項。

![\[用於複寫應用程式後端資料庫的可用選項流程圖。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/migration-replatforming-cots-applications/images/replatforming-database-choices.png)


下列各節說明屬於 COTS 或內部應用程式的後端資料庫的轉換方法。

## 複寫 COTS 應用程式的後端資料庫
<a name="replatforming-cots-databases"></a>

如果您的 COTS 應用程式支援開放原始碼資料庫，建議您使用 Aurora 資料庫。使用開放原始碼資料庫有助於降低授權成本，您也可以使用 [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com//SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 和 [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com//dms/latest/userguide/Welcome.html) 等工具，在遷移期間以最短的停機時間實現切換。

如果您的 COTS 應用程式不支援開放原始碼資料庫，建議您將 Amazon Relational Database Service (Amazon RDS) 上的商業資料庫，例如 [Amazon RDS for Oracle](https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 或 [Amazon RDS for Microsoft SQL Server](https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_SQLServer.html)。您應該評估應用程式使用的資料庫功能，並確保在開始遷移之前在 Amazon RDS 中支援這些功能。如需詳細資訊，請參閱 Amazon RDS 文件中的 [Microsoft SQL Server 資料庫執行個體限制](https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport.Limits)。

您也可以使用剩餘的資料庫授權，並在 EC2 執行個體上執行自我管理的商業資料庫。如果您選擇此方法，我們建議您開始資料庫廠商的授權驗證程序。授權驗證程序完成後，您應該針對應用程式所需的復原時間目標 (RTO) 或復原點目標 (RPO)，在 Amazon EC2 上設計自我管理的資料庫解決方案。

最後，我們建議將安全敏感且高效能的 COTS 應用程式，使用 SQL Server 資料庫複製到在 Amazon EC2 Linux 執行個體上執行的 SQL Server。如需詳細資訊，請參閱[將內部部署 SQL Server Windows 工作負載遷移至 Amazon EC2 Linux](https://aws.amazon.com//blogs/database/migrating-your-on-premises-sql-server-windows-workloads-to-amazon-ec2-linux/)。

## 為內部應用程式複寫後端資料庫
<a name="replatforming-inhouse-databases"></a>

您可以將內部應用程式的後端資料庫複製到 AWS 受管資料庫 （例如，[Amazon RDS for PostgreSQL](https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)、[Amazon RDS for MySQL](https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_MySQL.html)、[Aurora](https://docs.aws.amazon.com//AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) 或 [Amazon DynamoDB](https://docs.aws.amazon.com//amazondynamodb/latest/developerguide/Introduction.html))，以降低資料庫授權成本並提高可擴展性。

AWS 受管資料庫可協助您減少資料庫的重複管理任務 （例如，執行備份或修補資料庫和OSs)。如果您使用 Amazon RDS 異地同步備份部署，您也可以透過防止資料庫硬體故障造成的中斷來提高應用程式的可用性。多可用區域資料庫會持續複寫到不同的可用區域，而且應用程式在中斷期間會透明地容錯移轉到複寫的資料庫。

您可以使用 AWS DMS 和 AWS SCT 將商業資料庫轉換為 Aurora，Amazon RDS. AWS SCT 自動化資料庫結構描述轉換程序，並 AWS DMS 啟用從現場部署資料庫到 Amazon RDS 的資料複寫。當您將現場部署應用程式遷移到雲端時， AWS DMS 也有助於實現最小的 AWS 停機時間切換。