このトピックでは、データソースからアーカイブデータを復元し、オブジェクトストレージサービス (OSS) に移行する方法について説明します。
Alibaba Cloud OSS
OSS は、アーカイブファイルを復元するための ossutil というツールを提供しています。このツールを使用すると、プレフィックスを指定して、名前がそのプレフィックスで始まるオブジェクトを復元できます。次の例は、ossutil ツールを使用してアーカイブファイルを復元する方法を示しています。例で使用されているオペレーティングシステムは Linux です。
- お使いのオペレーティングシステムに基づいて ossutil ツールをダウンロードしてインストールします。実行権限を設定します。詳細については、ossutil のインストールを参照してください。
- Linux では、./ossutil restore oss://bucket/path -r ./config.xml コマンドを実行して、指定されたプレフィックスで始まる名前のアーカイブオブジェクトを復元します。
- -r はプレフィックスを指定します。バケット内のプレフィックスで始まる名前のすべてのアーカイブオブジェクトが復元されます。
- config.xml はローカルの XML ファイルで、アーカイブオブジェクトの復元に使用されるパラメーターが含まれています。次のサンプルコードは例を示しています。
<RestoreRequest> <Days>3</Days> <JobParameters> <Tier>Bulk</Tier> </JobParameters> </RestoreRequest>次の表は、パラメーターについて説明しています。
パラメーター 説明 Days 復元されたオブジェクトが復元状態を維持する日数を指定します。有効な値の範囲は 1 ~ 7 です。 Tier アーカイブオブジェクトの復元モードを指定します。有効な値:Expedited、Standard、Bulk。 - Expedited:オブジェクトは 1 時間以内に復元されます。
- Standard:オブジェクトは 2 ~ 5 時間で復元されます。
- Bulk:オブジェクトは 5 ~ 12 時間で復元されます。
重要 データの復元には料金が発生します。詳細については、データ処理料金を参照してください。
復元されたオブジェクトの詳細については、復元を参照してください。
- データが復元されたら、データを OSS に移行します。詳細については、Alibaba Cloud OSS バケット間でのデータの移行を参照してください。
AWS S3
- S3cmd ツールは、1 秒あたり約 100 ファイルを復元できます。100,000 ファイル未満を復元する必要があるシナリオに適しています。
- 100,000 ファイルを超えるファイルを復元する場合は、バッチ操作機能を使用することをお勧めします。この機能を使用すると、数億、数千万、さらには数十億のファイルを簡素化された方法で復元できます。この機能を使用するには、AWS コンソールで設定する必要があります。
S3cmd ツールを使用してファイルを復元するには、次の手順を実行します。
- pip install s3cmd コマンドを実行して、S3cmd ツールをインストールします。
- CLI を使用して AccessKey ID と AccessKey シークレットを設定します。s3cmd -configure コマンドを実行して、アクセスキーペアを設定します。
- s3cmd restore -D 10 -priority='standard' s3://bucket/object コマンドを実行して、指定されたバケット内のファイルを復元します。
- -D は、復元されたファイルが復元状態を維持する日数を指定します。このパラメーターを空のままにすると、デフォルト値の 1 が使用されます。この例では、-D は 10 に設定されています。
- -priority は復元の優先度を指定します。有効な値:bulk、standard、expedited。この例では、-priority は standard に設定されています。
アーカイブファイルの復元に課金される料金は、復元の優先度によって異なります。詳細については、AWS S3 ドキュメントの課金に関するトピックを参照してください。
- データが復元されたら、データを OSS に移行します。詳細については、Amazon S3 から OSS へのデータの移行を参照してください。
- ロールを作成し、そのロールにバケットに対するフルパーミッションを付与します。
- AWS コンソールにログインし、Identity and Access Management (IAM) コンソールに移動します。左側のナビゲーションペインで、ロールをクリックします。次に、ロールの作成をクリックします。
- 信頼ステップで、ロールタイプの選択セクションで を選択し、ユースケースの選択セクションでS3 バッチ操作 を選択して、次へ:パーミッションをクリックします。
- パーミッションステップで、キーワード S3 を使用して S3 に関連するパーミッションポリシーを検索します。検索結果で、AmazonS3FullAccess を選択します。次に、次へ:タグをクリックします。
- 必要に応じてタグを追加し、次へ:確認をクリックします。
- 確認ステップで、ロール名とロールの説明を指定し、ロールの作成をクリックします。
- インベントリアイテムを使用して、アーカイブファイルを復元するジョブを作成します。
- バケットの詳細ページで、 をクリックします。管理タブで、インベントリをクリックします。
- インベントリサブタブで、ジョブの作成に使用するインベントリアイテムを選択し、マニフェストからジョブを作成をクリックします。重要 インベントリアイテムを設定した後にレポートが生成されない場合、バッチ操作機能は使用できません。
- リージョンを選択セクションとマニフェストを選択セクションでパラメーターを設定し、次へをクリックします。
- 操作として復元を選択します。復元されたオブジェクトが復元状態を維持する日数を入力します。一括取得または標準取得を選択します。標準取得と一括取得の唯一の違いは、標準取得の方が同じ量のデータを復元するのにかかる時間が短いため、標準取得を選択することをお勧めします。次に、次へをクリックします。移行するデータ量に基づいて、復元されたオブジェクトが復元状態を維持する日数を指定します。これにより、移行中に復元されたデータが使用できなくなるのを防ぎます。
- 残りの設定を完了し、次へをクリックします。説明と優先度はデフォルト設定のままにし、移行完了後に生成されるレポートを保存するパスを指定し、作成した IAM ロールを選択して、タグを追加するか、タグを空のままにします。
- 情報を確認したら、ジョブの作成をクリックします。
- バッチ操作ジョブのリストが表示されているページにリダイレクトされます。ジョブが確認待ち状態の場合は、ジョブを選択し、確認して実行をクリックします。完了状態は、すべてのファイルが復元されたことを示すものではありません。標準取得には 5 ~ 12 時間かかります。ファイルが復元される時間を推定できます。また、各ファイルの詳細を表示して、ファイルが復元されているかどうかを確認することもできます。詳細については、AWS S3 ドキュメントのバッチ復元に関連するトピックを参照してください。
- データが復元されたら、データを OSS に移行します。詳細については、Amazon S3 から OSS へのデータの移行を参照してください。
Azure Blob
Azure Blob では、BLOB プロパティを変更して、コンソールでアクセス層を変更し、アーカイブファイルを復元できます。バッチ復元がサポートされています。アーカイブ BLOB を復元するには、次の手順を実行します。
- 復元する BLOB を見つけ、BLOB に対応する詳細アイコンをクリックします。層の変更をクリックします。次に、アクセス層パラメーターを Cool に設定します。復元には数時間かかる場合があります。詳細については、Azure Blob ドキュメントのデータの復元に関連するトピックを参照してください。復元の優先度は、高または標準に設定できます。BLOB アクセス層を設定するときに、x-ms-rehydrate-priority プロパティを使用して復元の優先度を指定できます。
- 標準:復元リクエストは受信された順に処理され、最大 15 時間かかる場合があります。
- 高:高リクエストは標準リクエストよりも優先度が高くなります。10 GB 未満のオブジェクトのリクエストは 1 時間以内に完了します。
説明 アーカイブ BLOB を復元したくない場合は、代わりに BLOB をコピーできます。ホットアクセス層で BLOB が作成されると、元の BLOB はアーカイブ状態のままになります。作成された BLOB から OSS にデータを移行できます。復元リクエストが開始されると、リクエストをキャンセルすることはできません。復元プロセス中、x-ms-access-tier BLOB プロパティは、復元が完了するまで archive として表示され続けます。復元プロセスの状態と進捗状況を確認するには、Get Blob Properties 操作を呼び出して、x-ms-archive-status および x-ms-rehydrate-priority BLOB プロパティを確認します。
- データが復元されたら、データを OSS に移行します。詳細については、Azure Blob から OSS へのデータの移行を参照してください。
GCP
Google Cloud Platform (GCP) は、アーカイブデータを復元するための gsutil というツールを提供しています。このツールを使用すると、指定されたファイルのストレージクラスを変更してファイルを復元できます。このツールはバッチ復元をサポートしていません。gsutil ツールを使用してアーカイブファイルを復元するには、次の手順を実行します。
- gsutil ツールをダウンロードしてインストールします。次に、身元を確認します。
- gsutil rewrite -s STORAGE_CLASS gs://PATH_TO_OBJECT コマンドを実行して、指定されたオブジェクトを復元します。詳細については、GCP ドキュメントのデータの復元に関連するトピックを参照してください。
- STORAGE_CLASS は、オブジェクトを復元するストレージクラスを指定します(nearline など)。
- PATH_TO_OBJECT は、復元するオブジェクトの名前を指定します(pets/dog.png など)。
- データが復元されたら、データを OSS に移行します。詳細については、GCP から OSS へのデータの移行を参照してください。
Tencent Cloud COS
Tencent Cloud Object Storage (COS) は、アーカイブファイルを復元するための coscmd というツールを提供しています。このツールはバッチ復元をサポートしています。coscmd ツールを使用してファイルを復元するには、次の手順を実行します。
- pip install coscmd コマンドを実行して、coscmd ツールをインストールします。
- CLI でcoscmd config -a ak -s sk -b bucket -r region コマンドを実行して、AccessKey ペア、バケット、およびリージョンを設定します。
- coscmd restore -r -d 10 -t Expedited examplefolder/ コマンドを実行して、指定されたバケット内のファイルを復元します。
- -d は、復元されたファイルが復元状態を維持する日数を指定します。このパラメーターを空のままにすると、デフォルト値の 7 が使用されます。この例では、-d は 10 に設定されています。
- -t は復元の優先度を指定します。有効な値:Expedited、Standard、Bulk。デフォルト値は Standard です。この例では、-t は Expedited に設定されています。
アーカイブファイルの復元に課金される料金は、復元の優先度によって異なります。詳細については、COS ドキュメントのデータの復元に関連するトピックを参照してください。
- データが復元されたら、データを OSS に移行します。詳細については、COS から OSS へのデータの移行を参照してください。
Huawei Cloud OBS
HUAWEI CLOUD Object Storage Service (OBS) は、アーカイブファイルを復元するための obsutil というツールを提供しています。このツールはバッチ復元をサポートしています。obsutil ツールを使用してファイルを復元するには、次の手順を実行します。
- obsutil ツールをダウンロードします。
- obsutil ツールのインストールファイルを解凍し、このツールを実行します。
- Windows の場合、obsutil ツールのインストールファイルを解凍し、obsutil.exe をダブルクリックします。
- Linux または macOS の場合、tar -xzvf コマンドを実行して obsutil ツールのインストールファイルを解凍し、ファイルが解凍されたディレクトリに移動して、chmod 755 obsutil コマンドを実行してツールに実行権限を付与します。
- 対応するコマンドを実行して、指定されたバケット内のファイルを復元します。コマンドでバケット名を指定すると、バケット内のすべてのアーカイブファイルが復元されます。詳細については、HUAWEI CLOUD OBS ドキュメントのデータの復元に関連するトピックを参照してください。
Windows の場合、obsutil restore obs://bucket-test/key -r -f -i ak -k sk -e endpoint コマンドを実行します。Linux または macOS の場合、./obsutil restore obs://bucket-test/key -r -f -i ak -k sk -e endpoint コマンドを実行します。
- -r:同時に復元するアーカイブオブジェクトの名前のプレフィックスを指定します。
- -f:確認メッセージを表示せずにオブジェクトを強制的に復元することを指定します。このパラメーターはオプションです。
- -v:同時に復元するアーカイブオブジェクトの名前のプレフィックスを指定します。バージョニング機能は、これらのアーカイブオブジェクトに実装されています。このパラメーターはオプションです。
- -j:同時に復元されるアーカイブオブジェクトの最大数を指定します。このパラメーターはオプションです。
- -d:復元されたファイルが復元状態を維持する日数を指定します。このパラメーターは必須です。このパラメーターを空のままにすると、デフォルト値の 1 が使用されます。有効な値の範囲は 0 ~ 30 です。この例では、-d は 10 に設定されています。
- -t:復元の優先度を指定します。有効な値:bulk および standard。指定された値が expedited の場合、オブジェクトは 1 ~ 5 分で復元されます。指定された値が standard の場合、オブジェクトは 3 ~ 5 時間で復元されます。デフォルト値は expedited です。この例では、デフォルト値が使用されます。
- データが復元されたら、データを OSS に移行します。詳細については、HUAWEI CLOUD OBS から OSS へのデータの移行を参照してください。
Baidu Cloud BOS
Baidu Object Storage (BOS) は、指定されたアーカイブファイルを復元するために呼び出すことができる RestoreObject API 操作を提供しています。この API 操作を使用して複数のファイルを同時に復元することはできません。指定されたファイルを復元するには、次の手順を実行します。
- RestoreObject API 操作を呼び出して、指定されたファイルを復元します。詳細については、BOS ドキュメントの RestoreObject API 操作について説明しているトピックを参照してください。
リクエストの例
x-bce-restore-days パラメーターは、復元されたファイルが復元状態を維持する日数を指定します。デフォルト値は 7 です。有効な値の範囲は 0 ~ 30 です。x-bce-restore-tier パラメーターは復元の優先度を指定します。有効な値は Expedited および Standard です。POST /ObjectName?restore HTTP/1.1 Host: <BucketName>.bj.bcebos.com Date: <Date> Content-Length: 0 Authorization: <Authorization_String> x-bce-restore-tier:Expedited/Standard x-bce-restore-days:3レスポンスの例HTTP/1.1 200 OK x-bce-request-id: 4db4b34d-653d-4d9a-b49b-3049ca786409 Date: Wed, 31 May 2018 08:34:40 GMT Server: BceBos - データが復元されたら、データを OSS に移行します。詳細については、BOS から OSS へのデータの移行を参照してください。
Kingsoft Cloud KS3
Kingsoft Standard Storage Service (KS3) は、指定されたファイルを復元するために呼び出すことができる RestoreObject API 操作を提供しています。この API 操作を使用して複数のファイルを同時に復元することはできません。指定されたファイルを復元するには、次の手順を実行します。
- RestoreObject API 操作を呼び出して、指定されたファイルを復元します。リクエストの例
POST /{ObjectKey}?restore HTTP/1.1 Host: {BucketName}.{endpoint} Date: {date} Authorization: {SignatureValue}説明- デフォルトでは、復元されたオブジェクトは 24 時間復元状態を維持します。オブジェクトが再アーカイブされる前に、RestoreObject を再度呼び出して、オブジェクトが復元状態を維持する時間を 24 時間延長できます。同じオブジェクトに対して、RestoreObject を最大 7 回呼び出すことができます。このようにして、復元されたオブジェクトは最大 7 日間復元状態を維持できます。
- RestoreObject を初めて呼び出してアーカイブオブジェクトを復元すると、ステータスコード 202 が返されます。オブジェクトが復元されているときに RestoreObject を呼び出してオブジェクトを再度復元すると、ステータスコード 409 とエラーメッセージ RestoreAlreadyInProgress が返されます。エラーメッセージは、復元リクエストが進行中であることを示しています。オブジェクトが復元されるまで最大 10 分待つ必要があります。オブジェクトが復元状態のときに API 操作を呼び出してオブジェクトを再度復元すると、ステータスコード 200 が返され、オブジェクトはさらに 24 時間復元状態を維持できます。
- アーカイブファイルを復元すると料金が発生します。RestoreObject を呼び出すたびに、復元を完了するために行われたリクエストに対して課金されます。課金の詳細については、KS3 ドキュメントのデータの復元に関連するトピックを参照してください。
レスポンスの例HTTP/1.1 200 OK Server: Tengine Date: Fri, 26 Dec 2018 06:40:02 GMT Content-Length: 0 Connection: keep-alive X-Application-Context: application x-kss-request-id: 1d147c34a9d542aa8dc7f0f70d3db893 x-kss-storage-class: ARCHIVE - データが復元されたら、データを OSS に移行します。詳細については、KS3 から OSS へのデータの移行を参照してください。
Qiniu Cloud KODO
Qiniu Cloud は、アーカイブファイルを同時に復元するために呼び出すことができる API 操作を提供しています。次の操作を実行できます。
- API 操作を呼び出して、アーカイブファイルを同時に復元します。詳細については、Qiniu Cloud-Object Storage ドキュメントのデータの復元に関連するトピックを参照してください。
リクエストの例
EncodedEntryURI は、<Bucket>:<Key>形式の Base64 エンコードされたアドレスを指定します。FreezeAfterDays は、復元されたファイルが復元状態を維持する日数を指定します。有効な値の範囲は 1 ~ 7 です。POST /batch HTTP/1.1 Host: rs.qbox.me Content-Type: application/x-www-form-urlencoded Authorization: Qiniu <AccessToken> op=/restoreAr/<EncodedEntryURI>/freezeAfterDays/<FreezeAfterDays>&op=/restoreAr/<EncodedEntryURI>/freezeAfterDays/<FreezeAfterDays>&...レスポンスの例HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store - データが復元されたら、データを OSS に移行します。詳細については、Qiniu Cloud-Object Storage からOSS へのデータの移行を参照してください。
Ucloud US3
Ucloud US3 は、ファイルを復元するための us3cli というツールを提供しています。このツールはバッチ復元をサポートしています。us3cli ツールを使用してファイルを復元するには、次の手順を実行します。
- us3cli ツールをダウンロードしてインストールし、ツールに実行権限を付与します。
- CLI で./us3cli config config1 --accesskey ak --secretkey --endpoint endpoint コマンドを実行して、AccessKey ペアとエンドポイントを設定します。
- ./us3cli restore us3://bucket/dir -r --parallel 30 コマンドを実行して、指定されたバケット内のファイルを復元し、同時に復元するファイルの数を指定します。詳細については、US3 ドキュメントの「よく使用されるコマンド」トピックにある restore コマンドの説明を参照してください。
- -r は再帰フォルダーを指定します。このフォルダー内のすべてのファイル(サブフォルダー内のファイルを含む)が復元されます。
- --parallel は、同時に復元されるオブジェクトの数を指定します。デフォルト値は 10 です。この例では、--parallel は 30 に設定されています。
- データが復元されたら、データを OSS に移行します。詳細については、Ucloud US3 から OSS へのデータの移行を参照してください。