Object Storage Service (OSS) バケット内のオブジェクトの最終アクセス時刻に基づいてライフサイクルルールを設定できます。 このようなライフサイクルルールを設定すると、OSSはバケット内のオブジェクトのアクセスパターンを監視し、アクセスパターンに基づいてコールドデータを識別し、階層データストレージとストレージコストの削減のために指定されたストレージクラスにコールドデータを自動的に移動します。
シナリオ
マルチメディア
Webサイトのビデオと画像をOSSバケットに保存した後、時間の経過とともに一部のデータにアクセスする頻度が低くなる場合があります。 アクセス頻度が低いデータの場合は、ストレージクラスを低頻度アクセス (IA) に変換する必要があります。 かなり前にアップロードされたが、それでも頻繁にアクセスされるデータについては、標準ストレージクラスを保持する必要があります。 バケット内のオブジェクトの最終アクセス時刻に基づいて、バケットのライフサイクルルールを設定できます。 このように、コールドデータとホットデータは異なるストレージクラスを使用して格納され、ストレージコストが削減されます。
アルバムまたはネットワークディスク
バケットを使用して、フォトアルバムを保存したり、他のデータのネットワークディスクとして機能したりできます。 アクセス頻度の低いデータのストレージコストを削減しながら、データへのリアルタイムアクセスを維持したい場合は、ライフサイクルルールを設定して、最後のアクセス時刻から指定した日数後にデータを低頻度アクセス (IA) ストレージクラスに自動的に移動できます。
ライフサイエンス
大量のデータが遺伝子配列決定において生成される。 多くの場合、データが頻繁にアクセスされるかどうかは、データの最終変更時刻ではなく、最終アクセス時刻に基づいて判断される。 ログ分析またはその他の方法に基づいて、コールドデータとホットデータの階層化ストレージを手動で実装できます。 階層ストレージのより効率的な方法は、最終アクセス時間に基づくライフサイクルルールを使用することです。これにより、OSSはコールドデータとホットデータを自動的に識別し、適切なストレージクラスにデータを保存できます。 同じライフサイクルルールで、最終アクセス時刻と最終変更時刻に基づいてポリシーを指定し、データをより柔軟に管理することもできます。
制限事項
データ削除
最終アクセス時刻に基づくライフサイクルルールを使用してデータを削除することはできません。
マッチ条件
現在、ライフサイクルルールはプレフィックスとタグに基づく照合のみをサポートしています。 ワイルドカードマッチング、サフィックスマッチング、および正規表現マッチングはサポートされていません。
部品の有効期限
名前が重複するプレフィックスを含むオブジェクトに対して、部品ライフサイクルポリシーを含む2つ以上のライフサイクルルールを設定することはできません。 例:
- 例 1
バケットの部品ライフサイクルポリシーを含むライフサイクルルールを設定する場合、名前にバケット内のプレフィックスが含まれるオブジェクトの部品ライフサイクルポリシーを含む別のライフサイクルルールを設定することはできません。
- 例 2
バケット内のdir1プレフィックスを含むオブジェクトの部品ライフサイクルポリシーを含むライフサイクルルールを設定する場合、dir1/dir2など、名前に重複するプレフィックスを含むオブジェクトの部品ライフサイクルポリシーを含む別のライフサイクルルールを設定することはできません。
使用上の注意
ライフサイクルルールの数
OSSコンソールで最大100のライフサイクルルールを設定できます。 同じライフサイクルルールの最終アクセス時刻と最終変更時刻に基づいてポリシーを指定することもできます。 100を超えるライフサイクルルールを設定する場合は、OSS SDKまたはossutilを使用します。
料金
オブジェクトの監視および管理料金
バケットのアクセス追跡を有効にすると、オブジェクトのモニタリングと管理の料金が発生します。 ただし、料金は請求されません。
最小保存期間未満で保存されるIAオブジェクトのストレージ料金
IAオブジェクトの最小保存期間は30日です。 IAオブジェクトが最小保存期間未満で保存されている場合、IAオブジェクトの最小保存期間全体に対して課金されます。 次の例は、オブジェクトの最終アクセス時間に基づいてライフサイクルルールを設定するときに、IAオブジェクトがどのように課金されるかを示しています。
例1: OSSは、設定されたライフサイクルルールに基づいて、オブジェクトが作成されてから10日後に標準オブジェクトをIAオブジェクトに変換し、5日後にIAオブジェクトを標準オブジェクトに変換します。 この場合、残りの15日間も請求されます。
例2: OSSは、設定されたライフサイクルルールに基づいて、オブジェクトが作成されてから10日後に標準オブジェクトをIAオブジェクトに変換し、15日後にIAオブジェクトを削除します。 この場合、残りの5日間も請求されます。
詳細については、「ストレージ料金」をご参照ください。
IAオブジェクトの取得料金
IA オブジェクトにアクセスすると、取得した IA オブジェクトのサイズに基づいてデータ取得料金が発生します。 詳細については、「データ処理料金」をご参照ください。
API 呼び出し料金
ライフサイクルルールを使用してオブジェクトのストレージクラスを変換すると、API操作呼び出し料金が課金されます。 詳細については、「API操作呼び出し料金」をご参照ください。
上書きセマンティクス
PutBucketLifecycle操作は、バケットに設定されているライフサイクルルールの既存の設定を上書きします。 たとえば、Rule1という名前のライフサイクルルールがバケットに設定されていて、Rule1に基づいてバケットにRule2という名前のライフサイクルルールを設定する場合は、次の操作を実行します。
- GetBucketLifecycle操作を呼び出してRule1を照会します。
- Rule1に基づいてバケットのRule2を設定します。
- PutBucketLifecycle操作を呼び出して、バケットのライフサイクルルール設定を更新します。 この場合、Rule1とRule2がバケットに設定されます。
有効時間
ライフサイクルルールを設定した後、OSSは24時間以内にルールを読み込みます。 ライフサイクルルールがロードされた後、OSSは毎日08:00:00 (UTC + 8) にルールを実行します。
完了時間
タグを含まないライフサイクルルールの場合、OSSはライフサイクルルールに基づいて24時間以内に最大10億のライフサイクル管理操作 (ストレージクラスの変換や部品の有効期限など) を完了できます。 ライフサイクルルールに基づくライフサイクル管理操作の数が10億を超える場合、操作の完了に必要な時間は24時間を超える可能性があります。
タグを含むライフサイクルルールの場合、OSSは24時間以内に最大500万件のライフサイクル管理操作 (ストレージクラスの変換や部品の有効期限など) を完了できます。 ライフサイクルルールに基づくライフサイクル管理操作の数が500万を超える場合、操作の完了に必要な時間は24時間を超える可能性があります。
最終アクセス時刻を更新するためのポリシー
[ライフサイクル] ページでバケットの [アクセストラッキングの有効化] をオンにすると、バケット内のすべてのオブジェクトの最初の最終アクセス時刻が、アクセストラッキングが有効化されている時刻に設定されます。 24時間以内に同じオブジェクトにアクセスするために複数のGetObjectリクエストが送信された場合、オブジェクトの最終アクセス時間は、最初のGetObjectリクエストによってオブジェクトにアクセスされた時間に設定されます。 PutObjectやCopyObjectリクエストなどの他のリクエストがオブジェクトにアクセスするために送信された場合、オブジェクトの最終アクセス時間はリクエストごとに更新されます。
オブジェクトの最終アクセス時間を更新する操作の詳細については、「オブジェクトの最終アクセス時間を更新する操作」をご参照ください。
サポートされるストレージクラス
最終アクセス時間に基づいてライフサイクルルールを使用して、オブジェクトを標準からIAに移動し、オブジェクトにアクセスした後にオブジェクトをIAから標準に戻すかどうかを指定できます。
最終アクセス時間に基づいたライフサイクルルールを使用して、オブジェクトを標準またはIAからアーカイブ、コールドアーカイブ、ディープコールドアーカイブ、またはアーカイブからコールドアーカイブまたはディープコールドアーカイブに移動できます。 標準またはIAからアーカイブ、コールドアーカイブ、またはディープコールドアーカイブにオブジェクトを移動する場合は、 チケットを起票し、まず必要な権限を申請します。 アプリケーションが承認されたら、オブジェクトを移動するストレージクラスを指定する必要があります。
重要アプリケーションが承認された後、最終アクセス時間に基づくライフサイクルルールを使用して、オブジェクトを標準またはIAからアーカイブ、コールドアーカイブ、またはディープコールドアーカイブに移動する場合、アーカイブ、コールドアーカイブ、またはディープコールドアーカイブオブジェクトの最終アクセス時間は、バケットのアクセス追跡が有効になった時間です。
OSS-HDFSが有効になっているバケットのライフサイクルルールを設定する
OSS-HDFSが有効になっているバケット内のすべてのオブジェクトと一致するようにライフサイクルルールを設定または変更するには、NOT要素を使用してに格納されているオブジェクトを除外します。dlsdata/
ディレクトリ。 これにより、ライフサイクルルールによってトリガーされるストレージクラス変換操作が、OSS-HDFSデータに対するデータの読み取りおよび書き込み操作に影響を与えるのを防ぎます。