Data Transmission Service支援配置源庫或目標庫(兩者或其一)跨阿里雲帳號的任務,適用於阿里雲帳號間的資源遷移、合并、業務架構調整等多種應用情境。
背景資訊
在使用DTS配置跨帳號(是否跨阿里雲帳號選擇為跨帳號)的任務前,您需要進行相應的RAM授權操作,以將建立DTS任務的阿里雲帳號(主帳號)作為授信雲帳號,從而允許其通過Data Transmission Service訪問資料庫執行個體所屬阿里雲帳號的相關雲資源。
什麼是跨帳號任務
跨帳號任務又稱為跨阿里雲帳號任務,指的是源庫或目標庫執行個體屬於其他阿里雲帳號(而不屬於建立DTS任務的阿里雲帳號)的DTS任務。
跨帳號任務的情境
對於建立DTS任務(登入DTS控制台)的阿里雲帳號而言,跨帳號任務涉及三種不同的情境:
源庫跨帳號
源庫是否跨阿里雲帳號選擇跨帳號,且目標庫是否跨阿里雲帳號選擇不跨帳號。
目標庫跨帳號
源庫是否跨阿里雲帳號選擇不跨帳號,且目標庫是否跨阿里雲帳號選擇跨帳號。
源庫和目標庫均跨帳號
源庫和目標庫的是否跨阿里雲帳號均選擇跨帳號。
支援跨帳號訪問的資料庫
資料庫執行個體是否支援跨帳號訪問,僅與資料執行個體的資料庫類型和接入方式有關。支援跨帳號的資料庫執行個體,如下表所示。
源庫是否跨阿里雲帳號的配置結果,不影響目標庫資料庫類型的選項。
源庫
資料庫類型 | 接入方式 |
MySQL | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫 |
PolarDB for MySQL | 雲執行個體 |
Tair/Redis | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫、Cloud Enterprise NetworkCEN、資料庫網關DG |
SQLServer | 雲執行個體、專線/VPN網關/智能網關 |
PostgreSQL | 雲執行個體、專線/VPN網關/智能網關 |
MongoDB | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫、Cloud Enterprise NetworkCEN |
Oracle | 專線/VPN網關/智能網關 |
PolarDB(相容Oracle) | 雲執行個體、專線/VPN網關/智能網關 |
PolarDB for PostgreSQL | 雲執行個體 |
PolarDB-X 1.0 | 雲執行個體 |
PolarDB-X 2.0 | 雲執行個體 |
DB2 iSeries(AS/400) | 專線/VPN網關/智能網關 |
DB2 LUW | 專線/VPN網關/智能網關、ECS自建資料庫 |
Mariadb | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫 |
OceanBase(MySQL) | 雲執行個體、專線/VPN網關/智能網關、ECS自建資料庫 |
SLS | 雲執行個體 |
AnalyticDB MySQL 3.0 | 雲執行個體 |
目標庫
資料庫類型 | 接入方式 |
MySQL | 雲執行個體 |
PolarDB for MySQL | 雲執行個體 |
AnalyticDB MySQL 3.0 | 雲執行個體 |
Tair/Redis | 雲執行個體 |
ClickHouse | 雲執行個體 |
SelectDB | 雲執行個體 |
MongoDB | 雲執行個體 |
帳號資訊
在跨帳號任務中,各阿里雲帳號(源庫、目標庫、DTS任務所屬的阿里雲帳號)的用途與跨阿里雲帳號的資料庫相關,存在以下三種情況。
跨阿里雲帳號的資料庫:配置DTS任務時,是否跨阿里雲帳號選擇為跨帳號的資料庫。可作為判斷跨阿里雲帳號任務情境的依據。
表格使用樣本:首先需要確認跨帳號的是源庫還是目標庫,然後通過跨阿里雲帳號的資料庫列尋找目標行,查看各階段使用到的阿里雲帳號。
跨阿里雲帳號的資料庫 | 登入RAM控制台的阿里雲帳號 | 信任策略中填入的阿里雲帳號 | 建立DTS任務的阿里雲帳號 | DTS任務填入的跨阿里雲帳號 |
源庫 | 源庫所屬的阿里雲帳號 | 目標庫所屬的阿里雲帳號 | 目標庫所屬的阿里雲帳號 | 源庫資訊:跨阿里雲帳號填入源庫所屬的阿里雲帳號 |
目標庫 | 目標庫所屬的阿里雲帳號 | 源庫所屬的阿里雲帳號 | 源庫所屬的阿里雲帳號 | 目標庫資訊:跨阿里雲帳號填入目標庫所屬的阿里雲帳號 |
源庫和目標庫 | 源庫和目標庫所屬的阿里雲帳號 | 指定的阿里雲帳號 | 指定的阿里雲帳號 |
|
配置流程
確認跨阿里雲帳號任務的情境。
根據是否跨阿里雲帳號選擇為跨帳號的資料庫執行個體,判斷跨阿里雲帳號任務的使用情境。
擷取阿里雲帳號(主帳號)ID。
擷取資料庫執行個體和建立DTS任務的阿里雲帳號(主帳號)ID。
使用資料庫執行個體所屬的阿里雲帳號(主帳號)建立配置任務所需的RAM角色,並為其精確授權、修改信任策略。
配置跨阿里雲帳號任務。
根據實際需求,配置跨阿里雲帳號的任務。
前提條件
已建立任務所需的資料庫執行個體。
資料庫執行個體所屬的阿里雲帳號已授予DTS訪問雲資源的許可權。
注意事項
當前僅RDS MySQL執行個體間、PolarDB MySQL版叢集間、Tair(企業版)執行個體間、ApsaraDB for MongoDB(複本集架構)間、ApsaraDB for MongoDB(分區叢集架構)間,支援跨帳號的雙向同步任務。
跨帳號的雙向同步任務,同時屬於源庫跨帳號和目標庫跨帳號的情境。因此,源庫和目標庫所屬的阿里雲帳號(主帳號)均需配置RAM授權。
暫不支援不同屬性帳號之間(如金融雲和政務雲帳號之間)的同步任務。
登入控制台時,使用的阿里雲帳號均為阿里雲帳號(主帳號)。若使用RAM使用者(子帳號),則可能會在建立DTS任務時提示授權不正確。
操作步驟
本操作以同步任務為例,介紹DTS跨阿里雲帳號任務的配置步驟。
情境一:源庫跨帳號
配置RAM授權,詳情請參見情境一:源庫跨帳號。
使用目標庫所屬的阿里雲帳號(主帳號),進入源庫及目標庫配置頁面。
進入目標地區的同步工作清單頁面(二選一)。
通過DTS控制台進入
在左側導覽列,單擊資料同步。
在頁面左上方,選擇同步執行個體所屬地區。
通過DMS控制台進入
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多資訊,請參見極簡模式控制台和自訂DMS介面布局與樣式。
在頂部功能表列中,選擇
。在同步任務右側,選擇同步執行個體所屬地區。
單擊創建任務,進入任務配置頁面。
配置源庫資訊。
選擇源庫的資料庫類型、接入方式、執行個體地區。
將是否跨阿里雲帳號選擇為跨帳號。
在跨阿里雲帳號文字框中,填入源庫所屬阿里雲帳號(主帳號)的ID。
說明擷取方式,請參見擷取源庫所屬阿里雲帳號(主帳號)ID。
在跨阿里雲帳號角色名稱文字框中,填入使用源庫所屬的阿里雲帳號(主帳號)建立的RAM角色名稱(例如ram-for-dts)。
重要請勿填入RAM使用者名稱稱、RAM角色的ARN或DTS的預設角色AliyunDTSDefaultRole。
RAM角色的建立操作,請參見步驟一:建立RAM角色。
根據實際情況,參考相關配置文檔,完成其他及後續配置。
情境二:目標庫跨帳號
配置RAM授權,詳情請參見情境二:目標庫跨帳號。
使用源庫所屬的阿里雲帳號(主帳號),進入源庫及目標庫配置頁面。
進入目標地區的同步工作清單頁面(二選一)。
通過DTS控制台進入
在左側導覽列,單擊資料同步。
在頁面左上方,選擇同步執行個體所屬地區。
通過DMS控制台進入
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多資訊,請參見極簡模式控制台和自訂DMS介面布局與樣式。
在頂部功能表列中,選擇
。在同步任務右側,選擇同步執行個體所屬地區。
單擊創建任務,進入任務配置頁面。
配置目標庫資訊。
根據實際情況,配置源庫資訊。
選擇目標庫的資料庫類型、接入方式、執行個體地區。
將是否跨阿里雲帳號選擇為跨帳號。
在跨阿里雲帳號文字框中,填入目標庫所屬阿里雲帳號(主帳號)的ID。
說明擷取方式,請參見擷取目標庫所屬阿里雲帳號(主帳號)ID。
在跨阿里雲帳號角色名稱文字框中,填入使用目標庫所屬的阿里雲帳號(主帳號)建立的RAM角色名稱(例如ram-for-dts)。
重要請勿填入RAM使用者名稱稱、RAM角色的ARN或DTS的預設角色AliyunDTSDefaultRole。
RAM角色的建立操作,請參見步驟一:建立RAM角色。
根據實際情況,參考相關配置文檔,完成其他及後續配置。
情境三:源庫和目標庫均跨帳號
配置RAM授權,詳情請參見情境三:源庫和目標庫均跨帳號。
使用指定的建立DTS任務的阿里雲帳號(主帳號),進入源庫及目標庫配置頁面。
進入目標地區的同步工作清單頁面(二選一)。
通過DTS控制台進入
在左側導覽列,單擊資料同步。
在頁面左上方,選擇同步執行個體所屬地區。
通過DMS控制台進入
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多資訊,請參見極簡模式控制台和自訂DMS介面布局與樣式。
在頂部功能表列中,選擇
。在同步任務右側,選擇同步執行個體所屬地區。
單擊創建任務,進入任務配置頁面。
配置源庫及目標庫資訊。
選擇源庫和目標庫的資料庫類型、接入方式、執行個體地區。
配置源庫跨帳號資訊。
將是否跨阿里雲帳號選擇為跨帳號。
在跨阿里雲帳號文字框中,填入源庫所屬阿里雲帳號(主帳號)的ID。
說明擷取方式,請參見擷取源庫所屬阿里雲帳號(主帳號)ID。
在跨阿里雲帳號角色名稱文字框中,填入使用源庫所屬的阿里雲帳號(主帳號)建立的RAM角色名稱(例如ram-for-dts)。
重要請勿填入RAM使用者名稱稱、RAM角色的ARN或DTS的預設角色AliyunDTSDefaultRole。
RAM角色的建立操作,請參見建立RAM角色。
配置目標庫跨帳號資訊。
將是否跨阿里雲帳號選擇為跨帳號。
在跨阿里雲帳號文字框中,填入目標庫所屬阿里雲帳號(主帳號)的ID。
說明擷取方式,請參見擷取目標庫所屬阿里雲帳號(主帳號)ID。
在跨阿里雲帳號角色名稱文字框中,填入使用目標庫所屬的阿里雲帳號(主帳號)建立的RAM角色名稱(例如ram-for-dts)。
重要請勿填入RAM使用者名稱稱、RAM角色的ARN或DTS的預設角色AliyunDTSDefaultRole。
RAM角色的建立操作,請參見建立RAM角色。
根據實際情況,參考相關配置文檔,完成其他及後續配置。
相關文檔
常見報錯
錯誤碼 | 提示資訊 | 報錯原因 | 解決方案 |
DTS.Msg.Forbidden.AliyunUIDNotFound |
|
|
|
DTS.Msg.InvalidParameter.AliyunUidFormat |
| 在跨阿里雲帳號文字框中,填入的阿里雲帳號ID不正確。 | 在跨阿里雲帳號文字框中,填入正確的阿里雲帳號(主帳號)ID。 說明 擷取方式,請參見準備工作。 |
AssumeRoleFail |
| 在跨阿里雲帳號角色名稱文字框中,填入的RAM角色授權配置不正確(填入了RAM角色的ARN)。 | 在跨阿里雲帳號角色名稱文字框中,填入正確的RAM角色名稱。 說明 更多資訊,請參見跨阿里雲帳號任務如何配置RAM授權。 |
AssumeRoleFail |
|
|
說明 更多資訊,請參見跨阿里雲帳號任務如何配置RAM授權。 |
AssumeRoleFail |
| 跨阿里雲帳號角色名稱文字框中,填入的RAM角色授權配置不正確。例如,精確授權不正確、未修改信任策略、信任策略代碼中的 | 為跨阿里雲帳號角色名稱文字框中填入的RAM角色,配置正確的RAM授權。 說明 更多資訊,請參見跨阿里雲帳號任務如何配置RAM授權。 |
NoPermission | (沒有許可權)當前操作未被授權。請聯絡帳號管理員授權。 | 跨阿里雲帳號角色名稱文字框中,填入的RAM角色未精確授權或精確授權不正確。 | 為跨阿里雲帳號角色名稱文字框中填入的RAM角色,配置正確的精確授權。 說明 更多資訊,請參見跨阿里雲帳號任務如何配置RAM授權。 |
Abnormal.RamCheckUserRole | 您尚未授權DTS系統預設角色“AliyunDTSDefaultRole”,如果您的帳號有寫RAM的許可權可以自助前往RAM授權,否則需要您的主帳號前往RAM進行角色授權後,再重新整理本頁面 | 在跨阿里雲帳號角色名稱文字框中,填入了DTS系統的預設角色AliyunDTSDefaultRole。 | 在跨阿里雲帳號角色名稱文字框中,填入正確的RAM角色名稱。 說明 更多資訊,請參見跨阿里雲帳號任務如何配置RAM授權。 |