本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定複寫執行個體的網路
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 和子網路。如需彈性 IP 地址的相關資訊,請參閱《Amazon Elastic Compute Cloud 使用者指南》中的彈性 IP 地址。
資料庫遷移的網路組態
您可以搭配 AWS Database Migration Service 使用數種不同的網路組態。以下是用於資料庫遷移的網路常見組態。
主題
可行的話,建議您在與目標端點相同的區域中,以及在與目標端點相同的 VPC 或子網路中建立 DMS 複寫執行個體。
所有資料庫遷移元件皆位於單一 VPC 的組態
最簡單的資料庫遷移網路,便是讓來源端點、複寫執行個體和目標端點皆位於相同的 VPC 內。若來源和目標端點位於 Amazon RDS 資料庫執行個體或 Amazon EC2 執行個體上,這便是個不錯的選擇。
下圖會顯示組態,其中 Amazon EC2 執行個體上的資料庫會連線到複寫執行個體,並且資料會遷移到 Amazon RDS 資料庫執行個體。

用於此組態的 VPC 安全群組必須在資料庫連接埠上允許從複寫執行個體輸入。您可以使用幾種方式執行此動作。您可以確保複寫執行個體所使用的安全群組已輸入此端點。或者,您也可以允許複寫執行個體的 VPC CIDR 範圍、NAT GW 彈性 IP 或私有 IP 地址 (如果您使用的話)。但是我們不建議您使用複寫執行個體的私有 IP 地址,因為如果複寫 IP 地址變更,複寫就可能會中斷。
使用多個 VPC 的組態
若來源端點和目標端點位於不同的 VPC,您可以在其中一個 VPC 中建立複寫執行個體。然後使用 VPC 對等互連來連結兩個 VPC。
VPC 對等互連連線是兩個 VPC 間的聯網連線,允許使用每個 VPC 的私有 IP 地址進行路由,就像它們位於相同的網路。您可以在自己的 VPCs 之間建立 VPC 對等互連、在其他 AWS 帳戶中使用 VPC,或在不同 AWS 區域中使用 VPC。如需 VPC 對等互連的詳細資訊,請參閱《Amazon VPC 使用者指南》中的 VPC 對等互連。
下圖顯示使用 VPC 對等互連的範例組態。在此處,VPC 中 Amazon EC2 執行個體上的來源資料庫會使用 VPC 對等互連連線到 VPC。此 VPC 包含複寫執行個體和 Amazon RDS 資料庫執行個體上的目標資料庫。

若要實作 VPC 對等互連,請遵循 Amazon 虛擬私有雲端、VPC 對等互連文件中的使用 VPC 對等互連中的指示。請確定某個 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 對等互連的路由表。
用於此組態的 VPC 安全群組必須在資料庫連接埠上允許從複寫執行個體輸入,或者允許在對等互連 VPC 的 CIDR 區塊上輸入。
使用共用 VPC 的組態
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 中使用您帳戶建立的資源。
使用 AWS Direct Connect 或 VPN 將網路設定為 VPC
遠端網路可以使用多種選項連線至 VPC,例如 AWS Direct Connect 或軟體或硬體 VPN 連線。這些選項常透過將內部網路擴充至 AWS 雲端,來整合現有的現場服務,例如監控、身分驗證、安全、資料及其他系統。透過使用此類網路擴充,您便可以順暢地連線到 AWS託管資源 (例如 VPC)。
下圖顯示一個組態,其中來源端點是企業資料中心內的現場部署資料庫。其會使用 AWS Direct Connect 或 VPN 連線到包含複寫執行個體及 Amazon RDS 資料庫執行個體上目標資料庫的 VPC。

在此組態中,VPC 安全群組必須包含路由規則,將目標為 VPC CIDR 範圍或特定 IP 地址的流量傳送到主機。此主機必須要能夠橋接 VPC 到現場部署 VPN 之間的流量。在此情況下,NAT 主機會包含其本身的安全群組設定。這些設定必須允許從複寫執行個體的 VPC CIDR 範圍、私有 IP 地址或安全群組傳入 NAT 執行個體的流量。但是我們不建議您使用複寫執行個體的私有 IP 地址,因為如果複寫 IP 地址變更,複寫就可能會中斷。
使用網際網路的網路對 VPC 組態
如果您不使用 VPN 或 AWS Direct Connect 連線到 AWS 資源,您可以使用網際網路遷移資料庫。在此情況下,您可以遷移至 Amazon EC2 執行個體或 Amazon RDS 資料庫執行個體。此組態涉及帶有網際網路閘道 VPC 內的公有複寫執行個體,其中包含目標端點和複寫執行個體。

若要將網際網路閘道新增至 VPC,請參閱《Amazon VPC 使用者指南》中的連接網際網路閘道。
VPC 路由表必須包含路由規則,將不是預設流向 VPC 的流量傳送到網際網路閘道。在此組態中,與端點的連線看起來就像是來自複寫執行個體的公有 IP 地址,而非私有 IP 地址。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的 VPC 路由表。
不在 VPC 內的 RDS 資料庫執行個體對使用 ClassicLink 的 VPC 中資料庫執行個體的組態
我們將於 2022 年 8 月 15 日淘汰 EC2-Classic。建議您從 EC2-Classic 遷移至 VPC。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的從 EC2-Classic 遷移至 VPC,以及部落格文章 EC2-Classic Networking is Retiring – Here’s 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
您可以將不在 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 內資料庫執行個體上的資料庫
-
建立 AWS DMS 複寫執行個體並指派 VPC 安全群組:
-
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/dms/v2/
開啟 AWS DMS 主控台。 如果您以 AWS Identity and Access Management (IAM) 使用者身分登入,請確定您具有存取 的適當許可 AWS DMS。如需資料庫移轉所需許可的詳細資訊,請參閱IAM 使用 所需的許可 AWS DMS。
-
在 Dashboard (儀表板) 頁面上,選擇 Replication Instance (複寫執行個體)。遵循步驟 1:使用 AWS DMS 主控台建立複寫執行個體中的說明建立複寫執行個體。
-
建立 DMS AWS 複寫執行個體之後,請開啟 EC2 服務主控台。從導覽窗格選擇網路介面。
-
選擇 DMSNetworkInterface,然後從動作選單中選擇變更安全群組。
-
選擇您希望用於複寫執行個體和目標資料庫執行個體的安全群組。
-
-
將最後一個步驟的安全群組與目標資料庫執行個體建立關聯:
開啟 Amazon RDS 服務主控台。從導覽窗格中選擇執行個體。
選擇目標資料庫執行個體。對於執行個體動作,選擇修改。
針對安全群組參數,選擇您在先前步驟中使用的安全群組。
選擇繼續,然後選擇修改資料庫執行個體。
-
步驟 3:使用 NGINX 在 EC2 Classic 執行個體上設定代理伺服器。使用您選擇的 AMI 啟動 EC2 Classic 執行個體。以下範例是以 AMI Ubuntu Server 14.04 LTS (HVM) 為基礎。
在 EC2 Classic 執行個體上設定代理伺服器
-
連線到 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
-
使用以下代碼編輯 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
-
在
/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_passDB instance identifier
:DB instance port number
; } } -
使用下列命令,從命令列啟動 NGINX:
Prompt> sudo initctl reload-configuration Prompt> sudo initctl list | grep nginx Prompt> sudo initctl start nginx
-
-
在代理伺服器和包含目標資料庫執行個體及複寫執行個體的目標 VPC 間建立 ClassicLink 連線:
開啟 EC2 主控台,並選擇正在執行代理伺服器的 EC2 Classic 執行個體。
在動作中,選擇 ClassicLink,然後選擇連結至 VPC。
-
選擇您在此程序中先前使用的安全群組。
選擇連結至 VPC。
-
步驟 5:使用 中的程序建立 AWS DMS 端點步驟 2:指定來源與目標端點。指定來源端點時,您必須使用代理的內部 EC2 DNS 主機名稱作為伺服器名稱。
-
使用 AWS 中的程序建立 DMS 任務步驟 3:建立任務並遷移資料。
建立複寫子網路群組
作為用於資料庫遷移網路的一部分,您需要指定虛擬私有雲端 (VPC) 中您計劃使用的子網路。此 VPC 必須以 Amazon VPC 服務為基礎。子網路是指定可用區域中您 VPC 內的一個 IP 地址範圍。這些子網路可以分佈在 VPC 所在 AWS 區域的可用區域之間。
當您在 DMS AWS 主控台中建立複寫執行個體或執行個體描述檔時,您可以使用您選擇的子網路。
您可以建立複寫子網路群組來定義要使用的子網路。您必須指定至少兩個可用區域內的子網路。
建立複寫子網路群組
-
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/dms/v2/
開啟 AWS DMS 主控台。 如果您以 IAM 使用者身分登入,請確認您具備適當的許可來存取 AWS DMS。如需資料庫移轉所需許可的詳細資訊,請參閱IAM 使用 所需的許可 AWS DMS。
-
在導覽窗格中選擇 Subnet groups (子網路群組)。
-
選擇 Create subnet group (建立子網路群組)。
-
在建立複寫子網路群組頁面上,指定複寫子網路群組資訊。下表說明相關設定。
選項 動作 名稱
輸入包含 8 到 16 個可列印的 ASCII 字元 (但 /、" 和 @ 除外),作為複寫子網路群組名稱。您所選 AWS 區域的 帳戶名稱應是唯一的。您可以選擇將一些智慧新增至名稱,例如包含您執行 AWS 的區域和任務,例如
DMS-default-VPC
。Description
輸入複寫子網路群組的簡短描述。
VPC
選擇您希望用於資料庫遷移的 VPC。請記得,在至少兩個可用區域內,VPC 必須擁有至少一個子網路。
新增子網路
選擇您希望包含在複寫子網路群組中的子網路。您必須選擇至少兩個可用區域內的子網路。
選擇 Create subnet group (建立子網路群組)。
使用 DNS 解析網域端點
通常, AWS DMS 複寫執行個體會使用 Amazon EC2 執行個體中的網域名稱系統 (DNS) 解析程式來解析網域端點。如果您需要 DNS 解析,則可以使用 Amazon Route 53 Resolver。如需使用 Route 53 DNS Resolver 的相關資訊,請參閱 Route 53 Resolver 入門。
如需如何使用自己的內部部署名稱伺服器,使用 Amazon Route 53 Resolver 解析特定端點的相關資訊,請參閱 使用自己的內部部署名稱伺服器。