はじめに
ICOS(IBM Cloud Object Storage)には以下のLifeCycle管理機能(Archive policy, Expiration rule, Retention policy)が存在しています。本記事ではそれらを紹介したいと思います。
Archive policy
一定の期間を経たあと、Standard/Vault/Cold Vault/FlexからArchiveにobjectを移動する機能です。
https://cloud.ibm.com/docs/services/cloud-object-storage?topic=cloud-object-storage-archive
- Archive classに移行することにより、大幅に価格を抑えることができます。(参考:価格表)
- 新規にuploadしたobjectをただちにArchiveに移動したい場合は、archive policyとして
0 days
を指定してください。 - Archive policyを設定した後は、新規に追加、変更されたobjectに対して有効になります。Archive policy設定前のobjectに対しては有効になりません。(
A newly added or modified archive policy applies to new objects uploaded and does not affect existing objects.
) - Archive Classは
minimum duration charge
として90日が設定されているということです。つまり、30日とか60日とかで削除したとしても、最低90日分の課金が発生することにご注意ください。 - Archive Classからのリストアは、いったん元のClassに移す必要があります。これには時間を要します(
The restoration process can take up to 12 hours.
)。
Expiration rule
一定期間を経過したobjectを削除する機能です。
https://cloud.ibm.com/docs/services/cloud-object-storage?topic=cloud-object-storage-expiry
- 設定変更は既存および新規のobjectに反映されます。設定変更が反映されるまでに最大で24時間要します(どうやら1日1回評価されているようです)。
- 削除対象のobjectを指定するのに、prefix(
log/
とかimages/
とか)が利用可能です。 - 有効期限日は、切り上げられて翌日の00:00 UTCに設定されます。例えば、retention policy=10日に設定されているbucketにおいて、
4月15日 05:10 UTC
に作成されたobjectは、4月26日 00:00 UTC
に有効期限が来ます。 - 有効期限が来たobjectは直ちに削除されるわけではなく、そこから24時間以内に削除されるようです(
The deletion of expired objects begins the following day and will typically take less than 24 hours.
)
Retention policy(Immutable objects)
一度設定したら、指定した期間の間は絶対に削除できなくなる機能です。
https://cloud.ibm.com/docs/services/cloud-object-storage?topic=cloud-object-storage-immutable
- 設定するためには、bucketの中身は空である必要があります。
- 特に何も指定しなければ、
Default retention period
が設定されます。Minimum retention period
とMaximum retention period
の間であれば、Objectをuploadする際に期間を指定できます。これらのretention periodは後から変更可能であり、最大で1000年
を指定することができます。 - Retention policyが設定されているbucketにはAsperaを使ってObjectをuploadすることはできません。
- Permanent retentionというpolicyも設定できますが、これを使うと永久にobjectおよびbucketを消せなくなるので、利用には慎重になった方がよいと思います。