このトピックでは、データ移行の前に完了する必要がある準備について説明します。
ステップ 1: 移行先バケットの作成
移行したデータを格納するための移行先バケットを作成します。 詳細については、「バケットの作成」をご参照ください。
ステップ 2: 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":"*" } ] }
ステップ 3: ソースバケットへの権限付与
ソースバケットが自分のアカウントに属しているかどうかに基づいて操作を完了します。
このトピックでは、「自分のアカウント」とは、データオンライン移行コンソールを操作するために使用されるアカウントを指します。 「属している」とは、バケットと自分のアカウントが同じ 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 を入力します。 詳細については、「キーポリシーの設定」をご参照ください。

ステップ 4: 移行先バケットへの権限付与
移行先バケットが自分のアカウントにあるかどうかに基づいてステップに従います。
移行先バケットが自分のアカウントにある場合
ワンクリック自動権限付与:
ワンクリック権限付与の場合は、移行コンソールを使用してロールを自動的に承認します。 この操作は、[移行の実装] > [ステップ 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 を入力します。 詳細については、「キーポリシーの設定」をご参照ください。

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