edit-icon download-icon

異なる Alibaba Cloud アカウントのインスタンス間でのデータの移行と同期

最終更新日: Oct 30, 2019

DTS を使用して、2 つの異なる Alibaba Cloud アカウント配下のインスタンス間でデータを移行および同期できます。この機能を実現するには、ソースインスタンスの属する Alibaba Cloud アカウントが、ターゲットインスタンスの属する Alibaba Cloud アカウントに権限を付与する必要があります。次に、ターゲットインスタンスが属する Alibaba Cloud アカウントを使用して DTS コンソールにログインし、タスクを設定する必要があります。
このトピックでは、Resource Access Management (RAM) システムを使用して異なるアカウントに権限を付与し、異なる Alibaba Cloud アカウントのインスタンス間でデータを移行する方法について説明します。

DTS でサポートされるクロスアカウントの移行と同期機能

DTS でサポートされるクロスアカウントの移行と同期機能は次のとおりです。

  • データ移行

    • RDS インスタンスから RDS インスタンス
    • RDS インスタンスから DRDS インスタンス
    • RDS インスタンスから PetaData インスタンス
    • RDS インスタンスから OceanBase インスタンス
    • RDS インスタンスから ECS 外部データベース
    • RDS インスタンスからオンプレミスデータベース
  • データ同期

    • RDS インスタンスから RDS インスタンス
    • RDS インスタンスから MaxCompute (以前の ODPS) インスタンス
    • RDS インスタンスから Datahub (ストリーム計算用) インスタンス
    • RDS インスタンスから AnalyticDB インスタンス

セキュリティ上の理由から、クロスアカウントクラウドリソース間でデータ移行を実行する前に、ユーザーに権限が付与されている必要があります。ソースインスタンスがアカウント A に属し、ターゲットインスタンスがアカウント B に属しているとします。この場合、次の権限付与を完了する必要があります。
(1) ソースインスタンスが属するアカウントは、クラウドリソースへの DTS アクセスを許可します。
(2) ソースインスタンスが属するアカウント A は、ターゲットインスタンスが属するアカウント B に DTS のアカウント A のクラウドリソースへのアクセスを許可します。

権限付与プロセスの詳細は次のとおりです。

ソースインスタンスが属するアカウントは、DTS にクラウドリソースへのアクセスを許可

まず、ソースインスタンスが属するアカウントは、DTS にクラウドリソースへの アクセスを許可する必要があります。これには、次の手順を実行します。

アカウント A を使用して Alibaba Cloud Web サイトにログインし、DTS コンソールにアクセスします。アカウント A が DTS にクラウドリソースへのアクセスを許可していない場合、次の権限付与ダイアログが表示されます。

1

[RAM ユーザーの権限付与] をクリックして、権限付与ページに移動します。

2

権限付与ページで [権限付与に同意] をクリックして、DTS にクラウドリソースへのアクセスを許可します。

DTS コンソールにログインしたときに上記の権限付与要求メッセージが表示されない場合、アカウント A に権限が付与されていることを示します。

ソースインスタンスの属するアカウント A は、ターゲットインスタンスの属するアカウント B に、DTS のアカウント A のクラウドリソースへのアクセスを許可

アカウント A が DTS にクラウドリソースへのアクセスを許可する場合、ユーザーは DTS のアカウント A のクラウドリソースへのアクセスをアカウント B に許可する必要があります。
RAM システムでアカウントにロールを付与して、権限付与します。移行タスクを設定するとき、アカウント A の ID を設定し、アカウント A にロールを付与する必要があります (図を参照)。

3

この図では、[RDS が属する Alibaba Cloud アカウント] は、ソース RDS が属する Alibaba Cloud アカウントのアカウント ID です。アカウント ID は、[アカウント管理] の [セキュリティ設定] から取得できます。

4

[ロール名] は、アカウント A がアカウント B に対して、アカウント A のクラウドリソースへのアクセスを許可する名前です。許可されたロールを作成するプロセスは次のとおりです。

別のアカウントへのロールの付与

このセクションでは、別の Alibaba アカウントに対して、自分のアカウントの RAM ユーザーのクラウドリソースへのアクセスを許可する方法について説明します。
次の例では、アカウント A の RDS インスタンスをアカウント B のクラウドリソースに移行します。ロールを許可するプロセスは次のとおりです。

ロールの作成

  1. アカウント A を使用して RAM コンソールにログインし、[ロール管理] ページに移動して右上の [新規ロール] をクリックして、クロスアカウント許可ロールを作成します。
  2. ロールタイプとして [ユーザーロール] を選択します。
  3. 信頼できるアカウント。[他の Alibaba Cloud アカウント] を選択します。ターゲットインスタンスが属する Alibaba Cloud アカウントの ID、つまりアカウント B の ID で [信頼できる Alibaba Cloud アカウント ID] を設定します。

    5

  4. このステップでは、DTS 同期タスクの設定プロセスで指定する必要があるロール名を設定します。

作成したロールへの権限付与

ロールを作成するとき、ロール権限付与ポリシーを変更する必要があります。
(1) 信頼できるクラウドアカウント。DTS コンソールで自身のクラウドリソースのみにアクセスできるように、信頼できるクラウドアカウントを制限します。これには、次の手順を実行します。

1) [ロール管理] ページで、作成したロールの横にある [管理] をクリックしてロールを管理します。

2) 右上の [基本情報の編集] をクリックします。[ロールの編集] ダイアログボックスが表示されます。次のように、Principal にサービス定義を追加します。

  1. "Service": [
  2. "Trusted Alibaba Cloud account ID@dts.aliyuncs.com"
  3. ]

DTS で同期タスクを設定するため、信頼できるクラウドアカウント ID を Alibaba Cloud アカウント ID に置き換えます。dts.aliyuncs.com は DTS コードです。DTS 移行タスクの設定に使用する Alibaba Cloud アカウント ID が 1218522260143989 とします。この場合、対応するサービスを次のように定義する必要があります。

  1. "Service": [
  2. "121852226014398@dts.aliyuncs.com"
  3. ]

完全なロール定義は次のとおりです。

  1. {
  2. "Statement": [
  3. {
  4. "Action": "sts:AssumeRole",
  5. "Effect": "Allow",
  6. "Principal": {
  7. "RAM": [
  8. "acs:ram::1218522260143989:root"
  9. ],
  10. "Service": [
  11. "1218522260143989@dts.aliyuncs.com"
  12. ]
  13. }
  14. }
  15. ],
  16. "Version": "1"
  17. }

(2) このロールに対して、ソースインスタンスの Alibaba Cloud アカウントのリソースへのアクセスを許可します。

アカウント B を設定した後、ロール権限付与ポリシーを変更します。特定のクラウドリソースへのアクセス権限をロールに許可し、DTS がこれらのクラウドインスタンスにアクセスするロールとして機能できるようにします。これには、次の手順を実行します。

1) [ロール管理] ページで、作成されたロールの横にある [許可] をクリックすると、[ロールの権限付与ポリシーの編集] ダイアログが表示されます。

6

2) 検索バーで AliyunDTSRolePolicy を検索し、このポリシーをロールに付与します。

7

ロールを作成し、そのロールを別のアカウントに付与するプロセスを完了しました。

権限付与が完了したら、クロスアカウント同期タスクを設定できます。同期タスクを設定するとき、ソースインスタンス情報の [ロール名] に、作成したロールの名前を設定します。