AWS S3 / Tencent COS から Alibaba Cloud OSS へのオンライン移行手順

目次
0x01 概要
AWS S3 や Tencent Cloud(テンセントクラウド)COS などのサードパーティのクラウドストレージ、あるいはオンプレミスの IDC から Alibaba Cloud(アリババクラウド)の OSS(Object Storage Service)へデータを移行する場合、従来の方法では移行ツールの開発や長い転送期間が必要になるのが一般的でした。Alibaba Cloud のオンライン移行サービス(Data Online Migration)は、開発不要でコンソールから操作できる統合移行プラットフォームです。簡単な設定だけで、複数の移行元にある大量のデータを効率的かつ安全に OSS へ集約できます。
本記事では、Tencent Cloud COS から Alibaba Cloud OSS への移行を例に、事前準備から移行タスクの作成、データの検証、失敗したファイルの再試行までの手順を画面付きで解説します。AWS S3 など他のクラウドストレージを移行元にする場合も、ソースアドレスのタイプと認証情報(アクセスキー)が異なるだけで、以降の流れは同じです。
0x02 事前準備
00x01 Tencent Cloud 側:クラウド API キーの作成
Tencent Cloud コンソールにログインし、アクセス管理(CAM)> ユーザー > ユーザーリスト を開きます。ルートアカウントのキーを使うのではなく、移行専用のサブユーザー(例では cos_test)を作成しておくと、権限を最小限に絞れるためおすすめです。

サブユーザーの詳細画面で API キー タブを開き、キーの作成 をクリックしてクラウド API キーを 1 組新規作成し、SecretId と SecretKey を控えておきます。SecretKey は作成時にしか表示されないため、必ずこの時点で保存してください。

移行元バケットのリソース(バケット名・リージョン・オブジェクト)を確認します。Tencent Cloud COS のバケット名は <バケット名>-<APPID> の形式になっており、後でソースアドレスを作成する際にこの完全な名前が必要です。

このキーに、移行元バケットの読み取り権限(List と Get)があることを確認します。例では QcloudCOSReadOnlyAccess などのプリセットポリシーをサブユーザーに付与しています。

00x02 Alibaba Cloud 側:移行先バケットの作成
- Alibaba Cloud OSS コンソールにログインし、バケットの作成 をクリックします。
- 移行先のリージョンを選択してバケットを作成し、バケット名とリージョンを控えておきます(例では
target-usa-test、US (Silicon Valley))。

00x03 Alibaba Cloud 側:RAM ユーザーの作成と権限付与
Alibaba Cloud RAM コンソールにログインし、アイデンティティ管理 > ユーザー を開いて ユーザーの作成 をクリックし、移行作業用の RAM ユーザー(例では migration-user)を作成します。

この RAM ユーザーに以下の権限を付与します。
ポリシータイプ | ポリシー名 |
|---|---|
システムポリシー |
|
カスタムポリシー(以下の Action を含むこと) |
|
カスタムポリシーのポリシードキュメントは次のとおりです。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ram:CreateRole",
"ram:CreatePolicy",
"ram:AttachPolicyToRole",
"ram:ListRoles"
],
"Resource": "*"
}
]
}

00x04 Alibaba Cloud 側:移行先バケットへの権限付与
オンライン移行サービスが移行先バケットへ書き込めるように、RAM ロールで権限を付与します。方法は 2 つあります。
方法 1:コンソールで自動作成する 宛先アドレスの作成時に、ロールの権限付与 で ロールの新規作成 を選ぶと、必要な権限を持つロール(oss-import-<タイムスタンプ>-<バケット名>)がワンクリックで作成されます。手動での作成は不要です。具体的な操作は 0x03 の 00x03 で説明します。
方法 2:手動で作成する(バケットが現在のアカウントに属する場合)
- RAM コンソールで ロール > ロールの作成 を開き、信頼できるエンティティのタイプで クラウドサービス、信頼できるサービスで Data Transport を選択します。ロール名はすべて小文字にしてください。
- このロールに、
oss:List*、oss:Get*、oss:Put*、oss:AbortMultipartUploadを含むカスタムポリシーをアタッチします。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:List*",
"oss:Get*",
"oss:Put*",
"oss:AbortMultipartUpload"
],
"Resource": [
"acs:oss:*:*:target-usa-test",
"acs:oss:*:*:target-usa-test/*"
]
}
]
}0x03 移行の実施
00x01 リージョンの選択
- 作成した RAM ユーザーで、Alibaba Cloud の オンライン移行サービス コンソール(
https://mgw.console.alibabacloud.com)にログインします。 - 画面左上でリージョンを選択します。Tencent Cloud COS の移行元データと同じ地域(例:東京)のリージョンがあればそれを優先し、なければ最も近いリージョンを選択します。
00x02 ソースアドレス(移行元)の作成
左側ナビゲーションの オンライン移行サービス > アドレス管理 で アドレスの作成 をクリックし、次のパラメータを設定します。
パラメータ | 設定内容 |
|---|---|
名前 | 任意(3〜63 文字) |
タイプ | Tencent COS |
バケット(Bucket) |
|
ドメイン名 | バケットのエンドポイント(例: |
AccessKeyId | Tencent Cloud の SecretId |
SecretAccessKey | Tencent Cloud の SecretKey |
プレフィックス | 空欄の場合はバケット全体を移行します。指定する場合は |

00x03 宛先アドレス(移行先)の作成
同じく アドレス管理 で アドレスの作成 をクリックし、次のパラメータを設定します。
パラメータ | 設定内容 |
|---|---|
名前 | 任意(ルールはソースアドレスと同じ) |
タイプ | Alibaba OSS |
バケット(Bucket) | 自アカウントのバケット を選び、移行先バケット名を入力します。別アカウントのバケットへ移行する場合は クロスアカウントバケット を選びます |
リージョン | 移行先バケットがある Alibaba Cloud のリージョン |
プレフィックス | 任意。指定すると、データはこのディレクトリ配下に移行されます |
ロールの権限付与 | 自アカウントのバケット:ロールの新規作成 で自動作成したロール、または 00x04 の方法 2 で手動作成したロール。クロスアカウント:バケット所有側のアカウントで権限付与したロール |
ロールの権限付与 のプルダウンで ロールの新規作成 を選ぶと、RAM クイック権限付与の画面が開きます。

自動作成されるロール名と、付与されるポリシーの内容(oss:List*、oss:Get*、oss:Put*、oss:AbortMultipartUpload。Resource は移行先バケット)を確認し、権限付与 をクリックします。

アドレスの作成パネルに戻り、作成されたロールを選択して 確認 をクリックします。

00x04 移行タスクの作成
左側ナビゲーションの オンライン移行サービス > 移行タスク で タスクの作成 をクリックします。
アドレスの選択:タスク名を入力し、ソースアドレスと宛先アドレスを選択して 次へ をクリックします。

タスクの設定:次の項目を設定します。
- 帯域幅・秒間移行ファイル数:デフォルトのまま、または上限を指定します。
- 上書き方式:上書きしない / すべて上書き / 最終更新日時で上書き から選択します。
- 移行レポート:プッシュしない、または移行先バケットへプッシュします。
- 移行ログ:プッシュしない / プッシュ / ファイルエラーログのみプッシュ から選択します。プッシュする場合は Log Service(SLS)の有効化とログサービスへの権限付与が必要で、権限付与時にロール
AliyunOSSImportSlsAuditRoleが作成されます。 - フィルター(任意):ファイル名(RE2 正規表現で「含める」または「除外」)、またはファイルの最終更新日時でフィルタリングします。
- ストレージクラス(任意):移行先ファイルのストレージクラスを指定します。
- 実行時間:今すぐ実行 / 実行日時を指定 / 定期実行(Cron 形式、最小間隔 1 時間)から選択します。

コンプライアンスに関する確約事項にチェックを入れ、次へ をクリックします。

設定内容を確認して OK をクリックすると、移行タスクの実行が開始されます。
00x05 データの検証
- タスク完了後、タスク詳細ページの 履歴 エリアで移行レポートを生成・ダウンロードし、成功 / 失敗 / スキップしたファイルの一覧を確認します。
- 移行先バケットのオブジェクト数とストレージ使用量が移行元と一致していることを確認します。

0x04 失敗したファイルの再試行
ネットワークの一時的な障害などで一部のファイルが失敗した場合は、タスクを作り直す必要はなく、失敗したファイルだけを再試行できます。
- オンライン移行サービスのコンソールにログインし、タスクがあるリージョンを選択します。
- オンライン移行サービス > 移行タスク で、対象タスクの 管理 をクリックします。
- 履歴 エリアで、対象の実行レコードの 失敗したファイルの再試行 をクリックします。
- 帯域幅、ファイル数、上書き方式などのパラメータを確認して OK をクリックすると、サブタスクが失敗したファイルだけを再移行します(移行に成功したファイルは再試行されません)。
0x05 まとめ
オンライン移行サービスを使えば、Tencent Cloud COS から Alibaba Cloud OSS へのデータ移行は、ツールの開発なしにコンソール操作だけで完結します。実施にあたってのポイントは次の 3 点です。
- 権限は最小限に:移行元は読み取り専用のサブユーザー、移行先は専用の RAM ユーザーと RAM ロールで権限を分離する。
- メタデータの確認:標準ドメイン経由の移行では
Content-Dispositionが変わり得るため、移行後にアクセス時の挙動を確認する。 - 検証と再試行:移行レポートで成功 / 失敗 / スキップを確認し、失敗分は「失敗したファイルの再試行」で補完する。
Cloud Navi は Alibaba Cloud のディストリビューターとして、他クラウドからの移行設計から実施・運用までを支援しています。大容量データの移行や、クロスアカウント・専用線経由での移行をご検討の際は、お問い合わせからお気軽にご相談ください。

