本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
完成先決條件以進行設定 AWS Database Migration Service
在本節中,您可以了解 的先決條件任務 AWS DMS,例如設定來源和目標資料庫。在這些任務中,您也會設定以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 來容納資源。此外,您還可以設定 Amazon EC2 執行個體,您會使用此執行個體來填入來源資料庫並驗證目標資料庫上的複寫。
注意
填入來源資料庫最多需要 45 分鐘。
在此教學課程中,您將建立作為來源的 MariaDB 資料庫,以及作為目標的 PostgreSQL 資料庫。這個情況會使用常用、低成本資料庫引擎來示範複寫。使用不同的資料庫引擎示範在異質平台之間遷移資料 AWS DMS 的功能。
本教學課程中的資源使用美國西部 (奧勒岡) 區域。如果您想要使用不同的 AWS 區域,請指定您所選的區域,而不是在美國西部 (奧勒岡) 出現的位置。
注意
為了簡單起見,您為本教學課程建立的資料庫不會使用加密或其他進階安全功能。您必須使用安全性功能,來確保生產資料庫的安全。如需詳細資訊,請參閱 Amazon RDS 中的安全性。
如需先決條件步驟,請參下列主題。
建立 VPC
在本節中,您會建立 VPC 以包含您的 AWS 資源。使用 VPC 是使用 AWS 資源時的最佳實務,因此您的資料庫、Amazon EC2 執行個體、安全群組等都會以邏輯方式組織且安全。
在教學課程資源中使用 VPC,也可確保您在完成教學課程後刪除所有使用的資源。您必須先刪除 VPC 包含的所有資源,才能刪除 VPC。
建立 VPC 以搭配 使用 AWS DMS
登入 AWS Management Console ,並在 https://console.aws.amazon.com/vpc/
:// 開啟 Amazon VPC 主控台。 在導覽窗格中,選擇 VPC 儀表板,然後選擇建立 VPC。
在建立 VPC 頁面上輸入下列選項:
要建立的資源:VPC 等
名稱標籤自動產生:選擇自動產生,然後輸入
DMSVPC
。IPv4 區塊:
10.0.1.0/24
IPv6 CIDR 區塊:無 IPv6 CIDR 區塊
租用:預設
可用區域的數量:2
公有子網路數量:2
私有子網路數量:2
NAT 閘道 ($):無
VPC 端點:無
選擇建立 VPC。
在導覽窗格中,選擇 VPC。請留意 DMSVPC 的 VPC ID。
在導覽窗格中,選擇安全群組。
選擇名為預設的群組,該群組具有與您為 DMSVPC 記錄的 ID 相符的 VPC ID。
選擇傳入規則索引標籤,然後選擇編輯傳入規則。
選擇新增規則。新增類型為 MySQL/Aurora 的規則,然後選擇 Anywhere-IPv4 作為來源。
再次選擇新增規則。新增類型為 PostgreSQL 的規則,然後選擇 Anywhere-IPv4 作為來源。
選擇儲存規則。
建立 Amazon RDS 參數群組
若要指定來源和目標資料庫的設定 AWS DMS,請使用 Amazon RDS 參數群組。若要允許資料庫之間的初始和進行中複寫,請務必設定以下內容:
來源資料庫的二進位日誌,讓 AWS DMS 可以判斷需要複寫哪些增量更新。
目標資料庫的複寫角色,因此 會在初始資料傳輸期間 AWS DMS 忽略外部金鑰限制條件。透過此設定, AWS DMS 可以不按順序遷移資料。
建立參數群組以搭配 使用 AWS DMS
前往 https://console.aws.amazon.com/rds/
,開啟 Amazon RDS 主控台。 在導覽窗格中,選擇參數群組。
在參數群組頁面上,選擇建立參數群組。
在建立參數群組頁面上,輸入下列設定:
參數群組系列:mariadb10.6
Group name (群組名稱):
dms-mariadb-parameters
描述:
Group for specifying binary log settings for replication
選擇 Create (建立)。
在參數群組頁面上,選擇 dms-mariadb-parameters,然後在 dms-mariadb-parameters 頁面上選擇編輯。
將下列參數設為以下值:
binlog_checksum:NONE
binlog_format:ROW
選擇 Save changes (儲存變更)。
在參數群組頁面上,再次選擇建立參數群組。
在建立參數群組頁面上,輸入下列設定:
參數群組系列:postgres13
Group name (群組名稱):
dms-postgresql-parameters
描述:
Group for specifying role setting for replication
選擇 Create (建立)。
在參數群組頁面上,選擇 dms-postgresql-parameters。
在 dms-postgresql-parameters 頁面上,選擇編輯,然後將 session_replication_role parameter 設定為複本。請注意,session_replication_role 參數不在參數的第一頁上。使用分頁控制項或搜尋欄位來尋找此參數。
選擇 Save changes (儲存變更)。
建立來源 Amazon RDS 資料庫
使用下列程序建立來源 Amazon RDS 資料庫。
若要建立來源 Amazon RDS for MariaDB 資料庫
前往 https://console.aws.amazon.com/rds/
,開啟 Amazon RDS 主控台。 在儀表板頁面的資料庫區段中選擇建立資料庫。請勿在頁面頂端的嘗試適用於 MySQL 和 PostgreSQL 的新 Amazon RDS 多可用區部署選項區段中選擇建立資料庫。
在建立資料庫頁面上,設定下列選項:
選擇資料庫建立方法:選擇標準建立。
引擎選項:對於引擎類型選擇 MariaDB。對於版本,請保持選取 MariaDB 10.6.14。
範本:選擇開發/測試。
設定:
資料庫執行個體識別碼:輸入
dms-mariadb
。在憑證設定區段中輸入下列內容:
主要使用者名稱:保持
admin
的身分。不核取 AWS Secrets Manager 中的管理主登入資料。
自動產生密碼:保持未選取的狀態。
主密碼:輸入
changeit
。確認密碼:再次輸入
changeit
。
執行個體組態:
資料庫執行個體類別:將標準類別保持選取狀態。
對於資料庫執行個體類別,選擇 db.m5.large。
儲存:
清除啟用儲存自動擴展方塊。
其他設定維持不變。
可用性與耐久性:將不要建立備用執行個體保持選取的狀態。
連線能力:
運算資源:保持不連線至 EC2 運算資源
網路類型:將 IPv4 保持選取的狀態。
虛擬私有雲端:DMSVPC-vpc
公開存取:是。您必須啟用公有存取權,才能使用 AWS Schema Conversion Tool。
可用區域:us-west-2a
其他設定維持不變。
資料庫身份驗證:將密碼身份驗證保持選取的狀態。
在監控下清除開啟績效詳情方塊。展開附加組態區段,然後清除啟用增強型監控方塊。
展開附加組態:
在資料庫選項下,針對初始資料庫名稱輸入
dms_sample
。在資料庫參數群組下,選擇 dms-mariadb-parameters。
對於選項群組,將 default:mariadb-10-6 保持選取的狀態。
在 Backup (備份) 底下,執行下列動作:
將啟用自動備份保持選取的狀態。來源資料庫必須啟用自動備份,才能支援進行中複寫。
對於備份保留期間,選擇 1 天。
對於備份時段,將沒有偏好保持選取的狀態。
清除將標籤複製到快照方塊。
取消核取另一個 AWS 區域中的啟用複寫。
在加密下,清除啟用加密方塊。
將日誌匯出區段維持不變。
在維護下,清除啟用自動次要版本升級方塊,並將維護時段設定保持為沒有偏好。
將啟用刪除保護保持不勾選的狀態。
選擇建立資料庫。
建立目標 Amazon RDS 資料庫
重複上述程序以建立目標 Amazon RDS 資料庫,並進行下列變更。
若要建立目標 RDS for PostgreSQL 資料庫
重複前述程序的步驟 1 和 2。
-
在建立資料庫頁面上設定相同的選項,但下列選項除外:
針對引擎選項,選擇 PostgreSQL。
對於版本,選擇 PostgreSQL 13.7-R1
對於 DB instance identifier (資料庫執行個體識別碼),請輸入
dms-postgresql
。對於主要使用者名稱,將
postgres
保持選取的狀態。對於資料庫參數群組,選擇 dms-postgresql-parameters。
清除啟用自動備份。
選擇建立資料庫。
建立 Amazon EC2 用戶端
您會在本節中建立 Amazon EC2 用戶端。您可以使用此用戶端將要複寫的資料填入來源資料庫。您也可以使用此用戶端,透過在目標資料庫上執行查詢來驗證複寫。
與透過網際網路存取資料庫相比,使用 Amazon EC2 用戶端存取資料庫具有以下優勢:
您可以將資料庫的存取限制在相同 VPC 中的用戶端。
我們已確認您在本教學課程中使用的工具可在 Amazon Linux 2023 上運作且能夠輕鬆安裝,建議您在本教學課程中使用 Amazon Linux 2023。
VPC 中元件之間的資料操作通常比網際網路上的資料操作效能更好。
建立和設定 Amazon EC2 用戶端以填入來源資料庫
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 在儀表板上選擇啟動執行個體。
在啟動執行個體頁面上輸入下列值:
在名稱和標籤區段的名稱中輸入
DMSClient
。在應用程式和 OS 映像 (Amazon Machine Image) 區段中,將設定保持原樣。
在執行個體類型區段中選擇 t2.xlarge。
在金鑰對 (登入) 區段中選擇建立新金鑰對。
在建立金鑰對頁面上,輸入下列內容:
Key pair name (金鑰對名稱):
DMSKeyPair
金鑰對類型:保留為 RSA。
私有金鑰檔案格式:在 MacOS 或 Linux 上為 OpenSSH 選擇 pem,或在 Windows 上為 PuTTY 選擇 ppk。
出現提示時儲存金鑰檔案。
注意
您也可以使用現有的 Amazon EC2 金鑰對,而不是新建金鑰對。
在網路設定區段中選擇編輯。選擇下列設定:
VPC - 必要:選擇內含您為 DMSVPC-vpc VPC 記錄之 ID 的 VPC。
子網路:請先選擇公有子網路。
自動指派公有 IP:選擇啟用。
其餘設定維持不變,然後選擇啟動執行個體。
填入來源資料庫
您會在此區段中找到來源資料庫和目標資料庫供稍後使用的端點,並使用下列工具來填入來源資料庫:
Git,下載填入來源資料庫的指令碼。
MariaDB 用戶端,可執行此指令碼。
取得端點
尋找並記下 RDS for MariaDB 和 RDS for PostgreSQL 資料庫執行個體的端點,以供日後使用。
尋找資料庫執行個體端點
登入 AWS Management Console ,並在 https://console.aws.amazon.com/rds/
:// 開啟 Amazon RDS 主控台。 在導覽窗格中選擇資料庫。
選擇 dms-mariadb 資料庫,並記下資料庫的端點值。
針對 dms-postgresql 資料庫重複上述步驟。
填入來源資料庫
接著,連線至您的用戶端執行個體、安裝必要的軟體、從 Git 下載 AWS 範例資料庫指令碼,然後執行指令碼來填入來源資料庫。
若要填入來源資料庫
使用您在先前步驟中儲存的主機名稱和公有金鑰連接至用戶端執行個體。
如需連線至 Amazon EC2 執行個體的詳細資訊,請參閱《Amazon EC2 使用者指南》中的存取執行個體。
注意
如果您使用 PuTTY,請在連線設定頁面上啟用 TCP 保持連線,如此連線就不會因閒置而逾時。
安裝 Git、MariaDB 和 PostgreSQL。根據需要確認安裝。
$ sudo yum install git $ sudo dnf install mariadb105 $ sudo dnf install postgresql15
執行以下命令,即可從 GitHub 下載資料庫建立指令碼。
git clone https://github.com/aws-samples/aws-database-migration-samples.git
切換至
aws-database-migration-samples/mysql/sampledb/v1/
目錄。執行下列命令。以
dms-mariadb.cdv5fbeyiy4e.us-east-1.rds.amazonaws.com
為例,為您先前記下的來源 RDS 執行個體提供端點。mysql -h dms-mariadb.
abcdefghij01
.us-east-1.rds.amazonaws.com -P 3306 -u admin -p dms_sample < ~/aws-database-migration-samples/mysql/sampledb/v1/install-rds.sql讓資料庫建立指令碼執行。此指令碼最多需要 45 分鐘,才能建立結構描述並填入資料。您可以放心地忽略指令碼顯示的錯誤和警告。