すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:バージョン管理が有効なバケットの最終変更時刻に基づいてライフサイクルルールを設定し、ストレージコストを削減

最終更新日:May 20, 2024

Object Storage Service (OSS) は、上書きまたは削除されたデータを、バージョン管理が有効なバケットに以前のバージョンとして保存します。 ストレージコストを削減し、オブジェクトリストのパフォーマンスを向上させるために、ライフサイクルルールを設定して、期限切れの削除マーカーと不要になった以前のバージョンを削除できます。

前提条件

バケットのバージョン管理が有効になっています。 詳細については、「バージョン管理の有効化」をご参照ください。

シナリオ

たとえば、次の図に示すように、ユーザーが2020年2月8日にバージョン管理が有効なexamplebucketバケットにexample.txtファイルをアップロードしたとします。 OSSは、上書き操作または削除操作ごとにグローバルに一意のバージョンIDを生成し、上書きおよび削除されたデータを以前のバージョンとしてバケットに保存しました。 次の図のバージョンIDは実際のバージョンIDではなく、読みやすくするために簡単な形式で提供されています。versioning

ビジネス要件を満たすために、ユーザーはexample.txtオブジェクトのバージョンを管理して次の目標を達成したいと考えています。

  • 2020年5月8日および2020年9月10日に生成されたバージョンのみを保持します。

  • 2020、5月8日に生成された最新の以前のバージョンを現在のバージョンに復元します。

使用上の注意

ライフサイクルルールを設定してオブジェクトのバージョンを管理する場合は、次の項目に注意してください。

  • オブジェクトの現在のバージョンの有効期限ポリシー

    • バージョン管理が有効なバケットで、ライフサイクルルールで指定された有効期限ポリシーがオブジェクトの現在のバージョンに実装されている場合、OSSはオブジェクトに削除マーカーを追加し、現在のバージョンを以前のバージョンとして保存します。 削除マーカーがオブジェクトの現在のバージョンになります。

    • バージョン管理が一時停止されたバケットで、ライフサイクルルールで指定された有効期限ポリシーがオブジェクトの現在のバージョンに実装されている場合、OSSは、バージョンIDがnullの削除マーカーを新しい現在のバージョンとしてオブジェクトに追加します。 オブジェクトにバージョンIDがnullの既存のバージョンがある場合、オブジェクトはバージョンIDがnullのバージョンを1つしか持つことができないため、既存のバージョンは削除マーカーで上書きされます。

  • 以前のバージョンのオブジェクトの有効期限ポリシー

    バージョン管理が有効または一時停止されているバケットでは、ライフサイクルで指定された有効期限ポリシーが以前のバージョンのオブジェクトに実装されている場合、以前のバージョンは完全に削除され、復元できません。

ライフサイクルルールの詳細については、「最終変更時刻に基づくライフサイクルルール」をご参照ください。

手順

  1. 指定したオブジェクトバージョンを保持する

    現在の日付が2020年9月10日であると仮定する。 この場合、ユーザーは次の手順を実行して、2020年5月8日および2020年9月10日にアップロードされたバージョンのみを保持するようにライフサイクルルールを設定できます。

    1. にログインします。OSSコンソール.

    2. 左側のナビゲーションウィンドウで、バケットリスト をクリックします。 [バケット] ページで、[examplebucket] をクリックします。

    3. 左側のナビゲーションツリーで、データ管理 > ライフサイクル を選択します。

    4. ライフサイクルページで、ルールの作成 をクリックします。 [ルールの作成] パネルで、次の表に示すパラメーターを設定し、他のパラメーターのデフォルト設定を保持します。

      セクション

      パラメーター

      説明

      基本設定

      ステータス

      [Enabled] を選択します。

      ポリシー

      バケット全体に適用 を選択します。

      現在のバージョンのポリシー

      ファイル時間ポリシー

      [削除マーカー] を選択します。

      以前のバージョンに対するポリシー

      ファイル時間ポリシー

      [有効期間 (日)] を選択します。

      ライフサイクルベースのルール

      テキストボックスに90と入力します。 オブジェクトバージョンは、以前のバージョンとして保存されてから90日後に期限切れになり、期限切れの翌日に削除されます。

      フラグメントに対するポリシー

      フラグメント期限切れポリシー

      [有効期間 (日)] を選択します。

      フラグメントに対するルール

      テキストボックスに90と入力します。 マルチパートアップロードタスクで生成されたパーツは、生成されてから90日後に期限切れになり、その翌日に削除されます。

    5. OK をクリックします。

  2. 特定のオブジェクトバージョンを復元する

    5月8日に生成された以前のバージョンを現在のバージョンに復元するには、次の手順を実行します。

    1. examplebucketバケットの左側のナビゲーションツリーで、ファイル > オブジェクト を選択します。

    2. オブジェクトリストの右上隅にある、[以前のバージョン] の横にある [表示] をクリックします。

    3. [オブジェクト] ページで、現在のバージョンに復元するオブジェクトのバージョンを見つけます。

    4. [操作] 列の 回復 をクリックします。

参考資料

API操作を呼び出してオブジェクトを復元できます。 以前のバージョンのオブジェクトを現在のバージョンに復元するには、以前のバージョンのオブジェクトを、そのオブジェクトが格納されているバケットにコピーします。 OSSは、オブジェクトの以前のバージョンを現在のバージョンとして保存します。 詳細については、「CopyObject」をご参照ください。