このトピックでは、データを移行する前に実行する必要がある操作について説明します。
ステップ 1: データ移行に使用するアカウントの SAS を作成する
権限を付与する際は、以下を確認してください。
コンテナーリソースタイプが許可されていること。
読み取りとリストの権限が付与されていること。
権限が移行期間中ずっと有効であること。
データのセキュリティを確保するため、アカウントの共有アクセス署名 (SAS) を作成し、その SAS にソースデータに対する読み取り権限を付与することを推奨します。詳細については、「アカウント SAS の作成」をご参照ください。
ステップ 2: 移行先バケットを作成する
移行したデータを格納する移行先として、Object Storage Service (OSS) バケットを作成します。詳細については、「バケットの作成」をご参照ください。
ステップ 3: RAM ユーザーを作成し、RAM ユーザーに権限を付与する
Resource Access Management (RAM) ユーザーは、データ移行タスクの実行に使用されます。RAM ロールを作成し、RAM ユーザーとしてデータ移行タスクを実行する必要があります。ソースまたは移行先の OSS バケットを所有する 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: 移行先バケットに対する権限を RAM ロールに付与する
移行先バケットが現在の Alibaba Cloud アカウントに属しているかどうかに基づいて、対応する操作を実行します。
移行先バケットが現在の Alibaba Cloud アカウントに属している場合
自動権限付与
データオンライン移行コンソールで自動権限付与を使用することを推奨します。詳細については、データ移行トピックの「ステップ 3: 移行先データアドレスを作成する」セクションをご参照ください。
手動権限付与
説明次のシナリオでは、手動で権限を付与できます。
複数のソースバケットに対する権限を 1 つの RAM ロールに付与したい場合。これにより、複数のソースバケットを効果的に管理できます。
現在の Alibaba Cloud アカウント内の RAM ロールの数が上限に近いため、これ以上 RAM ロールを作成したくない場合。
自動権限付与が適用できない、または使用できない場合。
1. データ移行に使用する RAM ロールを作成する
RAM ユーザーが作成された RAM コンソールにログインします。[ロール] ページで、[ロールを作成] をクリックします。
プリンシパルタイプ: [クラウドサービス] を選択します。
プリンシパル名: [Data Transport] を選択します。
[ロール名]: RAM ロール名を入力します。RAM ロール名は小文字である必要があります。


2. 移行先バケットに対する権限を RAM ロールに付与する
[ロール] ページで、作成した RAM ロールを見つけ、[操作] 列の [権限を付与] をクリックします。
カスタムポリシー:
oss:List*、oss:Get*、oss:Put*、およびoss:AbortMultipartUpload*権限を含むカスタムポリシーを RAM ロールにアタッチします。
カスタムポリシーをアタッチする方法の詳細については、「カスタムポリシーの作成」をご参照ください。次のサンプルコードは、カスタムポリシーの例です。
説明次のポリシーは参照用です。<myDestBucket> を移行先バケットの名前に置き換えてください。
OSS の RAM ポリシーの詳細については、「RAM ポリシーの一般的な例」をご参照ください。
重要Key Management Service マネージドキー (SSE-KMS) を使用したサーバ側暗号化が移行先バケットに設定されている場合は、AliyunKMSFullAccess システムポリシーを RAM ロールにアタッチする必要があります。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:List*", "oss:Get*", "oss:Put*", "oss:AbortMultipartUpload" ], "Resource": [ "acs:oss:*:*:<myDestBucket>", "acs:oss:*:*:<myDestBucket>/*" ] } ] }
移行先バケットが現在の Alibaba Cloud アカウントに属していない場合
1. データ移行に使用する RAM ロールを作成する
RAM ユーザーが作成された RAM コンソールにログインします。[ロール] ページで、[ロールを作成] をクリックします。
プリンシパルタイプ: [クラウドサービス] を選択します。
プリンシパル名: [Data Transport] を選択します。
[ロール名]: RAM ロール名を入力します。RAM ロール名は小文字である必要があります。


2. 移行先バケットに対する権限を RAM ロールに付与する
ポリシーステートメントを指定してバケットポリシーを設定し、RAM ロールに必要な権限を付与すると、新しいバケットポリシーが既存のバケットポリシーを上書きします。新しいバケットポリシーに既存のバケットポリシーの内容が含まれていることを確認してください。そうしないと、既存のバケットポリシーに基づく権限付与が失敗する可能性があります。
移行先バケットを所有する Alibaba Cloud アカウントで OSS コンソール にログインします。
左側のナビゲーションウィンドウで、[バケット] をクリックします。[バケット] ページで、移行先バケットの名前をクリックします。
バケット詳細ページの左側のペインで、[権限コントロール] > [バケットポリシー] を選択します。
[バケットポリシー] タブで、[構文で追加] をクリックし、次に [編集] をクリックします。コードエディタで、カスタムバケットポリシーを入力します。次に、[保存] をクリックします。
RAM ロールに、移行先バケット内のオブジェクトをリスト、読み取り、削除し、オブジェクトを書き込む権限を付与します。
次のポリシーは参照用です。<otherDestBucket> を 移行先バケットの名前に、<otherUid> を移行先バケットを所有する Alibaba Cloud アカウントの ID に、<myUid> を データオンライン移行コンソールへのログインに使用する Alibaba Cloud アカウントの ID に、<roleName> を作成した RAM ロールの名前に置き換えてください。 OSS の RAM ポリシーの詳細については、「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>/*"
]
}
]
}3. カスタムキーのポリシーを設定する
移行先バケットに SSE-KMS が設定されている場合は、AliyunKMSFullAccess システムポリシーを RAM ロールにアタッチする必要があります。
移行先バケットのデータを暗号化するために KMS のカスタムキーが使用されている場合は、次の手順を実行してカスタムキーのポリシーを設定します。
KMS コンソールにログインし、カスタムキーを見つけます。
詳細ページの [キーポリシー] タブで、[キーポリシーを設定] をクリックします。[キーポリシー] パネルで、[クロスアカウントユーザー] フィールドに RAM ロールの ARN を入力します。詳細については、「キーポリシーの設定」をご参照ください。

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