このトピックでは、データを移行する前に実行する必要がある操作について説明します。
ステップ 1: ソースバケットのインベントリを作成する
バケットインベントリの作成方法の詳細については、「バケットインベントリ」をご参照ください。
ステップ 2: 移行先バケットを作成する
移行したデータを格納するための移行先バケットを作成します。詳細については、「バケットの作成」をご参照ください。
ステップ 3: RAM ユーザーを作成し、RAM ユーザーに権限を付与する
この Resource Access Management (RAM) ユーザーは移行に使用されます。ロールの作成や移行操作を行う際は、このユーザーとして実行する必要があります。この RAM ユーザーは、ソースバケットまたは移行先バケットを所有する Alibaba Cloud アカウントで作成する必要があります。
RAM ユーザーを作成していない場合は、「クイックスタート: RAM ユーザーの作成と権限付与」をご参照ください。
Alibaba Cloud アカウントで RAM コンソールにログインします。[ユーザー] ページで、作成した RAM ユーザーを見つけ、[操作] 列の [権限を追加] をクリックします。
システムポリシー: AliyunOSSImportFullAccess (データオンライン移行を管理する権限)。
カスタム権限ポリシー: このポリシーには、
ram:CreateRole、ram:CreatePolicy、ram:AttachPolicyToRole、およびram:ListRoles権限を含める必要があります。権限の管理方法の詳細については、「カスタム権限ポリシーの作成」をご参照ください。以下のコードは、権限ポリシースクリプトの例です。
{ "Version":"1", "Statement":[ { "Effect":"Allow", "Action":[ "ram:CreateRole", "ram:CreatePolicy", "ram:AttachPolicyToRole", "ram:ListRoles" ], "Resource":"*" } ] }
ステップ 4: ソースバケットに権限を付与する
ソースバケットが自分のアカウントに属しているかどうかに基づいて操作を完了します。
このトピックでは、「自分のアカウント」とは、データオンライン移行コンソールの操作に使用されるアカウントを指します。「属している」とは、バケットと自分のアカウントが同じ Alibaba Cloud アカウントに属していることを意味します。
ソースバケットが自分のアカウントに属している場合
ワンクリック自動権限付与
移行コンソールの ワンクリックロール権限付与 機能を使用することをお勧めします。この機能は、[移行の実装] > [ステップ 2] > [ロールの権限付与] にあります。
手動での権限付与
手動での権限付与は、次のような特定のシナリオに適しています:
効率的な管理のために、単一のロールを使用して複数のソースバケットに権限を付与したい場合。
アカウント内の既存のロール数が上限に近づいており、これ以上 RAM ロールを作成したくない場合。
ワンクリック自動権限付与が適していない、または使用できないその他のシナリオ。
1. データ移行用の RAM ロールを作成する
先ほど作成した RAM ユーザーとして RAM コンソールにログインします。[ロール] ページで、[ロールの作成] をクリックします。
[信頼できるエンティティタイプ] で、[クラウドサービス] を選択します。
信頼できるエンティティ名には、[Data Transport] を選択します。
[ロール名] を入力します。名前は小文字にする必要があります。


2. ソースバケットに権限を付与する
[ロール] ページで、作成した RAM ロールを見つけ、[操作] 列の [権限を追加] をクリックします。
カスタム権限ポリシー: このポリシーには、
oss:List*およびoss:Get*権限を含める必要があります。
権限の管理方法の詳細については、「カスタム権限ポリシーの作成」をご参照ください。以下のコードは、権限ポリシースクリプトの例です。
以下の権限ポリシーは参照用です。<mySrcBucket> をアカウントのソースバケットの名前に置き換えてください。
OSS 権限ポリシーの詳細については、「RAM ポリシーの一般的な例」をご参照ください。
ソースバケットに Key Management Service (KMS) で暗号化されたオブジェクトが含まれている場合は、ロールに AliyunKMSFullAccess システムポリシーも付与する必要があります。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:List*",
"oss:Get*"
],
"Resource": [
"acs:oss:*:*:<mySrcBucket>",
"acs:oss:*:*:<mySrcBucket>/*"
]
}
]
}ソースバケットが自分のアカウントに属していない場合
1. データ移行用の RAM ロールを作成する
先ほど作成した RAM ユーザーとして RAM コンソールにログインします。[ロール] ページで、[ロールの作成] をクリックします。
信頼できるエンティティには、[Alibaba Cloud サービス] を選択します。
信頼できるエンティティ名には、[Data Transport] を選択します。
[ロール名] を入力します。名前は小文字にする必要があります。


2. ソースバケットに権限を付与する
バケットポリシーを使用して権限を付与すると、新しいポリシーが既存のポリシーを上書きします。新しいポリシーに既存のポリシーの内容が含まれていることを確認してください。そうしないと、既存のポリシーに依存する操作が失敗する可能性があります。
ソースバケットを所有する Alibaba Cloud アカウントを使用して OSS コンソール にログインします。
左側のナビゲーションウィンドウで、[バケット] をクリックし、目的のバケットを選択します。
左側のナビゲーションウィンドウで、[アクセス制御] > [バケットポリシー] を選択します。
[ポリシー構文で追加] タブで、[編集] をクリックしてカスタムバケットポリシーを追加します。
バケット内のすべてのリソースを一覧表示および読み取る権限を RAM ロールに付与します。
説明以下の権限ポリシーは参照用です。次のプレースホルダーを実際の値に置き換えてください: <otherSrcBucket> を [ソースバケットの名前] に、<otherUid> を ソースバケット を所有する [Alibaba Cloud アカウントの UID] に、<myUid> を [移行コンソール用の Alibaba Cloud アカウントの UID] に、<roleName> を 以前に作成した [ロールの名前] に置き換えます。OSS 権限ポリシーの詳細については、「RAM ポリシーの一般的な例」をご参照ください。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:List*", "oss:Get*", "oss:Put*", "oss:AbortMultipartUpload" ], "Principal": [ "arn:sts::<myUid>:assumed-role/<roleName>/*" ], "Resource": [ "acs:oss:*:<otherUid>:<otherSrcBucket>", "acs:oss:*:<otherUid>:<otherSrcBucket>/*" ] } ] }
3. KMS 権限を付与する
ソースバケットに KMS で暗号化されたオブジェクトが含まれている場合は、ロールに AliyunKMSFullAccess システムポリシーも付与する必要があります。
ソースバケット内のオブジェクトがカスタム KMS キーで暗号化されている場合は、ロールに KMS キーへのアクセス権も付与する必要があります。これを行うには、次のステップを実行します。
Key Management Service コンソールにログインし、キーを見つけます。
[キーポリシー] を設定します。[他のアカウントのユーザー] を選択し、承認されたエンティティの ARN を入力します。詳細については、「キーポリシーの設定」をご参照ください。

ステップ 5: インベントリリストを格納するバケットに権限を付与する
インベントリリストを格納するバケットが現在の Alibaba Cloud アカウントに属しているかどうかに応じて、対応する操作を実行します。
インベントリリストを格納するバケットが現在の Alibaba Cloud アカウントに属している場合
自動権限付与
[移行の実装] > [ステップ 2] > [リスト権限付与ロール] でのワンクリック権限付与には、移行コンソール権限付与ロール を使用することをお勧めします。
手動での権限付与
インベントリリストを格納するバケットに権限を付与する
[ロール] ページで、作成した RAM ロールを見つけ、[操作] 列の [権限付与] をクリックします。
カスタムポリシー: このポリシーには、
oss:List*およびoss:Get*権限を含める必要があります。
カスタムポリシーのアタッチ方法の詳細については、「カスタムポリシーの作成」をご参照ください。以下のサンプルコードは、カスタムポリシーの例です。
説明以下のポリシーは参照用です。<myInvBucket> をインベントリリストを格納するバケットの名前に置き換えてください。
OSS の RAM ポリシーの詳細については、「RAM ポリシーの一般的な例」をご参照ください。
重要Key Management Service マネージドキー (SSE-KMS) を使用したサーバ側暗号化がインベントリリストを格納するバケットに設定されている場合は、RAM ロールに AliyunKMSFullAccess システムポリシーをアタッチする必要があります。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:List*", "oss:Get*" ], "Resource": [ "acs:oss:*:*:<myInvBucket>", "acs:oss:*:*:<myInvBucket>/*" ] } ] }
インベントリリストを格納するバケットが現在の Alibaba Cloud アカウントに属していない場合
インベントリリストを格納するバケットに権限を付与する
インベントリリストを格納するバケットを所有する Alibaba Cloud アカウントで OSS コンソール にログインします。
左側のナビゲーションウィンドウで、[バケット] をクリックします。[バケット] ページで、インベントリリストを格納するバケットの名前をクリックします。
左側のナビゲーションウィンドウで、[権限コントロール] > [バケットポリシー] を選択します。
[構文で追加] タブで、[編集] をクリックし、次のバケットポリシーを追加します。
カスタムポリシー:
インベントリリストを格納するバケット内のすべてのリソースを一覧表示および読み取る権限を RAM ロールに付与します。
説明以下のポリシーは参照用です。<otherInvBucket> を インベントリリストを格納するバケットの名前 に、<myuid> を データオンライン移行コンソールへのログインに使用される Alibaba Cloud アカウントの ID に、<otherUid> を インベントリリストを格納するバケットを所有する [Alibaba Cloud アカウントの ID] に、<roleName> を 作成した [RAM ロールの名前] に置き換えてください。OSS の RAM ポリシーの詳細については、「RAM ポリシーの一般的な例」をご参照ください。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:List*", "oss:Get*" ], "Principal": [ "arn:sts::<myUid>:assumed-role/<roleName>/*" ], "Resource": [ "acs:oss:*:<otherUid>:<otherInvBucket>", "acs:oss:*:<otherUid>:<othereInvBucket>/*" ] } ] }
2. KMS 権限付与
SSE-KMS を使用したサーバ側暗号化がインベントリリストを格納するバケットに設定されている場合は、RAM ロールに AliyunKMSFullAccess システムポリシーをアタッチする必要があります。
インベントリリストを格納するバケット内のデータを暗号化するために KMS のカスタムキーが使用されている場合は、次のステップを実行してカスタムキーのポリシーを設定します。
KMS コンソールにログインし、カスタムキーを見つけます。
詳細ページの [キーポリシー] タブで、[キーポリシーの設定] をクリックします。[キーポリシー] パネルで、[クロスアカウントユーザー] フィールドに RAM ロールの ARN を入力します。詳細については、「キーポリシーの設定」をご参照ください。

ステップ 6: 移行先バケットに権限を付与する
移行先バケットが自分のアカウントにあるかどうかに基づいてステップに従います。
移行先バケットが自分のアカウントにある場合
ワンクリック自動権限付与:
ワンクリック権限付与の場合、移行コンソールを使用してロールを自動的に権限付与します。この操作は [移行の実装] > [ステップ 3] > [ロールの権限付与] で実行します。
手動での権限付与:
移行先バケットに権限を付与する
[ロール] ページで、作成した RAM ロールを見つけます。[操作] 列で、[権限を追加] をクリックします。
カスタムポリシー: ポリシーには、
oss:List*、oss:Get*、oss:Put*、およびoss:AbortMultipartUpload*権限を含める必要があります。
詳細については、「カスタム権限ポリシーの作成」をご参照ください。以下のコードは、サンプル権限ポリシーです。
説明以下の権限ポリシーは参照用です。<myDestBucket> を アカウントの移行先バケットの名前 に置き換えてください。
OSS 権限ポリシーの詳細については、「RAM ポリシーの一般的な例」をご参照ください。
重要移行先バケットが Key Management Service (KMS) によるサーバ側暗号化を使用している場合は、ロールに AliyunKMSFullAccess システムポリシーも付与する必要があります。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:List*", "oss:Get*", "oss:Put*", "oss:AbortMultipartUpload" ], "Resource": [ "acs:oss:*:*:<myDestBucket>", "acs:oss:*:*:<myDestBucket>/*" ] } ] }
移行先バケットが自分のアカウントにない場合
1. 移行先バケットに権限を付与する
バケットポリシーを使用して権限を付与すると、新しいポリシーが既存のポリシーを上書きします。新しいポリシーに既存のポリシーの内容が含まれていることを確認してください。そうしないと、既存のポリシーに依存する操作が失敗する可能性があります。
移行先バケットを所有する Alibaba Cloud アカウントで OSS コンソール にログインします。
左側のナビゲーションウィンドウで、[バケット] をクリックし、移行先バケットを選択します。
左側のナビゲーションウィンドウで、[アクセス制御] > [バケットポリシー] を選択します。
[構文で追加] タブで、[編集] をクリックしてカスタムバケットポリシーを追加します。
バケット内のすべてのリソースを一覧表示、読み取り、削除、書き込みする権限を RAM ロールに付与します。
以下のアクセスポリシーは参照用です。<otherDestBucket> を [移行先バケットの名前] に、<otherUid> を [移行先バケットを所有する Alibaba Cloud アカウントの UID] に、<myUid> を [移行コンソール用の Alibaba Cloud アカウントの UID] に、<roleName> を [以前に作成したロールの名前] に置き換えてください。OSS アクセスポリシーの詳細については、「RAM ポリシーの一般的な例」をご参照ください。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:List*",
"oss:Get*",
"oss:Put*",
"oss:AbortMultipartUpload"
],
"Principal": [
"arn:sts::<myUid>:assumed-role/<roleName>/*"
],
"Resource": [
"acs:oss:*:<otherUid>:<otherDestBucket>",
"acs:oss:*:<otherUid>:<otherDestBucket>/*"
]
}
]
}2. KMS 権限を付与する
移行先バケットが KMS によるサーバ側暗号化を使用している場合は、ロールに AliyunKMSFullAccess システムポリシーも付与する必要があります。
移行先バケットがサーバ側暗号化にカスタム KMS キーを使用している場合は、次のようにキーへのアクセス権をロールに付与する必要もあります。
Key Management Service コンソールにログインし、キーを見つけます。
[キーポリシー] を設定します。[他のアカウントからのユーザー] を選択し、承認されたエンティティの ARN を入力します。詳細については、「キーポリシーの設定」をご参照ください。

ステップ 7: ソースバケットで移行するデータを解凍する
ソースデータがアーカイブにある場合は、移行タスクを作成する前に解凍する必要があります。データを解凍する際は、次の点に注意してください。
ソースデータアドレスと移行タスクを作成する前に、データが完全に解凍されていることを確認してください。
移行するデータの総量に基づいて、データが十分な期間解凍されたままであることを確認してください。これにより、移行中にデータが再度アーカイブされるのを防ぎます。
解凍操作にはデータ取得料金が課金されます。一部の解凍サービスは料金が高額です。特定の課金ルールの詳細については、ソースストレージサービスプロバイダーにお問い合わせください。
データオンライン移行は、ソースデータに対する解凍操作を実行しません。ソースに解凍されていないファイルやまだ解凍中のファイルが含まれている場合、これらのファイルの移行は失敗します。
OSS バケット内のアーカイブ済みオブジェクトを解凍する方法の詳細については、「オブジェクトの解凍」をご参照ください。