

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

# 使用 自動將 EC2 資料庫遷移至 Amazon Aurora AWS Database Migration Service
<a name="USER_DMS_migration"></a>

您可以使用 Aurora 主控台將 EC2 資料庫遷移至 Aurora。Aurora RDS使用 AWS Database Migration Service (AWS DMS) 遷移來源 EC2 資料庫。 AWS DMS 可讓您將關聯式資料庫遷移至 AWS 雲端。如需詳細資訊 AWS Database Migration Service，請參閱[什麼是 AWS Database Migration Service？](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) *AWS Database Migration Service 《 使用者指南*》中的 。

若要開始遷移，您必須建立同等的 Aurora 資料庫叢集 ，以將資料遷移至其中。建立目標資料庫之後，您可以將 EC2 資料庫匯入其中。對於小於 1TiB 的來源資料庫，此遷移動作可減少將資料遷移至 Aurora 所需的時間和資源。

## 概觀
<a name="USER_DMS_migration-overview"></a>

Aurora 主控台可讓您將 EC2 資料庫遷移至同等的 Aurora 資料庫。您必須建立 Aurora 資料庫，才能從主控台啟用遷移。

您可以遷移下列資料庫引擎的 EC2 資料庫：
+ MySQL
+ PostgreSQL

此遷移程序涉及下列步驟：
+ 在 Aurora 中建立同等資料庫。若要讓資料庫成為相等，它們必須具有相同的資料庫引擎和相容的引擎版本。它們也必須位於相同的 VPC 中。如需建立資料庫的指示，請參閱 [建立 Amazon Aurora 資料庫叢集](Aurora.CreateInstance.md) 。
+ 選擇資料庫的複寫類型：
  + **完整載入遷移** – Aurora 會將完整的來源資料庫複製到目標資料庫，必要時在目標中建立新的資料表。
**注意**  
此選項會導致 Aurora 資料庫中斷。
  + **完整載入和變更資料擷取 (CDC) 遷移** – 類似於完整載入遷移，使用此選項，Aurora 會將完整來源資料庫複製到目標資料庫。不過，在完整載入遷移之後，Aurora 會將來源中擷取的任何變更套用至目標資料庫。變更資料擷取會使用資料庫引擎的原生 API 收集資料庫日誌的變更。
**注意**  
此選項會導致 Aurora 資料庫中斷。
  + **變更資料擷取 (CDC)** – 使用此選項，透過遷移保持您的目標資料庫可用。Aurora 會將來源資料庫中的持續變更遷移至目標資料庫。
+ Aurora 會建立必要的聯網資源，以促進遷移。Aurora 建立所需的資源後，它會通知您已建立的資源，並允許您啟動資料傳輸。

  完成遷移所需的時間取決於複寫類型和來源資料庫的大小。

## 先決條件
<a name="USER_DMS_migration-Prerequisites"></a>

### MySQL
<a name="USER_DMS_migration-Prerequisites.MySQL"></a>

開始使用 MySQL 資料庫做為來源資料庫之前，請務必做好以下事前準備。這些先決條件適用於 AWS受管來源。

您必須擁有具有複寫管理員角色 AWS DMS 的 帳戶。此角色需要以下權限：
+ **REPLICATION CLIENT**：僅 CDC 任務需要此權限。換言之，完全載入任務不需要此權限。
+ **REPLICATION SLAVE**：僅 CDC 任務需要此權限。換言之，完全載入任務不需要此權限。

 AWS DMS 使用者也必須具有指定用於複寫之來源資料表的 SELECT 權限。

如果您使用 MySQL 特定的預遷移評估，請授予下列權限。

```
grant select on mysql.user to <dms_user>;
grant select on mysql.db to <dms_user>;
grant select on mysql.tables_priv to <dms_user>;
grant select on mysql.role_edges to <dms_user>  #only for MySQL version 8.0.11 and higher
```

### PostgreSQL
<a name="USER_DMS_migration-Prerequisites.PostgreSQL"></a>

從 AWS受管 PostgreSQL 來源資料庫遷移資料之前，請執行下列動作：
+ 我們建議您使用具有 PostgreSQL 資料庫執行個體最低必要許可的 AWS 使用者帳戶，做為 PostgreSQL 來源端點的使用者帳戶 AWS DMS。不建議使用主帳戶。此帳戶必須具有 `rds_superuser` 角色和 `rds_replication` 角色。授權來管理邏輯槽和利用邏輯槽來串流資料的 `rds_replication` 角色

**注意**  
有些 AWS DMS 交易會在 DMS 引擎再次使用它們之前閒置一段時間。透過使用 PostgreSQL 9.6 版和更高版本的參數 `idle_in_transaction_session_timeout`，可讓您將閒置交易變成逾時而失敗。

## 限制
<a name="USER_DMS_migration-Limitations"></a>

下列限制適用於自動遷移程序：
+ 您的目標資料庫狀態必須為**可用**，才能開始來源資料庫遷移。
+ 從 MySQL 來源資料庫遷移時，您的 Aurora 帳戶必須具有複寫管理員角色。您還必須針對該角色套用適當的權限。
+ 您的 EC2 執行個體和目標資料庫必須位於相同的 VPC 中。
+ 使用**從 EC2 資料庫遷移資料**動作時，您無法將 EC2 資料庫遷移至下列目標資料庫：
  + Aurora global database
  + Aurora Limitless database
  + Aurora Serverless v1
  + MySQL 版本低於 5.7 的資料庫
  + PostgreSQL 版本低於 10.4 的資料庫