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版、KVStore for Redis、雲原生記憶體資料庫Tair、ApsaraDB for MongoDB、OceanBase(MySQL模式)、AnalyticDB MySQL版 3.0叢集。 |
|
目標庫 | RDS MySQL、PolarDB MySQL版、雲資料庫SelectDB版、KVStore for Redis、雲原生記憶體資料庫Tair、雲資料庫ClickHouse、AnalyticDB MySQL版 3.0叢集。 | 暫不支援。 |
前提條件
已建立任務所需的源和目標庫執行個體。
源和目標執行個體所屬的阿里雲帳號已經授權DTS的RAM角色訪問其雲資源,詳情請參見授予DTS訪問雲資源的許可權。
已擷取源庫執行個體、目標庫執行個體和建立DTS任務的阿里雲帳號(主帳號)ID。您可以使用對應的阿里雲帳號(主帳號)登入安全設定頁面,擷取帳號ID。
注意事項
當前僅RDS MySQL執行個體間、雲原生記憶體資料庫Tair(含企業版的KVStore for Redis)執行個體間,支援跨帳號的雙向同步任務。
說明沒有是否跨阿里雲帳號配置項的任務,您可以嘗試使用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。單擊儲存信任策略。
建立同步任務。
使用信任策略中配置的阿里雲帳號ID,登入Data Management服務。
在左側導覽列,選擇 。
說明若您登入的是極簡模式的DMS,請在左上方的中選擇自訂DMS介面布局與樣式。
。更多資訊請參見單擊建立任務,配置源庫及目標庫資訊。
根據實際業務需求選擇資料庫類型、接入方式和執行個體地區。
設定資料庫執行個體所屬的阿里雲帳號資訊。
根據源和目標執行個體類型,參考具體配置文檔,建立跨阿里雲帳號任務。具體配置文檔,請參見同步方案概覽、遷移方案概覽、訂閱者案概覽。
常見問題
如何在跨帳號任務中使用各阿里雲帳號?
在跨帳號任務中,各阿里雲帳號的用途與跨阿里雲帳號的資料庫相關,存在以下三種情況。
說明使用的阿里雲帳號均為阿里雲帳號(主帳號)。
跨阿里雲帳號的資料庫:配置DTS任務時,是否跨阿里雲帳號選擇為跨帳號的資料庫。
目前僅目標庫為RDS MySQL或雲資料庫ClickHouse時,支援配置是否跨阿里雲帳號。
表格使用樣本:首先需要確認跨帳號的是源庫還是目標庫,然後通過跨阿里雲帳號的資料庫列尋找目標行,查看各階段使用到的阿里雲帳號。
跨阿里雲帳號的資料庫
登入RAM控制台的阿里雲帳號
信任策略中填入的阿里雲帳號
建立DTS任務的阿里雲帳號
DTS任務填入的跨阿里雲帳號
源庫
源庫所屬的阿里雲帳號
目標庫所屬的阿里雲帳號
目標庫所屬的阿里雲帳號
源庫資訊:跨阿里雲帳號填入源庫所屬的阿里雲帳號
目標庫
目標庫所屬的阿里雲帳號
源庫所屬的阿里雲帳號
源庫所屬的阿里雲帳號
目標庫資訊:跨阿里雲帳號填入目標庫所屬的阿里雲帳號
源庫和目標庫
源庫和目標庫所屬的阿里雲帳號
指定的阿里雲帳號
指定的阿里雲帳號
源庫資訊:跨阿里雲帳號填入源庫所屬的阿里雲帳號
目標庫資訊:跨阿里雲帳號填入目標庫所屬的阿里雲帳號
如何處理配置跨帳號任務時出現的報錯?
以下為配置跨帳號任務時,出現的常見警示資訊及對應解決辦法:
警示資訊
解決辦法
您填寫的跨阿里雲帳號有誤,請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的UID是否填寫正確。更多資訊,請參見準備工作。
可能原因如下:
您填寫的跨阿里雲帳號角色名稱有誤:請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的RAM角色名稱是否填寫正確。
RAM角色精確授權不正確:請使用資料庫執行個體所屬的阿里雲帳號(主帳號)進行授權操作。
說明更多資訊,請參見準備工作。
可能原因如下:
您填寫的跨阿里雲帳號角色名稱有誤:請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的角色名稱是否填寫正確。
RAM角色未完成精確授權:請檢查RAM角色是否正確完成精確授權。
RAM角色未修改信任策略:請檢查RAM角色是否正確修改信任策略。
說明請參考準備工作進行檢查。
您填寫的跨阿里雲帳號角色名稱沒有精確授權,請為填寫的RAM角色精確授權後重新建立任務。以來源資料庫為例,授權操作請參見為已有RAM角色精確授權。
您填寫的跨阿里雲帳號角色名稱有誤,請勿填寫DTS系統的預設角色AliyunDTSDefaultRole,請填寫在準備工作中建立的RAM角色。