

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

# 將內部部署 MySQL 資料庫遷移至 Aurora MySQL
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql"></a>

*Igor Obradovic，Amazon Web Services*

## 總結
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-summary"></a>

此模式說明如何將內部部署 MySQL 來源資料庫遷移至 Amazon Aurora MySQL 相容版本。它描述了兩種遷移選項：使用 AWS Database Migration Service (AWS DMS) 或使用 **mysqldbcopy** 和**mysqldump** 等原生 MySQL 工具。

## 先決條件和限制
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-prereqs"></a>

**先決條件**
+ 作用中 AWS 帳戶
+ 內部部署資料中心中的來源 MySQL 資料庫

**限制**
+ 資料庫大小限制：128 TB

**產品版本**
+ MySQL 8.0 版 (Aurora MySQL 第 3 版） 可在標準支援下使用。
+ MySQL 5.7 版 (Aurora MySQL 2 版） 可在擴充支援下使用，需額外付費。

如需支援版本的最新清單，請參閱 AWS 文件中的 [Amazon Aurora 版本](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html)。如果您使用的是 AWS DMS，另請參閱[使用 MySQL 相容資料庫做為 所支援 for MySQL 版本的目標 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) AWS DMS。 MySQL 

## Architecture
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-architecture"></a>

**來源技術堆疊**
+ 內部部署 MySQL 資料庫

**目標技術堆疊**
+ Amazon Aurora MySQL-Compatible Edition 

**目標架構**

Aurora 資料存放在叢集磁碟區中，這是使用固態硬碟 (SSDs的單一虛擬磁碟區。叢集磁碟區包含跨單一 AWS 區域的三個可用區域的資料複本。由於資料會自動跨可用區域複寫，因此非常耐用，且資料遺失的可能性較低。

Aurora 會自動將您的資料庫磁碟區分割為分散在許多磁碟的 10 GB 區段。資料庫磁碟區的每個 10 GB 區塊都會以六種方式跨三個可用區域複寫。下圖說明叢集磁碟區、寫入器資料庫執行個體和 Aurora 資料庫叢集中讀取器資料庫執行個體之間的關係，以及運算容量和儲存體的分離。如需此架構的詳細資訊，請參閱 [Aurora 文件](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html)和[常見問答集](https://aws.amazon.com/rds/aurora/faqs/#product-faqs)。

![Aurora MySQL 資料庫執行個體和 AWS 上的共用儲存磁碟區。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/0d7d8ebd-e0f2-4bcf-b296-8bdfb2f12b64.png)


**資料遷移架構**

*使用 AWS DMS：*

下圖說明使用 將內部部署 MySQL 資料庫遷移至 中與 Aurora MySQL 相容的叢集 AWS 雲端 AWS DMS。

![使用 AWS DMS 將內部部署 MySQL 資料庫遷移至 Aurora MySQL。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/e5d72ebd-d157-45d7-8844-d1011f1646c0.png)


*使用原生 MySQL 工具：*

下圖說明使用 **mysqldbcopy** 和**mysqldump** 等原生 MySQL 工具 AWS 雲端，將內部部署 MySQL 資料庫遷移至 中的 Aurora MySQL 相容叢集。

![使用 mysqldbcopy 和 mysqldump 將內部部署 MySQL 資料庫遷移至 Aurora MySQL。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/26258752-24f6-4241-a49f-59c15e946314.png)


 

## 工具
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 支援數個來源和目標資料庫引擎。如需 支援的 MySQL 來源和目標資料庫的相關資訊 AWS DMS，請參閱[將 MySQL 相容資料庫遷移至 AWS](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html)。我們建議您使用最新版本的 AWS DMS ，以獲得最全面的版本和功能支援。
+ [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) 是一種 MySQL 公用程式，可在單一伺服器上或在伺服器之間複製 MySQL 資料庫。
+ [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) 是一種 MySQL 公用程式，可從 MySQL 資料庫建立傾印檔案，以供備份或遷移之用。

## 史詩
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-epics"></a>

### 規劃遷移
<a name="plan-the-migration"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 驗證版本和引擎。 | 驗證來源和目標資料庫的資料庫版本和引擎。 | DBA | 
| 識別硬體需求。 | 識別目標伺服器執行個體的硬體需求。 | DBA，系統管理員 | 
| 識別儲存需求。 | 識別儲存需求 （儲存類型和容量）。 | DBA，系統管理員 | 
| 選擇執行個體類型。 | 根據您的運算、儲存和網路需求，選擇適當的執行個體類型。 | DBA，系統管理員 | 
| 判斷網路存取安全需求。 | 識別來源和目標資料庫的網路存取安全需求。 | DBA，系統管理員 | 
| 決定策略。 | 識別應用程式遷移策略。 | DBA、應用程式擁有者、系統管理員 | 

### 設定基礎設施
<a name="configure-the-infrastructure"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 Virtual Private Cloud (VPC) | 如需說明，請參閱《Amazon Virtual Private Cloud (Amazon [VPC) 文件》中的建立](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) VPC。 | 系統管理員 | 
| 建立安全群組。 | 如需說明，請參閱 Amazon [VPC 文件中的為您的 VPC 建立安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)。 | 系統管理員 | 
| 在 中設定和啟動 Aurora MySQL 相容資料庫叢集 AWS 帳戶。 | 如需說明，請參閱 [Aurora 文件中的建立 Amazon Aurora 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html)。 | 系統管理員 | 

### 遷移資料 - 選項 1
<a name="migrate-data---option-1"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 使用原生 MySQL 工具或第三方工具來遷移資料庫物件和資料。 | 如需說明，請參閱 MySQL 工具的文件，例如 [mysqldbcopy](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) 和 [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)。 | DBA | 

### 遷移資料 - 選項 2
<a name="migrate-data---option-2"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 使用 遷移資料 AWS DMS。 | 如需說明，請參閱 AWS DMS 文件中的[使用 MySQL 相容資料庫做為來源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html)和[使用 MySQL 相容資料庫做為目標](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html)。 | DBA | 

### 遷移應用程式
<a name="migrate-the-application"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 遵循 策略。 | 遵循應用程式遷移策略。 | DBA、應用程式擁有者、系統管理員 | 

### 剪下
<a name="cut-over"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 切換應用程式用戶端。 | 切換應用程式用戶端以連線至新的 Aurora 叢集端點。 | DBA、應用程式擁有者、系統管理員 | 

### 關閉專案
<a name="close-the-project"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 關閉資源。 | 關閉臨時 AWS 資源。 | DBA，系統管理員 | 
| 檢閱文件。 | 檢閱並驗證專案文件。 | DBA、應用程式擁有者、系統管理員 | 
| 收集指標。 | 收集遷移時間、手動步驟與工具用量的百分比、節省成本等指標。 | DBA、應用程式擁有者、系統管理員 | 
| 完成遷移專案。 | 關閉專案並提供意見回饋。 | 應用程式擁有者、DBA、系統管理員 | 

## 相關資源
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-resources"></a>

**參考**
+ [將資料遷移至 Amazon Aurora MySQL 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
+ [AWS DMS website](https://aws.amazon.com/dms/)
+ [AWS DMS 文件](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Amazon Aurora 定價](https://aws.amazon.com/rds/aurora/pricing/)
+ [建立並連線至 Aurora MySQL 資料庫叢集](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html)
+ [Amazon VPC 和 Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Amazon Aurora 文件](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)

**教學課程和影片**
+ [入門 AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Amazon Aurora 入門](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.html)