すべてのプロダクト
Search
ドキュメントセンター

Data Transmission Service:クロスアカウントDTSタスクのRAM権限の設定

最終更新日:Oct 30, 2024

Data Transmission Service (DTS) を使用すると、Alibaba Cloudアカウント間でデータを移行または同期できます。 このトピックでは、クロスアカウントDTSタスクを設定する前に、ソースインスタンスまたはターゲットインスタンスが属するAlibaba CloudアカウントのRAM (Resource Access Management) 権限を設定する方法について説明します。

背景情報

クロスアカウントDTSタスクを設定する前に、データベースインスタンスが属するAlibaba Cloudアカウント (以下、アカウントaと呼ぶ) のRAM権限付与を設定する必要があります。 DTSタスクの設定に使用するAlibaba Cloudアカウント (以下、アカウントBと呼びます) を信頼できるアカウントとして指定し、DTSを使用してアカウントaのクラウドリソースにアクセスすることをアカウントBに許可する必要があります。

サポートされるデータベース

次の表に、DTSタスクを設定するときに Alibaba Cloud アカウント間でデータを複製 パラメーターを設定できるデータベースを示します。

説明

ソースデータベースの Alibaba Cloud アカウント間でデータを複製 パラメーターの設定は、ターゲットデータベースの データベースタイプ パラメーターの設定には影響しません。

データベースインスタンス

Alibaba Cloudデータベースインスタンス

自己管理データベース

ソースデータベース

ApsaraDB RDS for MySQL,ApsaraDB RDS for MariaDB,ApsaraDB RDS for PostgreSQL,ApsaraDB RDS for SQL Server,PolarDB-X 1.0,PolarDB-X 2.0,PolarDB for PostgreSQL,PolarDB for PostgreSQL (Oracleと互換),PolarDB for MySQL,ApsaraDB for Redis,テア,ApsaraDB for MongoDBApsaraDB for OceanBase (MySQLモード)

  • MySQL、MariaDB、PostgreSQL、PolarDB for PostgreSQL (Oracleと互換) 、Redis、MongoDB、Oracle、SQL Server、Db2 for LUWDb2 for i、およびOceanBase (MySQLモード) データベースは、Express Connect、VPN Gateway、およびSmart Access Gatewayを介して接続されています。

  • Elastic Compute Service (ECS) インスタンスでホストされるMySQL、MariaDB、Redis、MongoDB、Db2 for LUW、およびOceanBase (MySQLモード) データベース。

  • Cloud Enterprise Network (CEN) を使用して接続されている自己管理型RedisおよびMongoDBデータベース。

  • Database Gatewayを使用して接続されている自己管理型Redisデータベース。

同期先データベース

ApsaraDB RDS for MySQLPolarDB for MySQL、ApsaraDB for SelectDB、およびApsaraDB for ClickHouse

サポートされていません。

前提条件

  • アカウントAは、DTSのRAMロールにクラウドリソースへのアクセスを許可しています。 詳細については、「DTSによるAlibaba Cloudリソースへのアクセス許可」をご参照ください。

  • アカウントAとアカウントBのIDを取得します。 Alibaba CloudアカウントのIDを取得するには、Alibaba Cloud管理コンソールにログインし、 セキュリティ設定ページ、 右上隅のアカウントIDパラメーターの値を表示します。

制限事項

  • Alibaba Cloudアカウント間の双方向同期は、ApsaraDB RDS for MySQLインスタンス間でのみサポートされます。

  • DTSを使用して、異なるインフラストラクチャのアカウント間でデータを同期することはできません。 たとえば、DTSを使用してAlibaba Finance CloudアカウントとAlibaba Gov Cloudアカウント間でデータを同期することはできません。

手順

  1. データベースインスタンスのRAMロールを作成します。

    説明
    • RAMユーザーを使用してRAMロールに権限を付与すると、DTSタスクを構成するときに無効な権限に関するエラーメッセージが表示されることがあります。

    • Alibaba Cloud アカウント間でデータを複製 パラメーターが使用できないか、× に設定されているDTSタスクのデータベースインスタンスのRAMロールを作成する必要はありません。

    1. にログインします。RAMコンソールソースまたはターゲットインスタンスが属するAlibaba Cloudアカウントを使用します。

    2. 左側のナビゲーションウィンドウで、アイデンティティ > ロールを選択します。

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

      重要

      [ID] > [ユーザー] を選択しないでください。 それ以外の場合、DTSはインスタンスにアクセスできず、エラーが報告される可能性があります。

    3. ロールページで、ロールの作成 をクリックします。

    4. [ロールの作成] ページで、[信頼できるエンティティの選択] パラメーターを [Alibaba Cloudアカウント] に設定し、[次へ] をクリックします。创建角色

    5. ロールの設定ステップで、RAMロールのパラメーターを設定します。信任账号

      パラメーター

      説明

      RAM ロール名

      RAM ロールの名前です。 この例では、ram-for-dtsが指定されています。

      説明

      名前は 1~64 文字で、英字、数字、ハイフン (-) を使用できます。

      オプションです。 RAM ロールの説明です。

      信頼できる Alibaba Cloud アカウントの選択

      [その他のAlibaba Cloudアカウント] を選択し、DTSタスクの作成に使用するAlibaba CloudアカウントのIDを入力します。

    6. OKをクリックします。

  2. 作成したRAMロールに権限を付与します。

    1. 入力と添付をクリックします。创建角色

    2. 権限タブで、正確な許可をクリックします。

      image

    3. 正確な許可パネルで、タイプシステムポリシーに設定します。

      image

    4. ポリシー名フィールドで、AliyunDTSRolePolicyを入力します。

    5. 表示されるメッセージで、[OK] をクリックします。

    6. 閉じるをクリックします。

  3. 信頼ポリシーを変更します。

    1. オプション。 [ロール] ページで、作成したRAMロールを見つけ、その名前をクリックします。

      image

    2. RAMロールの詳細ページで、信頼ポリシータブをクリックします。

      image

    3. 信頼ポリシータブで、信頼ポリシーの編集をクリックします。

    4. 次のコードをコードエディターにコピーします。

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "RAM": [
                          "acs:ram::<Alibaba Cloud account ID>:root"
                      ],
                      "Service": [
                          "<Alibaba Cloud account ID>@dts.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
    5. 交換<Alibaba CloudアカウントID>上記のコードで、DTSタスクの作成に使用されるAlibaba CloudアカウントのIDを指定します。

    6. 信頼ポリシードキュメントの保存をクリックします。

次のステップ

RAMロールに権限を付与した後、クロスアカウントDTSタスクを作成できます。 詳細については、「データ同期シナリオの概要」、「データ移行シナリオの概要」、および「変更追跡シナリオの概要」をご参照ください。

重要
  • タスクを作成するには、信頼ポリシーで設定されている <Alibaba CloudアカウントID> を使用してDTSコンソールにログインする必要があります。

  • タスクを設定するときに、Alibaba Cloud アカウント間でデータを複製パラメーターをに設定し、Alibaba Cloud アカウントパラメーターをデータベースインスタンスが属するAlibaba CloudアカウントのIDに設定し、RAM ロール名パラメーターをデータベースインスタンスが属するAlibaba Cloudアカウントに対して設定されたRAMロールの名前に設定します。 この例では、RAM Role Nameパラメーターはram-for-dtsに設定されています。

よくある質問

  • クロスアカウントDTSタスクのさまざまな段階でどのAlibaba Cloudアカウントを使用しますか。

    クロスアカウントDTSタスクでは、各Alibaba Cloudアカウントの使用はAlibaba Cloudアカウントのデータベースに関連しています。 Alibaba Cloudアカウントを使用する場合は、次の項目に注意してください。

    説明
    • DTSタスク中に使用するアカウントはAlibaba Cloudアカウントです。

    • タスク中に使用するデータベースが、DTSタスクの作成に使用するAlibaba Cloudアカウントに属していない場合は、データベースの Alibaba Cloud アカウント間でデータを複製 パラメーターを に設定します。

    • Alibaba Cloud アカウント間でデータを複製 パラメーターは、[宛先データベース] セクションの [データベースタイプ] パラメーターとして [MySQL] または [ClickHouse] を選択した場合にのみ使用できます。

    次の表に、クロスアカウントDTSタスクのさまざまな段階で使用する必要があるAlibaba Cloudアカウントを決定する方法を示します。 最初に使用するアカウント全体のデータベースを決定する必要があります。 [Across-account database] 列に基づいて、ビジネス要件を満たす行を見つけます。 次に、クロスアカウントDTSタスクのさまざまな段階で使用する必要があるAlibaba Cloudアカウントを表示できます。

    Across-accountデータベース

    RAMコンソールへのログインに使用されるAlibaba Cloudアカウント

    信頼ポリシーで指定されているAlibaba Cloudアカウント

    DTSタスクの作成に使用されるAlibaba Cloudアカウント

    Alibaba Cloudアカウントパラメーターに設定されているAlibaba Cloudアカウント

    ソースデータベース

    ソースデータベースが属するAlibaba Cloudアカウント

    ターゲットデータベースが属するAlibaba Cloudアカウント

    ターゲットデータベースが属するAlibaba Cloudアカウント

    移行元データベース セクションの Alibaba Cloud アカウント パラメーターを、ソースデータベースが属するAlibaba Cloudアカウントに設定します。

    同期先データベース

    ターゲットデータベースが属するAlibaba Cloudアカウント

    ソースデータベースが属するAlibaba Cloudアカウント

    ソースデータベースが属するAlibaba Cloudアカウント

    移行先データベース セクションの Alibaba Cloud アカウント パラメーターを、宛先データベースが属するAlibaba Cloudアカウントに設定します。

    ソースデータベースと宛先データベース

    ソースデータベースとターゲットデータベースが属する各Alibaba Cloudアカウント

    特定のAlibaba Cloudアカウント

    特定のAlibaba Cloudアカウント

    • 移行元データベース セクションの Alibaba Cloud アカウント パラメーターを、ソースデータベースが属するAlibaba Cloudアカウントに設定します。

    • 移行先データベース セクションの Alibaba Cloud アカウント パラメーターを、宛先データベースが属するAlibaba Cloudアカウントに設定します。

  • クロスアカウントDTSタスクを設定するときに発生するエラーを処理するにはどうすればよいですか?

    次の表は、クロスアカウントDTSタスクを設定するときに表示される一般的なエラーメッセージを示し、対応するソリューションを提供します。

    エラーメッセージ

    解決策

    UID错误提示_zh

    Alibaba Cloudアカウントパラメーターの値が無効です。 ソースインスタンスまたはターゲットインスタンスが属するAlibaba Cloudアカウントの有効なIDを入力したかどうかを確認します。 詳細については、このトピックの準備セクションを参照してください。

    角色名错误

    image

    これらのエラーは、次の理由で発生する可能性があります。

    • RAMロール名パラメーターの値が無効です。 ソースインスタンスまたはターゲットインスタンスが属するAlibaba Cloudアカウントの有効なRAMロール名を入力したかどうかを確認します。

    • RAMロールに必要な権限が付与されていません。 ソースインスタンスまたはターゲットインスタンスが属するAlibaba Cloudアカウントを使用して、権限を付与します。

    説明

    詳細については、このトピックの準備セクションを参照してください。

    RAM

    これらのエラーは、次の理由で発生する可能性があります。

    • RAMロール名パラメーターの値が無効です。 ソースインスタンスまたはターゲットインスタンスが属するAlibaba Cloudアカウントの有効なRAMロール名を入力したかどうかを確認します。

    • RAMロールに必要な権限が付与されていません。 RAMロールに必要な権限を付与しているかどうかを確認します。

    • RAMロールの信頼ポリシーは変更されません。 RAMロールの信頼ポリシーを変更したかどうかを確認します。

    説明

    詳細については、このトピックの準備セクションを参照してください。

    没有权限

    RAMロール名パラメーターで指定したRAMロールには、必要な権限が付与されていません。 RAMロールに必要な権限を付与するには、RAMロールの詳細ページに移動します。 [権限] タブで、[正確な権限] をクリックし、[正確な権限] パネルでポリシーを指定します。 次に、タスクを再度作成します。 たとえば、ソースインスタンスが属するAlibaba CloudアカウントのRAMロールに必要な権限を付与する必要があります。 RAMロールに権限を付与する方法については、「クロスアカウントDTSタスクのRAM権限の設定」トピックの「既存のRAMロールに権限を付与する」セクションをご参照ください。

    image

    RAM ロール名パラメーターの値が無効です。 DTSのデフォルトのロールAliyunDTSDefaultRoleの代わりに、準備中に作成したRAMロールを入力します。

既存のRAMロールに権限を付与する

  1. ソースインスタンスが属するAlibaba Cloudアカウントを使用して、RAMコンソールにログインします。

  2. 左側のナビゲーションペインで、[ID] > [ロール] を選択します。

  3. [ロールの作成] の右側の検索ボックスにRAMロールの名前を入力します。

  4. RAMロールを見つけて、[操作] 列の [入力とアタッチ] をクリックします。

  5. [権限の追加] パネルで、[ポリシー名] パラメーターをAliyunDTSRolePolicyに設定します。

    説明

    デフォルトでは、Typeパラメーターはシステムポリシーに設定されています。

  6. [OK] をクリックします。