

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

# 使用 AWS DMS 複寫執行個體
<a name="CHAP_ReplicationInstance"></a>

當您建立 AWS DMS 複寫執行個體時， 會根據 Amazon VPC 服務，在虛擬私有雲端 (VPC) 中的 Amazon EC2 執行個體上 AWS DMS 建立它。您可以使用此複寫執行個體執行資料庫遷移。您可以透過使用複寫執行個體，在選擇**多可用區**選項時，使用多可用區部署取得高可用性及容錯移轉支援。

在異地同步備份部署中， AWS DMS 會自動佈建和維護不同可用區域中複寫執行個體的同步待命複本。主要複寫執行個體會在待命複本的可用區域間進行同步複寫。此方法可提供資料備援，排除 I/O 凍結，並降低延遲遽增。

![\[AWS Database Migration Service 複寫執行個體\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-conceptual2.png)


AWS DMS 使用複寫執行個體連線至來源資料存放區、讀取來源資料，以及格式化資料以供目標資料存放區使用。複寫執行個體也會將資料載入目標資料存放區。此處理的大部分皆發生在記憶體中。但是，大型交易可能需要將一部分緩衝到磁碟。快取交易和日誌檔案也會寫入磁碟。

您可以在下列 AWS 區域中建立 AWS DMS 複寫執行個體。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/CHAP_ReplicationInstance.html)

AWS DMS 支援名為 的特殊 AWS 區域 AWS GovCloud (US) ，旨在允許美國政府機構和客戶將敏感工作負載移至雲端。 AWS GovCloud (US) 處理美國政府的特定法規和合規要求。如需詳細資訊 AWS GovCloud (US)，請參閱[什麼是 AWS GovCloud (US)？](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/whatis.html)

您可以在以下內容找到複寫執行個體的更詳細資訊。

**Topics**
+ [為您的遷移選擇正確的 AWS DMS 複寫執行個體](CHAP_ReplicationInstance.Types.md)
+ [選取複寫執行個體的最佳大小](CHAP_BestPractices.SizingReplicationInstance.md)
+ [使用複寫引擎版本](CHAP_ReplicationInstance.EngineVersions.md)
+ [公有和私有複寫執行個體](CHAP_ReplicationInstance.PublicPrivate.md)
+ [IP 位址和網路類型](CHAP_ReplicationInstance.IPAddressing.md)
+ [設定複寫執行個體的網路](CHAP_ReplicationInstance.VPC.md)
+ [設定複寫執行個體的加密金鑰](CHAP_ReplicationInstance.EncryptionKey.md)
+ [建立複寫執行個體](CHAP_ReplicationInstance.Creating.md)
+ [修改複寫執行個體](CHAP_ReplicationInstance.Modifying.md)
+ [重新開機複寫執行個體](CHAP_ReplicationInstance.Rebooting.md)
+ [刪除複寫執行個體](CHAP_ReplicationInstance.Deleting.md)
+ [使用 AWS DMS 維護時段](CHAP_ReplicationInstance.MaintenanceWindow.md)

# 為您的遷移選擇正確的 AWS DMS 複寫執行個體
<a name="CHAP_ReplicationInstance.Types"></a>

AWS DMS 在 Amazon EC2 執行個體上建立複寫執行個體。 AWS DMS 目前支援複寫執行個體的 T3, C5, C6i, R5 和 R6i Amazon EC2 執行個體類別：
+ T3 執行個體是下一代爆量一般用途執行個體類型。此類型可提供 CPU 基準效能，而且只要有所需要，就可大幅提升 CPU 用量。T3 執行個體在運算、記憶體和網路資源之間取得平衡，非常適合 CPU 使用率中等、遇到暫時使用量峰值的應用程式。當工作負載運作低於基準閾值時，T3 執行個體會累積 CPU 額度。每個獲得的 CPU 額度，都讓 T3 執行個體有機會在需要時以完整的 CPU 核心效能爆量一分鐘。

  T3 執行個體可隨時按需要在 `unlimited` 模式中爆量。如需 `unlimited` 模式的詳細資訊，請參閱[使用爆量效能執行個體的無限制模式](#CHAP_ReplicationInstance.Types.UnlimitedMode)。
+ C5 執行個體是新一代執行個體類型，可以每個運算比率低廉的價格提供具成本效益的高效能，以執行進階運算密集型工作負載。這包括高效能 Web 伺服器、高效能運算 (HPC)、批次處理、廣告放送、可高度擴展的多人遊戲和視訊編碼等工作負載。其他工作負載 C5 執行個體適用於包括科學建模、分散式分析以及機器和深度學習推論。C5 執行個體可與所選的 Intel 和 AMD 的處理器搭配使用。
+ 與同類的 Gen5 執行個體相比，C6i 執行個體可為各種工作負載提供高達 15% 更佳的運算價格效能，以及提供絕不中斷的記憶體加密。C6i 執行個體非常適合運算密集型工作負載 (例如批次處理、分散式分析、高效能運算 (HPC)、廣告投放、可高度擴展的多人遊戲和視訊編碼)。
+ R5 執行個體是 Amazon EC2 的新一代記憶體優化執行個體類型。R5 執行個體非常適合記憶體密集型應用程式 (例如高效能資料庫、分散式 Web 規模記憶體快取、中型記憶體資料庫、即時大數據分析和其他企業應用程式)。使用 持續遷移或複寫高輸送量交易系統 AWS DMS ，也會耗用大量 CPU 和記憶體。
+ 與同類的 Gen5 執行個體相比，R6i 執行個體可為各種工作負載提供高達 15% 更佳的運算價格效能，以及提供絕不中斷的記憶體加密。R6i 執行個體經過 SAP 認證，非常適合 SQL 和 noSQL 資料庫等工作負載、Memcached 和 Redis OSS 等分散式 Web 擴展記憶體內快取、SAP HANA 等記憶體內資料庫，以及 Hadoop 和 Spark 叢集等即時大數據分析。
+ 相較於上一代相當的執行個體，C7i 執行個體可提供更好的運算效能。對於 AWS DMS 工作負載，C7i 執行個體擅長加速資料轉換程序、處理運算繁重的結構描述轉換，以及在大量遷移任務期間維持一致的輸送量。這些執行個體提供需要持續 CPU 效能的理想運算效能平衡。
+ R7i 執行個體可提供比上一代相同執行個體更佳的運算效能，結合高記憶體容量，適用於記憶體密集型工作負載。對於 AWS DMS 工作負載，R7i 執行個體特別適合涉及處理大量並行資料庫交易的大型資料庫的任務，可有效處理記憶體密集型複寫案例和需要大量記憶體緩衝的複雜資料驗證程序。

每個複寫執行個體都具備特定的記憶體及 vCPU 組態。下表顯示每個複寫執行個體類型的組態。如需定價資訊，請參閱 [AWS Database Migration Service 服務定價頁面](https://aws.amazon.com/dms/pricing/)。

**一般用途複寫執行個體類**


|  Type  |  vCPU  |  記憶體 (GiB)  | 
| --- | --- | --- | 
|  dms.t3.micro  |  2  |  1  | 
|  dms.t3.small  |  2  |  2  | 
|  dms.t3.medium  |  2  |  4  | 
|  dms.t3.large  |  2  |  8  | 

**運算最佳化複寫執行個體類型**


|  Type  |  vCPU  |  記憶體 (GiB)  | 
| --- | --- | --- | 
|  dms.c5.large  |  2  |  4  | 
|  dms.c5.xlarge  |  4  |  8  | 
|  dms.c5.2xlarge  |  8  |  16  | 
|  dms.c5.4xlarge  |  16  |  32  | 
|  dms.c5.9xlarge  |  36  | 72 | 
|  dms.c5.12xlarge  |  48  | 96 | 
|  dms.c5.18xlarge  |  72  | 144 | 
|  dms.c5.24xlarge  |  96  | 192 | 
|  dms.c6i.large  |  2  |  4  | 
|  dms.c6i.xlarge  |  4  |  8  | 
|  dms.c6i.2xlarge  |  8  |  16  | 
|  dms.c6i.4xlarge  |  16  |  32  | 
|  dms.c6i.8xlarge  |  32  | 64 | 
|  dms.c6i.12xlarge  |  48  | 96 | 
|  dms.c6i.16xlarge  |  64  | 128 | 
|  dms.c6i.24xlarge  |  96  | 192 | 
|  dms.c6i.32xlarge  |  128  | 256 | 
|  dms.c7i.large  |  2  |  4  | 
|  dms.c7i.xlarge  |  4  |  8  | 
|  dms.x7i.2xlarge  |  8  |  16  | 
|  dms.x7i.4xlarge  |  16  |  32  | 
|  dms.x7i.8xlarge  |  32  |  64  | 
|  dms.x7i.12xlarge  |  48  |  96  | 
|  dms.x7i.16xlarge  |  64  |  128  | 
|  dms.x7i.24xlarge  |  96  |  192  | 
|  dms.x7i.48xlarge  |  192  |  384  | 

**記憶體最佳化複寫執行個體類型**


|  Type  |  vCPU  |  記憶體 (GiB)  | 
| --- | --- | --- | 
|  dms.r5.large  |  2  |  16  | 
|  dms.r5.xlarge  |  4  |  32  | 
|  dms.r5.2xlarge  |  8  |  64  | 
|  dms.r5.4xlarge  |  16  |  128  | 
|  dms.r5.8xlarge  |  32  |  256  | 
|  dms.r5.12xlarge  |  48  |  384  | 
|  dms.r5.16xlarge  |  64  |  512  | 
|  dms.r5.24xlarge  |  96  |  768  | 
|  dms.r6i.large  |  2  |  16  | 
|  dms.r6i.xlarge  |  4  |  32  | 
|  dms.r6i.2xlarge  |  8  |  64  | 
|  dms.r6i.4xlarge  |  16  |  128  | 
|  dms.r6i.8xlarge  |  32  |  256  | 
|  dms.r6i.12xlarge  |  48  |  384  | 
|  dms.r6i.16xlarge  |  64  |  512  | 
|  dms.r6i.24xlarge  |  96  |  768  | 
|  dms.r6i.32xlarge  |  128  |  1024  | 
|  dms.r7i.large  |  2  |  16  | 
|  dms.r7i.xlarge  |  4  |  32  | 
|  dms.r7i.2xlarge  |  8  |  64  | 
|  dms.r7i.4xlarge  |  16  |  128  | 
|  dms.r7i.8xlarge  |  32  |  256  | 
|  dms.r7i.12xlarge  |  48  |  384  | 
|  dms.r7i.16xlarge  |  64  |  512  | 
|  dms.r7i.24xlarge  |  96  |  768  | 
|  dms.r7i.48xlarge  |  192  |  1536  | 

上表列出所有 AWS DMS 複寫執行個體類型，但您區域中可用的類型可能會有所不同。若要查看您所在地區可用的複寫執行個體類型，您可以執行下列 [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html) 命令：

```
aws dms describe-orderable-replication-instances --region your_region_name
```

**Topics**
+ [決定要使用的執行個體類別](#CHAP_ReplicationInstance.Types.Deciding)
+ [使用爆量效能執行個體的無限制模式](#CHAP_ReplicationInstance.Types.UnlimitedMode)

## 決定要使用的執行個體類別
<a name="CHAP_ReplicationInstance.Types.Deciding"></a>

為了協助判斷哪些複寫執行個體類別最適合您，讓我們來看看 AWS DMS 使用的變更資料擷取 (CDC) 程序。

假設您執行完全載入加上 CDC 任務 (大量載入加上持續進行的複寫)。在這種情況下，任務會擁有自己的 SQLite 儲存庫，來儲存中繼資料及其他資訊。在 AWS DMS 開始完全載入之前，會發生下列步驟：
+ AWS DMS 開始擷取從來源引擎的交易日誌遷移的資料表變更 （我們稱之為*快取變更*)。在完全載入完成後，這些快取變更便會在目標上收集及套用。根據快取變更的量，這些變更可直接從已先收集他們的記憶體套用，其大小上限為所設定的閾值。或者，若變更無法保存在記憶體中，則會先將其寫入磁碟，然後再從磁碟加以套用。
+ 套用快取變更後，預設會在目標執行個體上 AWS DMS 啟動交易套用程序。

在套用的快取變更階段和持續複寫階段期間， AWS DMS 會使用兩個串流緩衝區，每個緩衝區一個用於傳入和傳出資料。 AWS DMS 也會使用稱為*排序程式的重要元件，*這是另一個記憶體緩衝區。以下是排序程式元件的兩個重要用途 (但該元件仍有其他用途)：
+ 它會追蹤所有交易，確保只將重要的交易轉送至傳出緩衝區。
+ 它會確保轉送交易的遞交順序與來源上相同。

如您所見，我們在 AWS DMS中 CDC 的此架構內有三個重要的記憶體緩衝區。若這些緩衝區中有任何一個緩衝區面臨記憶體壓力，遷移便可能會發生效能問題，造成故障。

當您將具有大量每秒交易數 (TPS) 的繁重工作負載插入此架構時，您便會了解到 R5 和 R6i 執行個體所提供額外記憶體的用途。您可以使用 R5 和 R6i 執行個體，在記憶體中保留大量的交易，避免在進行中複寫期間發生記憶體壓力問題。

## 使用爆量效能執行個體的無限制模式
<a name="CHAP_ReplicationInstance.Types.UnlimitedMode"></a>

設定為 `unlimited` 的爆量效能執行個體 (例如 T3 執行個體)，在任何期間皆可隨需提供高 CPU 使用率。執行個體每小時定價可自動涵蓋所有 CPU 使用率峰值。如果在累計 24 小時的期間或執行個體的生命週期期間 (以較短者為準)，執行個體的 CPU 平均使用率等於或低於基準，則執行個體的每小時定價將自動涵蓋所有 CPU 使用率峰值。

針對絕大多數的一般用途工作負載，設定為 `unlimited` 的執行個體可提供足夠效能，而不需支付任何額外費用。如果執行個體需要長時間以更高的 CPU 使用率執行，也可使用每 vCPU 小時的其他固定費率來執行。如需 T3 執行個體定價的相關資訊，請參閱 [AWS Database Migration Service](https://aws.amazon.com/dms/pricing/) 中的「T3 CPU 額度」。

如需 T3 執行個體`unlimited`模式的詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[爆量效能執行個體的無限制模式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode.html)。

**重要**  
如果您使用 [AWS 免費方案](https://aws.amazon.com/free/)優惠下的 `dms.t3.micro` 執行個體並在 `unlimited` 模式下使用，則可能需要支付費用。特別是當累計 24 小時期間內的平均使用率超過該執行個體的基準使用率，就可能會產生費用。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[基準使用率](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html#baseline_performance)。  
T3 執行個體預設會啟動為 `unlimited`。如果 24 小時期間內的平均 CPU 使用量超過基準，則剩餘額度會產生費用。在某些情況下，您可能會以 `unlimited` 的形式啟動 T3 Spot 執行個體，並計劃立即短期使用這些應用程式。如果您這麼做，但沒有累積 CPU 額度的閒置時間，則剩餘額度可能會產生費用。建議您在標準模式下啟動 T3 Spot 執行個體，以免需要支付更高的費用。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[剩餘額度可能產生費用](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits)、[T3 Spot 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-limits.html#t3-spot-instances)和[爆量效能執行個體的標準模式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode.html)。

# 選取複寫執行個體的最佳大小
<a name="CHAP_BestPractices.SizingReplicationInstance"></a>

選擇適當的複寫執行個體取決於使用案例的多個因素。為了協助了解複寫執行個體資源的使用方式，請參閱以下討論。它涵蓋了完全載入 \$1 CDC 任務的常用案例。

在完全載入任務期間， 會個別 AWS DMS 載入資料表。根據預設，一次會載入八個資料表。 會在完全載入任務期間 AWS DMS 擷取來源的持續變更，以便稍後可在目標端點上套用變更。這些變更會快取在記憶體中；如果可用記憶體耗盡，變更就會快取到磁碟。當資料表的完全載入任務完成時， 會 AWS DMS 立即將快取的變更套用至目標資料表。

在套用資料表的所有未完成快取變更之後，目標端點會處於交易一致狀態。此時，目標與來源端點與上次快取變更同步。 AWS DMS 然後開始在來源與目標之間進行持續複寫。若要這樣做， 會從來源交易日誌 AWS DMS 進行變更操作，並以交易一致的方式將其套用至目標。（此程序假設未選取批次最佳化套用。如果可能， 會透過複寫執行個體上的記憶體 AWS DMS 串流進行中的變更。否則， 會將變更 AWS DMS 寫入複寫執行個體上的磁碟，直到可套用至目標為止。

您可以在某種程度上控制複寫執行個體如何處理變更處理，以及如何在該程序中使用記憶體。如需如何調整變更處理的詳細資訊，請參閱[變更處理調校設定](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md)。

## 應考慮的因素
<a name="CHAP_BestPractices.SizingReplicationInstance.Factors"></a>

 記憶體和磁碟空間是為使用案例選取適當複寫執行個體的關鍵因素。您可以在下方找到討論，了解要分析以選擇複寫執行個體的使用案例特性。
+ 資料庫和資料表大小

   資料磁碟區有助於判斷任務組態，以最佳化完全載入效能。例如，對於兩個 1 TB 結構描述，您可以將資料表分割成四個 500 GB 的任務，並平行執行這些任務。可能的平行處理原則取決於複寫執行個體中可用的 CPU 資源。這就是為什麼建議您了解資料庫和資料表的大小，以最佳化完全載入效能的原因。這麼做有助於判斷您可能面臨的任務數量。
+ 大型物件

   遷移範圍中存在的資料類型可能會影響效能。特別是，大型物件 (LOB) 會影響效能和記憶體耗用量。若要遷移 LOB 值，請 AWS DMS 執行兩個步驟的程序。首先，將資料列 AWS DMS 插入沒有 LOB 值的目標。其次，更新具有 LOB 值的資料 AWS DMS 列。這會影響記憶體，因此請務必識別來源中的 LOB 資料欄並分析其大小。
+ 載入頻率和交易大小

   載入頻率和每秒交易數 (TPS) 皆會影響記憶體使用量。大量的 TPS 或資料操作語言 (DML) 活動皆會導致記憶體的使用率升高。發生這種情況是因為 DMS 會快取變更，直到將變更套用至目標為止。在 CDC 期間，這會導致交換 (由於記憶體溢位而寫入實體磁碟)，因而導致延遲。
+ 資料表索引鍵和參考完整性

   資料表索引鍵的相關資訊會判斷您用來遷移資料的 CDC 模式 (批次套用或交易套用)。一般而言，交易套用比批次套用慢。對於長期執行的交易，可能會有許多遷移變更。當您使用交易套用時，相較於批次套用， AWS DMS 可能需要更多記憶體來儲存變更。如果您遷移不含主索引鍵的資料表，批次套用將失敗，且 DMS 任務會移至交易套用模式。在 CDC 期間，當資料表之間的參考完整性處於作用中狀態時，預設 AWS DMS 會使用交易套用。如需批次套用與交易套用相比的相關資訊，請參閱[如何使用 DMS 批次套用功能來改善 CDC 複寫效能？](https://aws.amazon.com/premiumsupport/knowledge-center/dms-batch-apply-cdc-replication/)。

 使用這些指標來判斷您是否需要對複寫執行個體進行運算最佳化或是進行記憶體最佳化。

## 常見問題
<a name="CHAP_BestPractices.SizingReplicationInstance.Issues"></a>

 您可能會遇到下列常見問題，這些問題會在遷移期間造成複寫執行個體上的資源爭用。如需複寫執行個體指標的相關資訊，請參閱[複寫執行個體指標](CHAP_Monitoring.md#CHAP_Monitoring.Metrics.CloudWatch)。
+  如果複寫執行個體中的記憶體不足，這會導致將資料寫入磁碟。從磁碟讀取可能會造成延遲，您可以透過將複寫執行個體調整為具有足夠的記憶體來避免延遲。
+  指派給複寫執行個體的磁碟大小可能小於所需的大小。當記憶體中的資料溢出時，便會使用磁碟大小；您也可使用此磁碟大小來儲存任務日誌。IOPS 上限也取決於此大小。
+  執行多個任務或具有高度平行處理的任務會影響複寫執行個體的 CPU 耗用量。這會拖慢任務的處理速度，並導致延遲。

## 最佳實務
<a name="CHAP_BestPractices.SizingReplicationInstance.BestPractices"></a>

 調整複寫執行個體大小時，請考慮這兩種最常見的最佳實務。如需詳細資訊，請參閱[的最佳實務 AWS Database Migration Service](CHAP_BestPractices.md)。

1.  調整工作負載的大小，並了解其是運算能力密集型還是記憶體密集型的工作負載。您可以以此為基礎，判斷複寫執行個體的類別和大小：
   +  AWS DMS 會在記憶體中處理 LOBs。此操作需要一定數量的記憶體。
   +  任務數目和執行緒數會影響 CPU 耗用量。在完全載入操作期間避免使用超過八個 `MaxFullLoadSubTasks`。

1.  當您於完全載入期間有很高的工作負載時，請提高指派給複寫執行個體的磁碟空間。這樣做可讓複寫執行個體使用所指派的 IOPS 上限。

 上述的指導方針並未涵蓋所有可能的案例。當您決定複寫執行個體的大小時，務必考慮特定使用案例的具體情況。

 先前的測試顯示 CPU 和記憶體會因不同的工作負載而異。特別是 LOB 會影響記憶體，而任務計數或平行處理會影響 CPU。執行遷移之後，請監控複寫執行個體的 CPU、可釋放記憶體、可用儲存體和 IOPS。根據您收集的資料，可以視需要擴展或縮減複寫執行個體大小。

# 使用複寫引擎版本
<a name="CHAP_ReplicationInstance.EngineVersions"></a>

*複寫引擎*是在複寫執行個體上執行的核心 AWS DMS 軟體，並執行您指定的遷移任務。 AWS 會定期發行複 AWS DMS 寫引擎軟體的新版本，並具有新功能和效能改善。每個複寫引擎軟體的版本都擁有各自的版本編號，以和其他版本進行區別。

啟動新的複寫執行個體時，除非您另有指定，否則它會執行最新的 AWS DMS 引擎版本。如需詳細資訊，請參閱[使用 AWS DMS 複寫執行個體](CHAP_ReplicationInstance.md)。

如果您有目前正在執行的複寫執行個體，您可以將其升級至較新的引擎版本。(AWS DMS 不支援引擎版本降級。) 如需複寫引擎版本的詳細資訊，請參閱 [AWS DMS 版本備註](CHAP_ReleaseNotes.md)。

## 使用主控台升級引擎版本
<a name="Upgrading.Console"></a>

您可以使用 升級 AWS DMS 複寫執行個體 AWS 管理主控台。

**使用主控台升級複寫執行個體**

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

1. 在導覽窗格中，選擇 **Replication instances (複寫執行個體)**。

1. 選擇您的複寫引擎，然後選擇 **Modify (修改)**。

1. 針對**引擎版本**，選擇您想要的版本編號，然後選擇**修改**。

**注意**  
建議您在升級複寫執行個體之前停止所有任務。如果您不停止任務， AWS DMS 會在升級之前自動停止任務。如果您手動停止此任務，則需要在升級完成後手動開始任務。升級複寫執行個體可能需要數分鐘。當執行個體準備就緒時，其狀態會變更為 **available (可用)**。

## 使用 升級引擎版本 AWS CLI
<a name="Upgrading.CLI"></a>

您可以使用 升級 AWS DMS 複寫執行個體 AWS CLI，如下所示。

**使用 升級複寫執行個體 AWS CLI**

1. 使用以下命令判斷您複寫執行個體的 Amazon Resource Name (ARN)。

   ```
   aws dms describe-replication-instances \
   --query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceArn,ReplicationInstanceClass]"
   ```

   在輸出中，記下您要升級的複寫執行個體 ARN，例如：`arn:aws:dms:us-east-1:123456789012:rep:6EFQQO6U6EDPRCPKLNPL2SCEEY`

1. 使用以下命令判斷有哪些可用的複寫執行個體版本。

   ```
   aws dms describe-orderable-replication-instances \
   --query "OrderableReplicationInstances[*].[ReplicationInstanceClass,EngineVersion]"
   ```

   在輸出中，記下複寫執行個體類別可用的引擎版本編號。您應該會在步驟 1 的輸出中看見此資訊。

1. 使用以下命令升級複寫執行個體。

   ```
   aws dms modify-replication-instance \
   --replication-instance-arn arn \
   --engine-version n.n.n
   ```

   以先前步驟中實際的複寫執行個體 ARN 取代前面的 *arn*。

   使用您想要的引擎版本編號取代 *n.n.n*，例如：`3.4.5`

**注意**  
升級複寫執行個體可能需要數分鐘。您可以使用以下命令檢視複寫執行個體的狀態。  

```
aws dms describe-replication-instances \
--query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceStatus]"
```
當複寫執行個體準備就緒時，其狀態會變更為 **available (可用)**。

# 公有和私有複寫執行個體
<a name="CHAP_ReplicationInstance.PublicPrivate"></a>

您可以指定複寫執行個體是否具備公有或私有 IP 地址，可讓執行個體用來連線到來源和目標資料庫。

私有複寫執行個體**具有您無法從複寫網路外部存取的私有 IP 地址。當來源和目標資料庫都位於連線至複寫執行個體之虛擬私有雲端 (VPC) 的相同網路中時，您可以使用私有執行個體。網路可以使用虛擬私有網路 (VPN) Direct Connect或 VPC 對等互連連接到 VPC。

*VPC 對等連接*是在兩個 VPC 之間的網路連線。其允許使用每個 VPC 的私有 IP 地址進行路由，就像位於相同網路一樣。如需 VPC 對等互連的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [VPC 對等互連](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html)。

*公有複寫執行個體*可以使用複寫執行個體的 VPC 安全群組，以及複寫執行個體的公有 IP 地址或 NAT 閘道的公用 IP 地址。這些來自網路的連線可讓您用於資料遷移。

# IP 位址和網路類型
<a name="CHAP_ReplicationInstance.IPAddressing"></a>

AWS DMS 一律會在 Amazon Virtual Private Cloud (VPC) 中建立複寫執行個體。建立 VPC 時，您可以決定要使用的 IP 地址：IPv4、IPv6 或兩者。然後，當您建立或修改複寫執行個體時，您可以使用*雙重堆疊模式*指定使用 IPv4 地址通訊協定或 IPv6 地址通訊協定。

**IPv4 地址**

當您建立 VPC 時，必須以無類別域間路由 (CIDR) 區塊的格式，為 VPC 指定 IPv4 地址的範圍，例如，10.0.0.0/16。子網路群組會定義此 CIDR 區塊中的 IP 地址範圍。這些 IP 地址可為私有或公有。

私有 IPv4 地址是無法在網際網路存取的 IP 地址。您可使用私有 IPv4 地址，在相同 VPC 中的複寫執行個體及其他資源 (例如 Amazon EC2 執行個體) 之間進行通訊。每個複寫執行個體具有用於在 VPC 中通訊的私有 IP 地址。

公有 IP 地址是可從網際網路存取的 IPv4 地址。您可以使用公有地址，以在複寫執行個體與網際網路上的資源之間進行通訊。您會控制複寫執行個體是否接收公有 IP 地址。

**雙重堆疊模式和 IPv6 地址**

如果資源必須透過 IPv6 與複寫執行個體進行通訊，請使用*雙重堆疊模式*。如要使用雙重堆疊模式，請確保與複寫執行個體關聯之子網路群組中的每個子網路皆有一個與之關聯的 IPv6 CIDR 區塊。您可建立新的複寫子網路群組或修改現有複寫子網路群組，以滿足此要求。每個 IPv6 地址都是全域唯一的。會自動從 Amazon 的 IPv6 地址集區自動指派 VPC 的 IPv6 CIDR 區塊。您無法自行選擇範圍。

DMS 停用私有雙重堆疊模式複寫執行個體之 IPv6 端點的網際網路閘道存取。DMS 這麼做是為了確保 IPv6 端點為私有，且僅可從 VPC 內存取。

您可以使用 AWS DMS 主控台來建立或修改複寫執行個體，並在**網路類型**區段中指定雙堆疊模式。下圖顯示主控台中的 **Network type** (網路類型) 區段。

![\[AWS 資料庫遷移服務網路類型\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-network-type.png)


**參考**
+ 如需 IPv4 和 IPv6 地址的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [IP 定址](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html#vpc-ip-addressing)。
+ 如需使用雙重堆疊模式建立複寫執行個體的詳細資訊，請參閱[建立複寫執行個體](CHAP_ReplicationInstance.Creating.md)。
+ 如需修改複寫執行個體的詳細資訊，請參閱[修改複寫執行個體](CHAP_ReplicationInstance.Modifying.md)。

# 設定複寫執行個體的網路
<a name="CHAP_ReplicationInstance.VPC"></a>

AWS DMS 一律會根據 Amazon VPC 在 VPC 中建立複寫執行個體。您可以指定您複寫執行個體所在的 VPC。您可以針對您的帳戶和 AWS 區域使用預設 VPC，也可以建立新的 VPC。

請確保配置複寫執行個體 VPC 的彈性網路介面與安全群組相關聯。此外，請確定此安全群組的規則允許所有連接埠上的所有流量離開 (輸出) VPC。此方法可允許複寫執行個體與來源和目標資料庫端點通訊，只要在端點上啟用正確的輸入規則即可。我們建議您使用端點的預設設定，允許在所有連接埠上輸出到所有地址。

來源和目標端點會透過連線到 VPC 或位於 VPC 內部，來存取 VPC 內部的複寫執行個體。資料庫端點必須包含網路存取控制清單 (ACL) 和安全群組規則 (若適用的話)，允許來自複寫執行個體的傳入存取。設定方式取決於您使用的網路組態。您可以使用複寫執行個體 VPC 安全群組、複寫執行個體的私有或公有 IP 地址，或是 NAT 閘道的公有 IP 地址。這些來自網路的連線可讓您用於資料遷移。

**注意**  
由於 IP 地址可能會因基礎設施的變更而變更，因此建議您使用 VPC CIDR 範圍，或透過 NAT GW 關聯的彈性 IP 路由複寫執行個體輸出流量。如需建立 VPC (包括 CIDR 區塊) 的詳細資訊，請參閱《Amazon Virtual Private Cloud 使用者指南》**中的[使用 VPC 和子網路](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html)。如需彈性 IP 地址的相關資訊，請參閱《Amazon Elastic Compute Cloud 使用者指南》**中的[彈性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html)。

## 資料庫遷移的網路組態
<a name="CHAP_ReplicationInstance.VPC.Configurations"></a>

您可以搭配 AWS Database Migration Service 使用數種不同的網路組態。以下是用於資料庫遷移的網路常見組態。

**Topics**
+ [所有資料庫遷移元件皆位於單一 VPC 的組態](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioAllVPC)
+ [使用多個 VPC 的組態](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer)
+ [使用共用 VPC 的組態](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCShared)
+ [使用 Direct Connect 或 VPN 將網路設定為 VPC](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioDirect)
+ [使用網際網路的網路對 VPC 組態](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioInternet)
+ [不在 VPC 內的 RDS 資料庫執行個體對使用 ClassicLink 的 VPC 中資料庫執行個體的組態](#CHAP_ReplicationInstance.VPC.Configurations.ClassicLink)
+ [連線至 AWS 服務之網路的組態](#CHAP_ReplicationInstance.VPC.Configurations.networkconnecting)
+ [使用 VPC 端點連線至 AWS 服務的網路連線組態](#CHAP_ReplicationInstance.VPC.Configurations.vpcendpoints)
+ [使用網際網路連線至 AWS 服務的網路連線組態](#CHAP_ReplicationInstance.VPC.Configuration.networkconnectingusinginternet)

可行的話，建議您在與目標端點相同的區域中，以及在與目標端點相同的 VPC 或子網路中建立 DMS 複寫執行個體。

### 所有資料庫遷移元件皆位於單一 VPC 的組態
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioAllVPC"></a>

最簡單的資料庫遷移網路，便是讓來源端點、複寫執行個體和目標端點皆位於相同的 VPC 內。若來源和目標端點位於 Amazon RDS 資料庫執行個體或 Amazon EC2 執行個體上，這便是個不錯的選擇。

下圖會顯示組態，其中 Amazon EC2 執行個體上的資料庫會連線到複寫執行個體，並且資料會遷移到 Amazon RDS 資料庫執行個體。

![\[AWS Database Migration Service All in one VPC 範例\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-scenarioAllVPC.png)


用於此組態的 VPC 安全群組必須在資料庫連接埠上允許從複寫執行個體輸入。您可以使用幾種方式執行此動作。您可以確保複寫執行個體所使用的安全群組已輸入此端點。或者，您也可以允許複寫執行個體的 VPC CIDR 範圍、NAT GW 彈性 IP 或私有 IP 地址 (如果您使用的話)。但是我們不建議您使用複寫執行個體的私有 IP 地址，因為如果複寫 IP 地址變更，複寫就可能會中斷。

### 使用多個 VPC 的組態
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer"></a>

若來源端點和目標端點位於不同的 VPC，您可以在其中一個 VPC 中建立複寫執行個體。然後使用 VPC 對等互連來連結兩個 VPC。

VPC 對等互連連線是兩個 VPC 間的聯網連線，允許使用每個 VPC 的私有 IP 地址進行路由，就像它們位於相同的網路。您可以在自己的 VPCs 之間建立 VPC 對等互連、在其他 AWS 帳戶中建立 VPC，或在不同 AWS 區域中建立 VPC。如需 VPC 對等互連的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [VPC 對等互連](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html)。

下圖顯示使用 VPC 對等互連的範例組態。在此處，VPC 中 Amazon EC2 執行個體上的來源資料庫會使用 VPC 對等互連連線到 VPC。此 VPC 包含複寫執行個體和 Amazon RDS 資料庫執行個體上的目標資料庫。

![\[AWS Database Migration Service 複寫執行個體\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-scenarioVPCPeer.png)


若要實作 VPC 對等互連，請遵循 Amazon 虛擬私有雲端、VPC 對等互連**文件中的[使用 VPC 對等互連](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html)中的指示。請確定某個 VPC 的路由表包含另一個 VPC 的 CIDR 區塊。例如，如果 VPC A 使用的是目的地 10.0.0/16，而 VPC B 使用的是目的地 172.31.0.0，則 VPC A 的路由表應包含 172.31.0.0，而 VPC B 的路由表必須包含 10.0.0.0/16。如需詳細資訊，請參閱 Amazon Virtual Private Cloud、VPC 對等互連**文件中的[更新 VPC 對等互連的路由表](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-routing.html)。

用於此組態的 VPC 安全群組必須在資料庫連接埠上允許從複寫執行個體輸入，或者允許在對等互連 VPC 的 CIDR 區塊上輸入。

### 使用共用 VPC 的組態
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCShared"></a>

AWS DMS 會將與組織中參與客戶帳戶共用的子網路視為相同帳戶中的一般子網路。以下是 AWS DMS 如何處理 VPCs、子網路，以及如何使用共用 VPCs的說明。

您可以透過建立 `ReplicationSubnetGroup` 物件，將網路組態設定為在自訂子網路或 VPC 中運作。建立 `ReplicationSubnetGroup` 時，您可以選擇從帳戶中的特定 VPC 指定子網路。您指定的子網路清單必須包含位於不同可用區域中的至少兩個子網路，而且所有子網路都必須位於相同的 VPC 中。建立 時`ReplicationSubnetGroup`，客戶只會指定子網路。 AWS DMS 會代表您判斷 VPC，因為每個子網路只會連結到一個 VPC。

建立 AWS DMS `ReplicationInstance`或 時 AWS DMS `ReplicationConfig`，您可以選擇指定 或 無伺服器複寫操作所在的 `ReplicationSubnetGroup`和/`ReplicationInstance`或 VPC 安全群組。如果未指定， AWS DMS 請選擇客戶預設 `ReplicationSubnetGroup`（如果未針對預設 VPC 中的所有子網路指定，則代表您 AWS DMS 建立） 和預設 VPC 安全群組。

您可以選擇在指定的可用區域或 `ReplicationSubnetGroup` 中的任何可用區域中執行遷移。當 AWS DMS 嘗試建立複寫執行個體或啟動無伺服器複寫時，它會將子網路的可用區域轉譯為核心服務帳戶中的可用區域，以確保即使兩個帳戶之間的可用區域映射不相同，我們在正確的可用區域中啟動執行個體。

如果您使用共用 VPC，則需要確保建立的 `ReplicationSubnetGroup` 物件，會對應至您希望透過共用 VPC 使用的子網路。建立 `ReplicationInstance` 或 `ReplicationConfig` 時，您必須為共用 VPC 指定 `ReplicationSubnetGroup`，並指定您透過 Create 請求為共用 VPC 建立的 VPC 安全群組。

請注意下列與使用共用 VPC 相關的事項：
+ VPC 擁有者無法與參與者共用資源，但參與者可以在擁有者的子網路中建立服務資源。
+ VPC 擁有者無法存取參與者建立的資源 (例如複寫執行個體)，因為所有資源都是帳戶特定的。不過，只要您在共用 VPC 中建立複寫執行個體，只要複寫端點或任務具有正確的許可，就可以存取 VPC 中的資源，而不論擁有帳戶為何。
+ 資源是帳戶特定的，因此其他參與者無法存取其他帳戶擁有的資源。您無權授予其他帳戶許可，讓他們存取在共用 VPC 中使用您帳戶建立的資源。

### 使用 Direct Connect 或 VPN 將網路設定為 VPC
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioDirect"></a>

遠端網路可以使用多種選項連線至 VPC，例如 AWS Direct Connect 或軟體或硬體 VPN 連線。這些選項常透過將內部網路擴充至 AWS 雲端，來整合現有的現場服務，例如監控、身分驗證、安全、資料及其他系統。透過使用此類網路擴充，您便可以順暢地連線到 AWS託管資源 (例如 VPC)。

下圖顯示一個組態，其中來源端點是企業資料中心內的現場部署資料庫。其會使用 Direct Connect 或 VPN 連線到包含複寫執行個體及 Amazon RDS 資料庫執行個體上目標資料庫的 VPC。

![\[AWS Database Migration Service 複寫執行個體\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-scenarioDirect.png)


在此組態中，VPC 安全群組必須包含路由規則，將目標為 VPC CIDR 範圍或特定 IP 地址的流量傳送到主機。此主機必須要能夠橋接 VPC 到現場部署 VPN 之間的流量。在此情況下，NAT 主機會包含其本身的安全群組設定。這些設定必須允許從複寫執行個體的 VPC CIDR 範圍、私有 IP 地址或安全群組傳入 NAT 執行個體的流量。但是我們不建議您使用複寫執行個體的私有 IP 地址，因為如果複寫 IP 地址變更，複寫就可能會中斷。

### 使用網際網路的網路對 VPC 組態
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioInternet"></a>

如果您不使用 VPN 或 Direct Connect 連線到 AWS 資源，您可以使用網際網路來遷移資料庫。在此情況下，您可以遷移至 Amazon EC2 執行個體或 Amazon RDS 資料庫執行個體。此組態涉及帶有網際網路閘道 VPC 內的公有複寫執行個體，其中包含目標端點和複寫執行個體。

![\[AWS Database Migration Service 複寫執行個體\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-scenarioInternet.png)


若要將網際網路閘道新增至 VPC，請參閱《Amazon VPC 使用者指南》**中的[連接網際網路閘道](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Attach_Gateway)。

VPC 路由表必須包含路由規則，將不是預設流向 VPC 的流量傳送到網際網路閘道。在此組態中，與端點的連線看起來就像是來自複寫執行個體的公有 IP 地址，而非私有 IP 地址。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [VPC 路由表](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)。

### 不在 VPC 內的 RDS 資料庫執行個體對使用 ClassicLink 的 VPC 中資料庫執行個體的組態
<a name="CHAP_ReplicationInstance.VPC.Configurations.ClassicLink"></a>


|  | 
| --- |
| 我們將於 2022 年 8 月 15 日淘汰 EC2-Classic。建議您從 EC2-Classic 遷移至 VPC。如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的[從 EC2-Classic 遷移至 VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html)，以及部落格文章 [EC2-Classic Networking is Retiring – Here’s How to Prepare ](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/)。 | 

您可以使用 ClassicLink 搭配代理伺服器，將不是位於 VPC 中的 Amazon RDS 資料庫執行個體連線到 VPC 內部的 DMS 複寫伺服器及資料庫執行個體。

ClassicLink 可讓您將 EC2-Classic 資料庫執行個體連結至相同 AWS 區域內您帳戶中的 VPC。在您建立連結後，來源資料庫執行個體便可以使用私有 IP 地址與 VPC 內部的複寫執行個體通訊。

VPC 中的複寫執行個體無法使用 ClassicLink 直接存取 EC2-Classic 平台上的來源資料庫執行個體，因此您必須使用代理伺服器。代理伺服器會將來源資料庫執行個體連線到包含複寫執行個體和目標資料庫執行個體的 VPC。代理伺服器使用 ClassicLink 連線到 VPC。代理伺服器上的連接埠轉送則會允許在來源資料庫執行個體和 VPC 中的目標資料庫執行個體之間進行通訊。

![\[AWS 使用 ClassicLink 的資料庫遷移服務\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/datarep-scenarioClassicLink.png)


#### 搭配 AWS Database Migration Service 使用 ClassicLink
<a name="CHAP_ReplicationInstance.VPC.Configurations.ClassicLink.Using"></a>

您可以將不在 VPC 中的 Amazon RDS 資料庫執行個體連線至 VPC 中的 AWS DMS 複寫伺服器和資料庫執行個體。若要這麼做，您可以將 Amazon EC2 ClassicLink 與代理伺服器搭配使用。

以下程序會說明如何為此目的使用 ClassicLink。此程序會將不在 VPC 中的 Amazon RDS 來源資料庫執行個體連線至包含 AWS DMS 複寫執行個體和目標資料庫執行個體的 VPC。
+ 在 VPC AWS 中建立 DMS 複寫執行個體。(所有複寫執行個體都是在 VPC 中建立)。
+ 將 VPC 安全群組與複寫執行個體和目標資料庫執行個體建立關聯。當兩個執行個體共享同一個 VPC 安全群組時，根據預設，他們便可以互相通訊。
+ 在 EC2 Classic 執行個體上設定代理伺服器。
+ 使用 ClassicLink 在代理伺服器和 VPC 間建立連線。
+ 為來源和目標資料庫建立 AWS DMS 端點。
+ 建立 AWS DMS 任務。

**使用 ClassicLink 將並未位於 VPC 中資料庫執行個體上的資料庫遷移到 VPC 內資料庫執行個體上的資料庫**

1. 建立 AWS DMS 複寫執行個體並指派 VPC 安全群組：

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

      如果您以 AWS Identity and Access Management (IAM) 使用者身分登入，請確定您具有存取 的適當許可 AWS DMS。如需資料庫移轉所需許可的詳細資訊，請參閱[使用 所需的 IAM 許可 AWS DMS](security-iam.md#CHAP_Security.IAMPermissions)。

   1. 在 **Dashboard (儀表板)** 頁面上，選擇 **Replication Instance (複寫執行個體)**。遵循[步驟 1：使用 AWS DMS 主控台建立複寫執行個體](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.ReplicationInstance)中的說明建立複寫執行個體。

   1.  建立 DMS AWS 複寫執行個體之後，請開啟 EC2 服務主控台。從導覽窗格選擇**網路介面**。

   1. 選擇 *DMSNetworkInterface*，然後從**動作**選單中選擇**變更安全群組**。

   1. 選擇您希望用於複寫執行個體和目標資料庫執行個體的安全群組。

1.  將最後一個步驟的安全群組與目標資料庫執行個體建立關聯：

   1. 開啟 Amazon RDS 服務主控台。從導覽窗格中選擇**執行個體**。

   1.  選擇目標資料庫執行個體。對於**執行個體動作**，選擇**修改**。

   1. 針對**安全群組**參數，選擇您在先前步驟中使用的安全群組。

   1. 選擇**繼續**，然後選擇**修改資料庫執行個體**。

1. 步驟 3：使用 NGINX 在 EC2 Classic 執行個體上設定代理伺服器。使用您選擇的 AMI 啟動 EC2 Classic 執行個體。以下範例是以 AMI Ubuntu Server 14.04 LTS (HVM) 為基礎。

   在 EC2 Classic 執行個體上設定代理伺服器

   1. 連線到 EC2 Classic 執行個體，並使用下列命令安裝 NGINX：

      ```
      Prompt> sudo apt-get update
      Prompt> sudo wget http://nginx.org/download/nginx-1.9.12.tar.gz
      Prompt> sudo tar -xvzf nginx-1.9.12.tar.gz 
      Prompt> cd nginx-1.9.12
      Prompt> sudo apt-get install build-essential
      Prompt> sudo apt-get install libpcre3 libpcre3-dev
      Prompt> sudo apt-get install zlib1g-dev
      Prompt> sudo ./configure --with-stream
      Prompt> sudo make
      Prompt> sudo make install
      ```

   1.  使用以下代碼編輯 NGINX 精靈檔案，`/etc/init/nginx.conf`：

      ```
      # /etc/init/nginx.conf – Upstart file
      
      description "nginx http daemon"
      author "email"
      
      start on (filesystem and net-device-up IFACE=lo)
      stop on runlevel [!2345]
      
      env DAEMON=/usr/local/nginx/sbin/nginx
      env PID=/usr/local/nginx/logs/nginx.pid
      
      expect fork
      respawn
      respawn limit 10 5
      
      pre-start script
              $DAEMON -t
              if [ $? -ne 0 ]
                      then exit $?
              fi
      end script
      
      exec $DAEMON
      ```

   1. 在 `/usr/local/nginx/conf/nginx.conf` 建立 NGINX 組態檔案。在組態檔中，新增以下內容：

      ```
      # /usr/local/nginx/conf/nginx.conf - NGINX configuration file
      
      worker_processes  1;
      
      events {
          worker_connections  1024;
      }
      
      stream {
        server {
          listen DB instance port number;
      proxy_pass DB instance identifier:DB instance port number;
          }
      }
      ```

   1. 使用下列命令，從命令列啟動 NGINX：

      ```
      Prompt> sudo initctl reload-configuration
      Prompt> sudo initctl list | grep nginx
      Prompt> sudo initctl start nginx
      ```

1. 在代理伺服器和包含目標資料庫執行個體及複寫執行個體的目標 VPC 間建立 ClassicLink 連線：

   1. 開啟 EC2 主控台，並選擇正在執行代理伺服器的 EC2 Classic 執行個體。

   1. 在**動作**中，選擇 **ClassicLink**，然後選擇**連結至 VPC**。

   1.  選擇您在此程序中先前使用的安全群組。

   1. 選擇**連結至 VPC**。

1. 步驟 5：使用 AWS 中的程序建立 DMS 端點[步驟 2：指定來源與目標端點](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.Endpoints)。指定來源端點時，您必須使用代理的內部 EC2 DNS 主機名稱作為伺服器名稱。

1. 使用 AWS 中的程序建立 DMS 任務[步驟 3：建立任務並遷移資料](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.Tasks)。

### 連線至 AWS 服務之網路的組態
<a name="CHAP_ReplicationInstance.VPC.Configurations.networkconnecting"></a>

若要連接 AWS 服務，請使用網際網路連線或 Virtual Private Cloud (VPC) 端點。這適用於下列情況：

您的來源或目標端點使用下列 AWS 服務：  
+ AWS Secrets Manager
+ Amazon Simple Storage Service

您的目標端點是一種 AWS 服務，例如：  
+ Amazon S3
+ Amazon Kinesis
+ Amazon DynamoDB
+ Amazon Redshift
+ Amazon OpenSearch Service
+ Amazon Athena

### 使用 VPC 端點連線至 AWS 服務的網路連線組態
<a name="CHAP_ReplicationInstance.VPC.Configurations.vpcendpoints"></a>

VPC 端點可在 AWS 資源之間提供安全連線，將 VPC 資源連線至 AWS 服務，而不需要網際網路存取。私有子網路中的應用程式可以存取 AWS 服務，同時保留在 AWS 網路中，提高安全性並減少延遲。請參閱下圖：

![\[\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/images/aws_dms_vpc_endpoints.jpg)


如需詳細資訊，請參閱[將 VPC 端點設定為 AWS DMS 來源和目標端點](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_VPC_Endpoints.html)，以及[設定 AWS DMS 秘密管理員 VPC 端點](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Advanced.Endpoints.secretsmanager.html)。

### 使用網際網路連線至 AWS 服務的網路連線組態
<a name="CHAP_ReplicationInstance.VPC.Configuration.networkconnectingusinginternet"></a>

複寫執行個體需要網際網路存取，才能在資料遷移期間與 AWS 資源連線。

如需 VPC 內私有和公有子網路的詳細資訊，請參閱《*Amazon Virtual Private Cloud 使用者指南*》中的[範例：具有私有子網路中伺服器和 NAT 的 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-example-private-subnets-nat.html)。您必須確保 測試您的網路組態是否與任何必要的服務連線。

## 建立複寫子網路群組
<a name="CHAP_ReplicationInstance.VPC.Subnets"></a>

作為用於資料庫遷移網路的一部分，您需要指定虛擬私有雲端 (VPC) 中您計劃使用的子網路。此 VPC 必須以 Amazon VPC 服務為基礎。*子網路*是指定可用區域中您 VPC 內的一個 IP 地址範圍。這些子網路可以分佈在 VPC 所在 AWS 區域的可用區域之間。

在 DMS AWS 主控台中建立複寫執行個體或執行個體描述檔時，您可以使用您選擇的子網路。

您可以建立複寫子網路群組來定義要使用的子網路。您必須指定至少兩個可用區域內的子網路。

**建立複寫子網路群組**

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

   如果您以 IAM 使用者身分登入，請確認您具備適當的許可來存取 AWS DMS。如需資料庫移轉所需許可的詳細資訊，請參閱[使用 所需的 IAM 許可 AWS DMS](security-iam.md#CHAP_Security.IAMPermissions)。

1. 在導覽窗格中選擇 **Subnet groups (子網路群組)**。

1. 選擇 **Create subnet group** (建立子網路群組)。

1. 在**建立複寫子網路群組**頁面上，指定複寫子網路群組資訊。下表說明相關設定。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html)

1. 選擇 **Create subnet group** (建立子網路群組)。

## 使用 DNS 解析網域端點
<a name="CHAP_ReplicationInstance.VPC.Route53"></a>

通常， AWS DMS 複寫執行個體會使用 Amazon EC2 執行個體中的網域名稱系統 (DNS) 解析程式來解析網域端點。如果您需要 DNS 解析，則可以使用 Amazon Route 53 Resolver。如需使用 Route 53 DNS Resolver 的相關資訊，請參閱 [Route 53 Resolver 入門](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-getting-started.html)。

如需如何使用自己的內部部署名稱伺服器，使用 Amazon Route 53 Resolver 解析特定端點的相關資訊，請參閱[使用自己的內部部署名稱伺服器](CHAP_BestPractices.md#CHAP_BestPractices.Rte53DNSResolver)。

# 設定複寫執行個體的加密金鑰
<a name="CHAP_ReplicationInstance.EncryptionKey"></a>

AWS DMS 會加密複寫執行個體所使用的儲存體和端點連線資訊。若要加密複寫執行個體所使用的儲存體， AWS DMS 會使用您 AWS 帳戶獨有 AWS KMS key 的 。您可以使用 AWS Key Management Service () 檢視和管理此 KMS 金鑰AWS KMS。您可以使用帳戶 (`aws/dms`) 中的預設 KMS 金鑰或使用所建立的 KMS 金鑰。如果您有現有的 AWS KMS 加密金鑰，您也可以使用該金鑰進行加密。

您可以提供 KMS 金鑰識別符來加密 AWS DMS 資源，藉此指定自己的加密金鑰。指定您自己的加密金鑰時，用來執行資料庫遷移的使用者帳戶也必須要能夠存取該金鑰。如需建立您自己加密金鑰，並允許使用者存取該加密金鑰的詳細資訊，請參閱 *[AWS KMS 開發人員指南](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)*。

如果您未指定 KMS 金鑰識別符，則 AWS DMS 會使用預設加密金鑰。KMS 會為您的帳戶 AWS 建立 AWS DMS 的預設加密金鑰。 AWS 您的帳戶在每個 AWS 區域都有不同的預設加密金鑰。

若要管理用於加密 AWS DMS 資源的金鑰，您可以使用 AWS KMS。您可以在導覽窗格中 AWS 管理主控台 搜尋 **KMS**，在 AWS KMS 中找到 。

AWS KMS 結合了安全、高可用性的硬體和軟體，以提供針對雲端擴展的金鑰管理系統。使用 AWS KMS，您可以建立加密金鑰並定義控制如何使用這些金鑰的政策。 AWS KMS 支援 AWS CloudTrail，因此您可以稽核金鑰使用情況，以確認金鑰是否適當使用。您的 AWS KMS 金鑰可以與 AWS DMS 和其他支援的 AWS 服務搭配使用。支援的 AWS 服務包括 Amazon RDS、Amazon S3、Amazon Elastic Block Store (Amazon EBS) 和 Amazon Redshift。

當您使用特定加密金鑰建立 AWS DMS 資源時，您無法變更這些資源的加密金鑰。建立 AWS DMS 資源之前，請務必判斷您的加密金鑰需求。

# 建立複寫執行個體
<a name="CHAP_ReplicationInstance.Creating"></a>

遷移資料庫的第一項任務是建立複寫執行個體。複寫執行個體需要具有足夠儲存空間和處理能力，才能執行您指派的任務，並將資料從來源資料庫遷移至目標資料庫。此執行個體的大小需求取決於遷移的資料量、執行個體需要執行的任務。如需複寫執行個體的詳細資訊，請參閱[使用 AWS DMS 複寫執行個體](CHAP_ReplicationInstance.md)。

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

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

1. 在 **Create replication instance (建立複寫執行個體)** 頁面上指定您的複寫執行個體資訊。下表說明您可以進行的設定。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html)

1. 選擇 **Advanced (進階)** 標籤，設定網路字串和加密設定的值 (如需要)。下表說明相關設定。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html)

1. 指定 **Maintenance (維護)** 設定。下表說明相關設定。如需維護設定的詳細資訊，請參閱[使用 AWS DMS 維護時段](CHAP_ReplicationInstance.MaintenanceWindow.md)。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html)

1. 選擇 **Create replication instance (建立複寫執行個體)**。

# 修改複寫執行個體
<a name="CHAP_ReplicationInstance.Modifying"></a>

您可以修改複寫執行個體的設定，例如變更執行個體類別或增加儲存體。

當您修改複寫執行個體時，您可以立即套用變更。欲立即套用變更，請在 AWS 管理主控台中選擇**立即套用**選項。或者，在呼叫 時使用 `--apply-immediately` 參數 AWS CLI，或在使用 DMS API `true`時將 `ApplyImmediately` 參數設定為 。

若您未選擇立即套用變更，則系統會將變更內容放入待定修改佇列。在下一次維護時段期間，系統便會套用佇列中的任何待定變更。

**注意**  
若您選擇立即套用變更，則系統會一併套用待定修改佇列中的任何變更內容。若有任何擱置中的修改需要停機時間，選擇 **Apply changes immediately (立即套用變更)** 便可能會造成未預期的停機時間。

**使用 AWS 主控台修改複寫執行個體**

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

1. 在導覽窗格中，選擇 **Replication instances (複寫執行個體)**。

1. 選擇您想要修改的複寫執行個體。下表會說明您可以進行的修改。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/dms/latest/userguide/CHAP_ReplicationInstance.Modifying.html)

## 修改複寫執行個體時的最佳實務
<a name="CHAP_ReplicationInstance.Modifying.best.practice"></a>

修改複寫執行個體時，遵循這些最佳實務有助於確保成功更新，並將對遷移工作流程的影響降至最低。在修改之前、期間和之後採取下列關鍵步驟，以在整個過程中維持資料完整性和營運效率。

**計劃修改時間：**  
+ 您可以立即套用變更，或為下一個維護時段排程變更。
+ 在低流量期間排程 ，將影響降至最低。

**修改前步驟：**  
+ 停止所有作用中的複寫任務。
+ 確認所有任務都已成功停止。
+ 記錄目前的組態任務設定。

**在修改期間：**  
+ 監控修改進度。
+ 等待「可用」狀態再繼續。

**修改後步驟：**  
+ 繼續所有先前停止的任務。
+ 確認任務正確執行。

# 重新開機複寫執行個體
<a name="CHAP_ReplicationInstance.Rebooting"></a>

您可以重新啟動 AWS DMS 複寫執行個體以重新啟動複寫引擎。重新開機會造成複寫執行個體暫時中斷，而在此期間執行個體的狀態會設為 **Rebooting (重新開機中)**。如果 AWS DMS 執行個體設定為異地同步備份，則可以使用容錯移轉執行重新啟動。重新啟動完成時會建立 AWS DMS 事件。

如果您的 AWS DMS 執行個體是異地同步備份部署，您可以在重新啟動時強制從一個 AWS 可用區域進行計劃容錯移轉。當您強制 AWS DMS 執行個體的計劃容錯移轉時， 在自動切換到另一個可用區域中的待命執行個體之前， 會 AWS DMS 關閉目前執行個體上的作用中連線。使用計劃的容錯移轉重新啟動可協助您模擬 AWS DMS 執行個體的計劃容錯移轉事件，例如擴展複寫執行個體類別時。

**注意**  
重新啟動後強制從某一可用區域容錯移轉到另一個可用區域，可能在數分鐘內都不會反映此可用區域的變更。此延遲會出現在 中 AWS 管理主控台，以及對 AWS CLI 和 AWS DMS API 的呼叫中。

如果在重新啟動發生時，複寫執行個體上正在執行遷移任務，則不會發生資料遺失，但任務會停止，且任務狀態會變更為錯誤狀態。

如果遷移任務中的資料表正處於大量載入 (完全載入階段) 的過程，且尚未開始，則這些任務會進入錯誤狀態。但是，在當時已完成的資料表會保持在已完成的狀態。在完全載入階段期間發生重新啟動時，我們建議您執行下列其中一個步驟。
+ 將處於已完成狀態的資料表從任務中移除，然後使用剩餘的資料表重新開始任務。
+ 新建任務，內含處於錯誤狀態的資料表以及處於待完成狀態的資料表。

若遷移任務中的資料表正處於進行中複寫階段，則任務會在重新開機完成後繼續。

如果複 AWS DMS 寫執行個體的狀態不是**可用**狀態，則無法重新啟動複寫執行個體。您的 AWS DMS 執行個體可能因多種原因而無法使用，例如先前請求的修改或維護時段動作。重新啟動 AWS DMS 複寫執行個體所需的時間通常很短 （不到 5 分鐘）。

## 使用 AWS 主控台重新啟動複寫執行個體
<a name="CHAP_ReplicationInstance.Rebooting.CON"></a>

若要重新啟動複寫執行個體，請使用 AWS 主控台。

**使用 AWS 主控台重新啟動複寫執行個體**

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

1. 在導覽窗格中，選擇 **Replication instances (複寫執行個體)**。

1. 選擇想要重新啟動的複寫執行個體。

1. 選擇 **Reboot** (重新啟動)。**將複寫執行個體重新開機**對話方塊隨即開啟。

1. 若您已針對多可用區部署設定複寫執行個體，並且您希望容錯移轉至另一個 AWS 可用區域，請選取**要使用規劃的容錯移轉重新開機嗎？**的對話方塊。

1. 選擇 **Reboot** (重新啟動)。

## 使用 CLI 重新開機複寫執行個體
<a name="CHAP_ReplicationInstance.Rebooting.CLI"></a>

若要重新啟動複寫執行個體，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/dms/reboot-replication-instance.html](https://docs.aws.amazon.com/cli/latest/reference/dms/reboot-replication-instance.html)命令搭配下列參數：
+ `--replication-instance-arn`

**Example 簡單的重新開機範例**  
下列 AWS CLI 範例會重新啟動複寫執行個體。  

```
aws dms reboot-replication-instance \
--replication-instance-arn arn of my rep instance
```

**Example 使用容錯移轉簡單重新開機的範例**  
下列 AWS CLI 範例會重新啟動具有容錯移轉的複寫執行個體。  

```
aws dms reboot-replication-instance \
--replication-instance-arn arn of my rep instance \
--force-planned-failover
```

## 使用 API 重新開機複寫執行個體
<a name="CHAP_ReplicationInstance.Rebooting.API"></a>

若要重新啟動複寫執行個體，請使用 AWS DMS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)動作搭配下列參數：
+ `ReplicationInstanceArn = arn of my rep instance`

**Example 簡單的重新開機範例**  
以下程式碼範例會重新開機複寫執行個體。  

```
 1. https://dms.us-west-2.amazonaws.com/
 2. ?Action=RebootReplicationInstance
 3. &DBInstanceArn=arn of my rep instance
 4. &SignatureMethod=HmacSHA256
 5. &SignatureVersion=4
 6. &Version=2014-09-01
 7. &X-Amz-Algorithm=AWS4-HMAC-SHA256
 8. &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request
 9. &X-Amz-Date=20140425T192732Z
10. &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
11. &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3
```

**Example 使用容錯移轉簡單重新開機的範例**  
下列程式碼範例會重新啟動複寫執行個體，並容錯移轉至另一個 AWS 可用區域。  

```
 1. https://dms.us-west-2.amazonaws.com/
 2. ?Action=RebootReplicationInstance
 3. &DBInstanceArn=arn of my rep instance
 4. &ForcePlannedFailover=true
 5. &SignatureMethod=HmacSHA256
 6. &SignatureVersion=4
 7. &Version=2014-09-01
 8. &X-Amz-Algorithm=AWS4-HMAC-SHA256
 9. &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request
10. &X-Amz-Date=20140425T192732Z
11. &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
12. &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3
```

# 刪除複寫執行個體
<a name="CHAP_ReplicationInstance.Deleting"></a>

您可以在使用完畢後刪除 AWS DMS 複寫執行個體。若您有仍在使用複寫執行個體的遷移任務，您必須停止並刪除任務，才能刪除複寫執行個體。

如果您關閉 AWS 帳戶，與帳戶相關聯的所有 AWS DMS 資源和組態都會在兩天後刪除。這些資源包含所有複寫執行個體、來源及目標端點組態、複寫任務及 SSL 憑證。如果您在兩天後決定 AWS DMS 再次使用 ，您可以重新建立所需的資源。

如果複寫執行個體符合刪除的所有條件，且長時間維持在 `DELETING` 狀態，請聯絡支援人員以針對此問題進行疑難排解。

## 使用 AWS 主控台刪除複寫執行個體
<a name="CHAP_ReplicationInstance.Deleting.CON"></a>

若要刪除複寫執行個體，請使用 AWS 主控台。

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

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

1. 在導覽窗格中，選擇 **Replication instances (複寫執行個體)**。

1. 選擇您要刪除的複寫執行個體。

1. 選擇 **刪除**。

1. 在對話方塊中，選擇 **Delete (刪除)**。

## 使用 CLI 刪除複寫執行個體
<a name="CHAP_ReplicationInstance.Deleting.CLI"></a>

若要刪除複寫執行個體，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/dms/delete-replication-instance.html](https://docs.aws.amazon.com/cli/latest/reference/dms/delete-replication-instance.html)命令搭配下列參數：
+ `--replication-instance-arn`

**Example 刪除範例**  
下列 AWS CLI 範例會刪除複寫執行個體。  

```
aws dms delete-replication-instance \
--replication-instance-arn arn of my rep instance
```

## 使用 API 刪除複寫執行個體
<a name="CHAP_ReplicationInstance.Deleting.API"></a>

若要刪除複寫執行個體，請使用 AWS DMS API [https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationInstance.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationInstance.html)動作搭配下列參數：
+ `ReplicationInstanceArn = arn of my rep instance`

**Example 刪除範例**  
以下程式碼範例會刪除複寫執行個體。  

```
 1. https://dms.us-west-2.amazonaws.com/
 2. ?Action=DeleteReplicationInstance
 3. &DBInstanceArn=arn of my rep instance
 4. &SignatureMethod=HmacSHA256
 5. &SignatureVersion=4
 6. &Version=2014-09-01
 7. &X-Amz-Algorithm=AWS4-HMAC-SHA256
 8. &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request
 9. &X-Amz-Date=20140425T192732Z
10. &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
11. &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3
```

# 使用 AWS DMS 維護時段
<a name="CHAP_ReplicationInstance.MaintenanceWindow"></a>

每個 AWS DMS 複寫執行個體都有每週維護時段，在此期間會套用任何可用的系統變更。您可以將維護時段視為執行修改及軟體修補作業的時機。

如果 AWS DMS 判斷特定週內需要維護，維護會在您建立複寫執行個體時選擇的 30 分鐘維護時段內進行。 會在 30 分鐘維護時段內 AWS DMS 完成大部分的維護。但是，較大的變更則可能需要更長的時間。

## 維護現有遷移任務的影響
<a name="CHAP_ReplicationInstance.MaintenanceWindow.Effect"></a>

在執行個體上執行 AWS DMS 遷移任務時，套用修補程式時會發生下列事件：
+ 若遷移任務中的資料表仍處於複寫持續進行變更階段 (CDC)， AWS DMS 會將任務暫停片刻，並在套用修補程式後繼續任務。套用修補程式後，遷移便會從插斷的位置繼續進行。
+ 如果 AWS DMS 將資料表遷移為**遷移現有資料**的一部分，或**遷移現有資料並複寫持續的變更**任務，則 DMS 會停止，然後在套用修補程式時重新啟動處於完全載入階段的所有資料表的遷移。DMS 也會停止，並在套用修補程式時，繼續所有處於 CDC 階段的資料表。

## 變更維護時段設定
<a name="CHAP_ReplicationInstance.MaintenanceWindow.Changing"></a>

您可以使用 AWS 管理主控台 AWS CLI、 或 AWS DMS API 變更維護時段時間範圍。

### 使用此主控台變更維護時段設定
<a name="CHAP_ReplicationInstance.AdjustingTheMaintenanceWindow.CON"></a>

您可以使用 AWS 管理主控台變更維護時段的時間範圍。

**使用此主控台變更慣用的維護時段**

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

1. 在導覽窗格中，選擇 **Replication instances (複寫執行個體)**。

1. 選擇您希望修改的複寫執行個體，並選擇 **Modify (修改)**。

1. 展開 **Maintenance (維護)** 標籤，然後選擇您維護時段的日期和時間。

1. 選擇 **Apply changes immediately (立即套用變更)**。

1.  選擇 **Modify** (修改)。

### 使用 CLI 變更維護時段設定
<a name="CHAP_ReplicationInstanceAdjustingTheMaintenanceWindow.CLI"></a>

若要調整偏好的維護時段，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)命令搭配下列參數。
+ `--replication-instance-identifier`
+ `--preferred-maintenance-window`

**Example**  
下列 AWS CLI 範例會將維護時段設定為星期二上午 4：00 到 4：30。data at rest。  

```
aws dms modify-replication-instance \
--replication-instance-identifier myrepinstance \
--preferred-maintenance-window Tue:04:00-Tue:04:30
```

### 使用 API 變更維護時段設定
<a name="CHAP_ReplicationInstanceAdjustingTheMaintenanceWindow.API"></a>

若要調整偏好的維護時段，請使用 AWS DMS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html)動作搭配下列參數。
+ `ReplicationInstanceIdentifier = myrepinstance`
+ `PreferredMaintenanceWindow = Tue:04:00-Tue:04:30`

**Example**  
以下程式碼範例會將維護時段設為星期二的早上 4:00–4:30。data at rest。  

```
 1. https://dms.us-west-2.amazonaws.com/
 2. ?Action=ModifyReplicationInstance
 3. &DBInstanceIdentifier=myrepinstance
 4. &PreferredMaintenanceWindow=Tue:04:00-Tue:04:30
 5. &SignatureMethod=HmacSHA256
 6. &SignatureVersion=4
 7. &Version=2014-09-01
 8. &X-Amz-Algorithm=AWS4-HMAC-SHA256
 9. &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request
10. &X-Amz-Date=20140425T192732Z
11. &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
12. &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3
```