Data Transmission Service支援配置源庫或目標庫跨阿里雲帳號的任務,適用於阿里雲帳號間的資源遷移或合并、業務架構調整等多種應用情境。
背景資訊
現有兩個阿里雲資料庫或者通過專線、VPN網關或智能網關接入自建資料庫(例如RDS MySQL)分別屬於不同的阿里雲帳號,由於業務需求,需要將阿里雲帳號A下資料庫的業務資料移轉至阿里雲帳號B下的資料庫。
支援的資料庫
在配置DTS任務時,支援配置是否跨阿里雲帳號的資料庫如下表所示。
源庫是否跨阿里雲帳號的配置結果,不影響目標庫資料庫類型的選項。
資料庫執行個體 | 阿里雲資料庫 | 自建資料庫 |
源庫 | RDS MySQL、RDS MariaDB、RDS PostgreSQL、RDS SQL Server、PolarDB-X 1.0、PolarDB-X 2.0、PolarDB PostgreSQL版、PolarDB PostgreSQL版(相容Oracle)、PolarDB MySQL版、雲資料庫Tair(相容Redis)、ApsaraDB for MongoDB、OceanBase(MySQL模式)、AnalyticDB MySQL版 3.0叢集。 |
|
目標庫 | RDS MySQL、PolarDB MySQL版、雲資料庫SelectDB版、雲資料庫Tair(相容Redis)、雲資料庫ClickHouse、AnalyticDB MySQL版 3.0叢集、ApsaraDB for MongoDB。 | 暫不支援。 |
前提條件
已建立任務所需的源和目標庫執行個體。
源和目標執行個體所屬的阿里雲帳號已經授權DTS的RAM角色訪問其雲資源,詳情請參見授予DTS訪問雲資源的許可權。
已擷取源庫執行個體、目標庫執行個體和建立DTS任務的阿里雲帳號(主帳號)ID。您可以使用對應的阿里雲帳號(主帳號)登入安全設定頁面,擷取帳號ID。
注意事項
當前僅RDS MySQL執行個體間、PolarDB MySQL版叢集間、Tair(企業版)執行個體間、ApsaraDB for MongoDB(複本集架構)間、ApsaraDB for MongoDB(分區叢集架構)間,支援跨帳號的雙向同步任務。
說明沒有是否跨阿里雲帳號配置項的任務,您可以嘗試使用CEN實現跨阿里雲帳號任務的配置。更多資訊,請參見跨阿里雲帳號或跨地區訪問資料庫資源。
暫不支援不同屬性帳號之間(如金融雲和政務雲帳號之間)的同步任務。
操作步驟
本操作以同步任務為例,介紹DTS跨阿里雲帳號任務的配置步驟。
為資料庫執行個體建立RAM角色。
說明若使用RAM使用者(子帳號)進行操作,則可能會在建立DTS任務時提示授權不正確。
DTS執行個體中無需跨阿里雲帳號(是否跨阿里雲帳號選擇為不跨帳號或者無該配置項)的資料庫執行個體不需要建立RAM角色。
使用資料庫執行個體所屬的阿里雲帳號(主帳號),登入RAM控制台。
在左側導覽列,選擇 。
重要請勿選擇為
,否則DTS將無法訪問資料庫執行個體並報錯。在角色頁面,單擊建立角色。
在建立角色面板,選擇可信實體類型為阿里雲帳號,然後單擊下一步。
在彈出的對話方塊中,配置RAM角色資訊。
配置選項
配置說明
角色名稱
填寫RAM角色名稱,本樣本填寫ram-for-dts。
說明可以填寫大寫英文、小寫英文、數字或虛線(-),長度不超過64個字元。
備忘(可選)
填寫RAM角色備忘資訊。
選擇信任的雲帳號
選擇為其他雲帳號,並填寫建立DTS任務的阿里雲帳號(主帳號)ID作為授信雲帳號。
單擊完成。
為建立好的RAM角色精確授權。
單擊精確授權。
在許可權管理頁簽,單擊精確授權。
在精確授權面板中,勾選選擇權限類別型為系統策略。
在輸入策略名稱稱下方的文字框中,輸入AliyunDTSRolePolicy。
單擊確定。
精確授權成功後,單擊關閉。
修改信任策略。
(可選):在角色頁面,找到剛剛建立的RAM角色,單擊對應的RAM角色名稱。
在RAM角色的基本資料頁面,單擊信任策略頁簽。
在信任策略頁簽中,單擊編輯信任策略。
將下述代碼複製至策略框中。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::<阿里雲帳號ID>:root" ], "Service": [ "<阿里雲帳號ID>@dts.aliyuncs.com" ] } } ], "Version": "1" }
將代碼中兩個
<阿里雲帳號ID>
替換為建立DTS任務的阿里雲帳號(主帳號)ID。單擊儲存信任策略。
使用信任策略中配置的阿里雲帳號(主帳號),建立同步任務。
進入目標地區的同步工作清單頁面(二選一)。
通過DTS控制台進入
在左側導覽列,單擊資料同步。
在頁面左上方,選擇同步執行個體所屬地區。
通過DMS控制台進入
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多資訊,請參見極簡模式控制台和自訂DMS介面布局與樣式。
在頂部功能表列中,選擇
。在同步任務右側,選擇同步執行個體所屬地區。
單擊創建任務,進入任務配置頁面。
可選:在頁面右上方,單擊試用新版配置頁。
說明若您已進入新版配置頁(頁面右上方的按鈕為返回舊版配置頁),則無需執行此操作。
新版配置頁和舊版配置頁部分參數有差異,建議使用新版配置頁。
配置源庫及目標庫資訊。
根據實際業務需求選擇資料庫類型、接入方式和執行個體地區。
設定資料庫執行個體所屬的阿里雲帳號資訊。
根據源和目標執行個體類型,參考具體配置文檔,建立跨阿里雲帳號任務。
常見問題
如何在跨帳號任務中使用各阿里雲帳號?
在跨帳號任務中,各阿里雲帳號的用途與跨阿里雲帳號的資料庫相關,存在以下三種情況。
說明登入控制台時,使用的阿里雲帳號均為阿里雲帳號(主帳號)。
跨阿里雲帳號的資料庫:配置DTS任務時,是否跨阿里雲帳號選擇為跨帳號的資料庫。
支援配置是否跨阿里雲帳號的資料庫,請參見支援的資料庫。
在配置跨阿里雲帳號的雙向同步執行個體之前,需對源庫和目標庫所屬的阿里雲帳號進行RAM授權操作。
表格使用樣本:首先需要確認跨帳號的是源庫還是目標庫,然後通過跨阿里雲帳號的資料庫列尋找目標行,查看各階段使用到的阿里雲帳號。
跨阿里雲帳號的資料庫
登入RAM控制台的阿里雲帳號
信任策略中填入的阿里雲帳號
建立DTS任務的阿里雲帳號
DTS任務填入的跨阿里雲帳號
源庫
源庫所屬的阿里雲帳號
目標庫所屬的阿里雲帳號
目標庫所屬的阿里雲帳號
源庫資訊:跨阿里雲帳號填入源庫所屬的阿里雲帳號
目標庫
目標庫所屬的阿里雲帳號
源庫所屬的阿里雲帳號
源庫所屬的阿里雲帳號
目標庫資訊:跨阿里雲帳號填入目標庫所屬的阿里雲帳號
源庫和目標庫
源庫和目標庫所屬的阿里雲帳號
指定的阿里雲帳號
指定的阿里雲帳號
源庫資訊:跨阿里雲帳號填入源庫所屬的阿里雲帳號
目標庫資訊:跨阿里雲帳號填入目標庫所屬的阿里雲帳號
如何處理配置跨帳號任務時出現的報錯?
以下為配置跨帳號任務時,出現的常見警示資訊及對應解決辦法:
警示資訊
解決辦法
您填寫的跨阿里雲帳號有誤,請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的UID是否填寫正確。更多資訊,請參見準備工作。
可能原因如下:
您填寫的跨阿里雲帳號角色名稱有誤:請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的RAM角色名稱是否填寫正確。
RAM角色精確授權不正確:請使用資料庫執行個體所屬的阿里雲帳號(主帳號)進行授權操作。
說明更多資訊,請參見準備工作。
可能原因如下:
您填寫的跨阿里雲帳號角色名稱有誤:請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的角色名稱是否填寫正確。
RAM角色未完成精確授權:請檢查RAM角色是否正確完成精確授權。
RAM角色未修改信任策略:請檢查RAM角色是否正確修改信任策略。
說明請參考準備工作進行檢查。
您填寫的跨阿里雲帳號角色名稱沒有精確授權,請為填寫的RAM角色精確授權後重新建立任務。以來源資料庫為例,授權操作請參見為已有RAM角色精確授權。
您填寫的跨阿里雲帳號角色名稱有誤,請勿填寫DTS系統的預設角色AliyunDTSDefaultRole,請填寫在準備工作中建立的RAM角色。