

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

# 設定 的複寫 AWS Database Migration Service
<a name="CHAP_GettingStarted.Replication"></a>

您將在本主題中，設定來源與目標資料庫之間的複寫。

## 步驟 1：使用 AWS DMS 主控台建立複寫執行個體
<a name="CHAP_GettingStarted.Replication.ReplicationInstance"></a>

若要開始使用 AWS DMS，請建立複寫執行個體。

複寫執行個體**會執行來源和目標端點之間的實際資料遷移。執行個體需要足夠的儲存空間和處理能力，才能執行將資料從來源資料庫遷移至目標資料庫的任務。此複寫執行個體的大小取決於要遷移的資料量以及執行個體需要執行的任務。如需複寫執行個體的詳細資訊，請參閱[使用 AWS DMS 複寫執行個體](CHAP_ReplicationInstance.md)。

![\[建立複寫執行個體\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-create-replication-30a.png)


**使用主控台建立複寫執行個體**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) 開啟 AWS DMS 主控台。

1. 在導覽窗格上選擇**複寫執行個體**，然後選擇**建立複寫執行個體**。

1. 在**建立複寫執行個體**頁面上指定複寫執行個體組態：

   1. 對於**名稱**，輸入 **DMS-instance**。

   1. 在**說明**中，輸入複寫執行個體的簡短說明 (選填)。

   1. 在**執行個體類別**中，請保留所選的 **dms.t3.medium**。

      此執行個體需要足夠的儲存空間、網路和處理能力來進行遷移。如需如何選擇執行個體類別的詳細資訊，請參閱[為您的遷移選擇正確的 AWS DMS 複寫執行個體](CHAP_ReplicationInstance.Types.md)。

   1. 對於**引擎版本**，請接受預設值。

   1. 對於**多可用區**，請選擇**開發或測試工作負載 (單一可用區)**。

   1. 對於**配置的儲存體 (GiB)**，請接受預設值 50 GiB。

      在 中 AWS DMS， 儲存主要由日誌檔案和快取的交易使用。針對快取交易，僅會在需要將快取交易寫入磁碟時使用儲存體。因此， AWS DMS 不會使用大量的儲存體。

   1. 對於**網路類型**，選擇 **IPv4**。

   1. 對於 **VPC** 選擇 **DMSVPC**。

   1. 針對**複寫子網路群組**，保持目前選擇的複寫子網路群組。

   1. 清除**可公開存取**。

1. 選擇**進階安全性與網路組態**索引標籤，視需要設定網路和加密設定的值：

   1. 對於**可用區域**選擇 **us-west-2a**。

   1. 對於 **VPC 安全群組**，請選擇**預設**安全性群組 (如果尚未選擇)。

   1. 對於 **AWS KMS key**，將 **(預設) aws/dms** 保持選擇的狀態。

1. 依原樣保留**維護**索引標籤上的設定。預設值是從每個 AWS 區域的 8 小時時段中隨機選取的 30 分鐘時段，隨機發生在一週中的某一天。

1. 選擇**建立**。

AWS DMS 會建立複寫執行個體來執行遷移。

## 步驟 2：指定來源與目標端點
<a name="CHAP_GettingStarted.Replication.Endpoints"></a>

正在建立複寫執行個體時，您可以為先前建立的 Amazon RDS 資料庫，指定來源和目標資料存放區端點。您可以分別建立每個端點。

![\[建立端點\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-create-endpoint-30a.png)


**使用 AWS DMS 主控台指定來源端點和資料庫端點**

1. 在主控台的導覽窗格中選擇**端點**，然後選擇**建立端點**。

1. 在**建立端點**頁面上選擇**來源**端點類型。選取**特定 RDS 資料庫執行個體**方塊，然後選擇 **dms-mariadb** 執行個體。

1. 在**端點組態**區段的**端點識別碼**中輸入 **dms-mysql-source**。

1. 對於**來源引擎**，將 **MySQL** 保持選擇的狀態。

1. 對於**端點資料庫的存取**，選擇**手動提供存取資訊**。確認**連接埠**、**Secure Socket Layer (SSL) 模式**、**使用者名稱**和**密碼**是否正確。

1. 選擇**測試端點連線 (選擇性)** 索引標籤。對於 **VPC** 選擇 **DMSVPC**。

1. 針對**複寫執行個體**，將 **dms-instance** 保持選擇的狀態。

1. 選擇**執行測試**。

   選擇**執行測試**後， 會使用您提供的詳細資訊 AWS DMS 建立端點並與其連線。如果連線失敗，請編輯端點定義並再次測試連線。您也可以手動刪除此端點。

1. 測試成功後，請選擇**建立端點**。

1. 使用 AWS DMS 主控台指定目標資料庫端點。若要這樣做，請使用下列設定重複前述步驟：
   + **端點類型：**：**目標端點**
   + **RDS 執行個體**：**dms-postgresql**
   + **端點識別碼**：**dms-postgresql-target**
   + **目標引擎**：將 **PostgreSQL** 保持選擇的狀態。

當您完成提供端點的所有資訊時， 會 AWS DMS 建立來源和目標端點，以便在資料庫遷移期間使用。

## 步驟 3：建立任務並遷移資料
<a name="CHAP_GettingStarted.Replication.Tasks"></a>

您將會在此步驟中建立任務，以便在所建立的資料庫之間遷移資料。

![\[建立遷移任務\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-create-task-20a.png)


**若要建立遷移任務並開始資料庫遷移**

1. 在主控台導覽窗格中，選擇**資料庫遷移任務**，然後選擇**建立任務**。**建立資料庫遷移任務**頁面隨即開啟。

1. 在**任務組態**區段中，指定下列任務選項：
   + **任務識別碼**：輸入 **dms-task**。
   + **複寫執行個體**：選擇複寫執行個體 (**dms-instance-vpc-*<vpc id>***)。
   + **來源資料庫端點**：選擇 **dms-mysql-source**。
   + **目標資料庫端點**：選擇 **dms-postgresql-target**。
   + **遷移類型**：選擇**遷移現有資料及複寫持續的變更**。

1. 選擇**任務設定**索引標籤。請進行下列設定：
   + **目標資料表準備模式**：**不執行任何操作**
   + **在完全載入完成後再停止任務**：**請勿停止任務**

1. 選擇**資料表對應**索引標籤，然後展開**選擇規則**。選擇**新增選擇規則**。請進行下列設定：
   + **結構描述**：**輸入結構描述**
   + **結構描述名稱**：**dms\$1sample**

1. 選擇**遷移任務啟動組態**索引標籤。選取**從預遷移評估開始 （建議）**，在開始任務之前執行評估。或者，您可以選擇在**建立時自動開始**以立即開始遷移，或**僅執行評估**來評估而不啟動任務。  
![\[建立遷移任務\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-create-task-21.png)

1. 選擇 **Create task (建立任務)**。

AWS DMS 然後建立遷移任務並啟動它。初始資料庫複寫需時約 10 分鐘。在 AWS DMS 完成資料的遷移前，請務必執行此教學課程中的下一個步驟。

## 步驟 4：測試複寫
<a name="CHAP_GettingStarted.Replication.Monitoring"></a>

您會在此區段中，於初始複寫期間和之後將資料插入來源資料庫，並查詢目標資料庫中是否有插入的資料。

**若要測試複寫**

1. 請確定資料庫遷移任務顯示的狀態是**執行中**，但您在上一個步驟中啟動的初始資料庫複寫尚未完成。

1. 使用下列命令連線至 Amazon EC2 用戶端，並啟動 MySQL 用戶端。提供 MySQL 資料庫端點。

   ```
   mysql -h dms-mysql.abcdefg12345.us-west-2.rds.amazonaws.com -P 3306 -u admin -pchangeit dms_sample
   ```

1. 執行下列命令，將記錄插入來源資料庫。

   ```
   MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User1', 'User1', 'Test');
   Query OK, 1 row affected (0.00 sec)
   ```

1. 離開 MySQL 用戶端。

   ```
   MySQL [dms_sample]> exit
   Bye
   ```

1. 複寫完成前，請查詢目標資料庫中是否有新記錄。

   從 Amazon EC2 執行個體，使用下列命令連線到目標資料庫，並提供目標資料庫端點。

   ```
   psql \
      --host=dms-postgresql.abcdefg12345.us-west-2.rds.amazonaws.com \
      --port=5432 \
      --username=postgres \
      --password \
      --dbname=dms_sample
   ```

   在收到提示時提供密碼 (**changeit**)。

1. 複寫完成前，請查詢目標資料庫中是否有新記錄。

   ```
   dms_sample=> select * from dms_sample.person where first_name = 'Test';
    id | full_name | last_name | first_name
   ----+-----------+-----------+------------
   (0 rows)
   ```

1. 當遷移任務正在執行時，您可以監控資料庫遷移的進度：
   + 從 DMS 主控台導覽窗格中，選擇**資料庫遷移任務**。
   + 選擇 **dms-task**。
   + 選擇**資料表統計資料**。

   如需監控的詳細資訊，請參閱[監控 AWS DMS 任務](CHAP_Monitoring.md)。

1. 複寫完成後，請再次查詢目標資料庫以取得新記錄。 會在初始複寫完成後 AWS DMS 遷移新記錄。

   ```
   dms_sample=> select * from dms_sample.person where first_name = 'Test';
      id    | full_name  | last_name | first_name
   ---------+------------+-----------+------------
    7077784 | Test User1 | User1     | Test
   (1 row)
   ```

1. 離開 psql 用戶端。

   ```
   dms_sample=> quit
   ```

1. 重複步驟 1 以再次連線到來源資料庫。

1. 將另一則記錄插入 `person` 資料表中。

   ```
   MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User2', 'User2', 'Test');
   Query OK, 1 row affected (0.00 sec)
   ```

1. 重複步驟 3 與 4，以中斷與來源資料庫的連線，並連線至目標資料庫。

1. 再次查詢目標資料庫中是否有複寫資料。

   ```
   dms_sample=> select * from dms_sample.person where first_name = 'Test';
      id    | full_name  | last_name | first_name
   ---------+------------+-----------+------------
    7077784 | Test User1 | User1     | Test
    7077785 | Test User2 | User2     | Test
   (2 rows)
   ```

## 步驟 5：清除 AWS DMS 資源
<a name="CHAP_GettingStarted.Replication.Deleting"></a>

完成本入門教學課程後，您可以刪除所建立的資源。您可以使用 AWS 主控台來移除它們。請務必先刪除遷移任務，然後再刪除複寫執行個體和端點。

**使用主控台刪除遷移任務**

1. 在 AWS DMS 主控台導覽窗格中，選擇**資料庫遷移任務**。

1. 選擇 **dms-task**。

1. 選擇 **動作**、**刪除**。

**使用 主控台刪除複寫執行個體**

1. 在 AWS DMS 主控台導覽窗格中，選擇**複寫執行個體**。

1. 選擇 **DMS-instance**。

1. 選擇 **動作**、**刪除**。

AWS DMS 會刪除複寫執行個體，並將其從**複寫執行個體**頁面中移除。

**使用主控台來移除端點**

1. 在 AWS DMS 主控台導覽窗格中，選擇**端點**。

1. 選擇 **dms-mysql-source**。

1. 選擇 **動作**、**刪除**。

刪除 AWS DMS 資源後，請務必同時刪除下列資源。如需刪除其他服務中資源的說明，請參閱每個服務的文件。
+ RDS 資料庫。
+ RDS 資料庫參數群組。
+ RDS 子網路群組。
+ 與資料庫和複寫執行個體一起建立的任何 Amazon CloudWatch 日誌。
+ 為 Amazon VPC 和 Amazon EC2 用戶端建立的安全群組。確保將傳入規則從 **launch-wizard-1** 安全群組的**預設**中移除；您必須這麼做，才能夠刪除那些群組。
+ Amazon EC2 用戶端。
+ Amazon VPC。
+ Amazon EC2 用戶端的 Amazon EC2 金鑰對。