全部產品
Search
文件中心

Data Transmission Service:跨阿里雲帳號實現資料轉送

更新時間:Nov 14, 2024

Data Transmission Service支援配置源庫或目標庫跨阿里雲帳號的任務,適用於阿里雲帳號間的資源遷移或合并、業務架構調整等多種應用情境。

背景資訊

現有兩個阿里雲資料庫或者通過專線、VPN網關或智能網關接入自建資料庫(例如RDS MySQL)分別屬於不同的阿里雲帳號,由於業務需求,需要將阿里雲帳號A下資料庫的業務資料移轉至阿里雲帳號B下的資料庫。

支援的資料庫

在配置DTS任務時,支援配置是否跨阿里雲帳號的資料庫如下表所示。

說明

源庫是否跨阿里雲帳號的配置結果,不影響目標庫資料庫類型的選項。

資料庫執行個體

阿里雲資料庫

自建資料庫

源庫

RDS MySQLRDS MariaDBRDS PostgreSQLRDS SQL ServerPolarDB-X 1.0PolarDB-X 2.0PolarDB PostgreSQL版PolarDB PostgreSQL版(相容Oracle)PolarDB MySQL版KVStore for Redis雲原生記憶體資料庫TairApsaraDB for MongoDB、OceanBase(MySQL模式)、AnalyticDB MySQL版 3.0叢集。

  • 通過專線、VPN網關、智能網關接入的MySQL、Mariadb、PostgreSQL、PolarDB PostgreSQL版(相容Oracle)、Redis、MongoDB、Oracle、SQL Server、Db2 for LUWDb2 for i、OceanBase(MySQL模式)資料庫。

  • 通過ECS自建資料庫接入的自建MySQL、Mariadb、Redis、MongoDB、Db2 for LUW、OceanBase(MySQL模式)資料庫。

  • 通過雲企業網CEN接入的自建Redis、MongoDB資料庫。

  • 通過資料庫網關DG接入的自建Redis資料庫。

目標庫

RDS MySQLPolarDB MySQL版、雲資料庫SelectDB版、KVStore for Redis雲原生記憶體資料庫Tair雲資料庫ClickHouseAnalyticDB MySQL版 3.0叢集。

暫不支援。

前提條件

  • 已建立任務所需的源和目標庫執行個體。

  • 源和目標執行個體所屬的阿里雲帳號已經授權DTS的RAM角色訪問其雲資源,詳情請參見授予DTS訪問雲資源的許可權

  • 已擷取源庫執行個體、目標庫執行個體和建立DTS任務的阿里雲帳號(主帳號)ID。您可以使用對應的阿里雲帳號(主帳號)登入安全設定頁面,擷取帳號ID

注意事項

  • 當前僅RDS MySQL執行個體間、雲原生記憶體資料庫Tair(含企業版的KVStore for Redis)執行個體間,支援跨帳號的雙向同步任務。

    說明

    沒有是否跨阿里雲帳號配置項的任務,您可以嘗試使用CEN實現跨阿里雲帳號任務的配置。更多資訊,請參見跨阿里雲帳號或跨地區訪問資料庫資源

  • 暫不支援不同屬性帳號之間(如金融雲和政務雲帳號之間)的同步任務。

操作步驟

說明

本操作以同步任務為例,介紹DTS跨阿里雲帳號任務的配置步驟。

  1. 為資料庫執行個體建立RAM角色。

    說明
    • 若使用RAM使用者(子帳號)進行操作,則可能會在建立DTS任務時提示授權不正確。

    • DTS執行個體中無需跨阿里雲帳號(是否跨阿里雲帳號選擇為不跨帳號或者無該配置項)的資料庫執行個體不需要建立RAM角色。

    1. 使用資料庫執行個體所屬的阿里雲帳號(主帳號),登入RAM控制台

    2. 在左側導覽列,選擇身份管理 > 角色

      身份管理-角色-new-zh.jpg

      重要

      請勿選擇為身份管理 > 使用者,否則DTS將無法訪問資料庫執行個體並報錯。

    3. 角色頁面,單擊建立角色

    4. 建立角色面板,選擇可信實體類型為阿里雲帳號,然後單擊下一步建立角色

    5. 在彈出的對話方塊中,配置RAM角色資訊。信任帳號

      配置選項

      配置說明

      角色名稱

      填寫RAM角色名稱,本樣本填寫ram-for-dts

      說明

      可以填寫大寫英文、小寫英文、數字或虛線(-),長度不超過64個字元。

      備忘(可選)

      填寫RAM角色備忘資訊。

      選擇信任的雲帳號

      選擇為其他雲帳號,並填寫建立DTS任務的阿里雲帳號(主帳號)ID作為授信雲帳號。

    6. 單擊完成

  2. 為建立好的RAM角色精確授權。

    1. 單擊精確授權建立角色

    2. 許可權管理頁簽,單擊精確授權

      image

    3. 精確授權面板中,勾選選擇權限類別型系統策略

      image

    4. 輸入策略名稱稱下方的文字框中,輸入AliyunDTSRolePolicy

    5. 單擊確定

    6. 精確授權成功後,單擊關閉

  3. 修改信任策略。

    1. (可選)角色頁面,找到剛剛建立的RAM角色,單擊對應的RAM角色名稱。

      image

    2. 在RAM角色的基本資料頁面,單擊信任策略頁簽。

      image

    3. 信任策略頁簽中,單擊編輯信任策略

    4. 將下述代碼複製至策略框中。

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "RAM": [
                          "acs:ram::<阿里雲帳號ID>:root"
                      ],
                      "Service": [
                          "<阿里雲帳號ID>@dts.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
    5. 將代碼中兩個<阿里雲帳號ID>替換為建立DTS任務的阿里雲帳號(主帳號)ID。

    6. 單擊儲存信任策略

  4. 建立同步任務。

    1. 使用信任策略中配置的阿里雲帳號ID,登入Data Management服務

    2. 在左側導覽列,選擇資料轉送(DTS) > 資料同步

      說明

      若您登入的是極簡模式的DMS,請在左上方的3中選擇全部功能 > 整合與開發 > 資料同步。更多資訊請參見自訂DMS介面布局與樣式

    3. 單擊建立任務,配置源庫及目標庫資訊。

    4. 根據實際業務需求選擇資料庫類型接入方式執行個體地區

    5. 設定資料庫執行個體所屬的阿里雲帳號資訊。

      跨帳號

      配置

      說明

      是否跨阿里雲帳號

      選擇跨帳號

      跨阿里雲帳號

      填入資料庫執行個體所屬阿里雲帳號的主帳號ID。

      說明

      您可以使用資料庫執行個體所屬的阿里雲帳號(主帳號)登入帳號管理頁面來擷取雲帳號ID。

      跨阿里雲帳號角色名稱

      填入建立RAM角色中建立的RAM角色名稱,本樣本填寫ram-for-dts

      重要

      請勿填寫DTS系統的預設角色AliyunDTSDefaultRole

    6. 根據源和目標執行個體類型,參考具體配置文檔,建立跨阿里雲帳號任務。具體配置文檔,請參見同步方案概覽遷移方案概覽訂閱者案概覽

常見問題

  • 如何在跨帳號任務中使用各阿里雲帳號?

    在跨帳號任務中,各阿里雲帳號的用途與跨阿里雲帳號的資料庫相關,存在以下三種情況。

    說明
    • 使用的阿里雲帳號均為阿里雲帳號(主帳號)。

    • 跨阿里雲帳號的資料庫:配置DTS任務時,是否跨阿里雲帳號選擇為跨帳號的資料庫。

    • 目前僅目標庫為RDS MySQL雲資料庫ClickHouse時,支援配置是否跨阿里雲帳號

    表格使用樣本:首先需要確認跨帳號的是源庫還是目標庫,然後通過跨阿里雲帳號的資料庫列尋找目標行,查看各階段使用到的阿里雲帳號。

    跨阿里雲帳號的資料庫

    登入RAM控制台的阿里雲帳號

    信任策略中填入的阿里雲帳號

    建立DTS任務的阿里雲帳號

    DTS任務填入的跨阿里雲帳號

    源庫

    源庫所屬的阿里雲帳號

    目標庫所屬的阿里雲帳號

    目標庫所屬的阿里雲帳號

    源庫資訊跨阿里雲帳號填入源庫所屬的阿里雲帳號

    目標庫

    目標庫所屬的阿里雲帳號

    源庫所屬的阿里雲帳號

    源庫所屬的阿里雲帳號

    目標庫資訊跨阿里雲帳號填入目標庫所屬的阿里雲帳號

    源庫和目標庫

    源庫和目標庫所屬的阿里雲帳號

    指定的阿里雲帳號

    指定的阿里雲帳號

    • 源庫資訊跨阿里雲帳號填入源庫所屬的阿里雲帳號

    • 目標庫資訊跨阿里雲帳號填入目標庫所屬的阿里雲帳號

  • 如何處理配置跨帳號任務時出現的報錯?

    以下為配置跨帳號任務時,出現的常見警示資訊及對應解決辦法:

    警示資訊

    解決辦法

    UID錯誤提示_zh

    您填寫的跨阿里雲帳號有誤,請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的UID是否填寫正確。更多資訊,請參見準備工作

    角色名稱錯誤

    image

    可能原因如下:

    • 您填寫的跨阿里雲帳號角色名稱有誤:請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的RAM角色名稱是否填寫正確。

    • RAM角色精確授權不正確:請使用資料庫執行個體所屬的阿里雲帳號(主帳號)進行授權操作。

    說明

    更多資訊,請參見準備工作

    RAM

    可能原因如下:

    • 您填寫的跨阿里雲帳號角色名稱有誤:請檢查資料庫執行個體所屬阿里雲帳號(主帳號)的角色名稱是否填寫正確。

    • RAM角色未完成精確授權:請檢查RAM角色是否正確完成精確授權。

    • RAM角色未修改信任策略:請檢查RAM角色是否正確修改信任策略。

    說明

    請參考準備工作進行檢查。

    沒有許可權

    您填寫的跨阿里雲帳號角色名稱沒有精確授權,請為填寫的RAM角色精確授權後重新建立任務。以來源資料庫為例,授權操作請參見為已有RAM角色精確授權

    image

    您填寫的跨阿里雲帳號角色名稱有誤,請勿填寫DTS系統的預設角色AliyunDTSDefaultRole,請填寫在準備工作中建立的RAM角色。