3.3.15. S3 bucket lifecycle
バケットのライフサイクル設定を使用してオブジェクトを管理し、そのオブジェクトが有効期間中効果的に保存されるようにすることができます。Ceph Object Gateway の S3 API は、AWS バケットライフサイクルアクションのサブセットをサポートします。
-
Expiration: これはバケット内のオブジェクトの有効期間を定義します。オブジェクトが存続する日数または有効期限がかかり、その時点で Ceph Object Gateway がオブジェクトを削除します。バケットがバージョン管理を有効にしない場合、Ceph Object Gateway はオブジェクトを永続的に削除します。バケットがバージョン管理を有効化する場合、Ceph Object Gateway は現行バージョンの削除マーカーを作成し、現行バージョンを削除します。 -
NoncurrentVersionExpiration: これはバケット内にある非現行オブジェクトバージョンのライフサイクルを定義します。この機能を使用するには、バケットのバージョン管理を有効にする必要があります。非現行オブジェクトが存続する日数が指定され、その期間が経過すると Ceph Object Gateway は非現行オブジェクトを削除します。 -
NewerNoncurrentVersions: 保持する非現行オブジェクトバージョンの数を指定します。保持する非現行バージョンを最大 100 個まで指定できます。指定した保持数が 100 を超える場合、追加の非現行バージョンが削除されます。 -
AbortIncompleteMultipartUpload: これは、非完全なマルチパートアップロードが中止されるまでの日数を定義します。 -
BlockPublicPolicy reject: パブリックアクセスをブロックするためのアクションです。指定された (アクセスポイントまたは基盤となるバケットの) ポリシーがパブリックアクセスを許可する場合、アクセスポイントを介して作成される PUT アクセスポイントポリシーと PUT バケットポリシーを呼び出します。Amazon S3 Block Public Access 機能は、Red Hat Ceph Storage 5.x/Ceph Pacific バージョンで利用できます。これは、Amazon S3 リソースへのパブリックアクセスを管理するために使用できるアクセスポイント、バケット、アカウントの設定を提供します。デフォルトでは、新しいバケット、アクセスポイント、およびオブジェクトはパブリックアクセスを許可しません。ただし、バケットポリシー、アクセスポイントポリシー、またはオブジェクト権限を変更して、パブリックアクセスを許可できます。S3 Block Public Access の設定は、これらのポリシーと権限をオーバーライドするため、リソースへのパブリックアクセスを制限できます。
ライフサイクル設定には、<Rule> 要素を使用した 1 つ以上のルールが含まれます。
例
<LifecycleConfiguration>
<Rule>
<Prefix/>
<Status>Enabled</Status>
<Expiration>
<Days>10</Days>
</Expiration>
</Rule>
</LifecycleConfiguration>
ライフサイクルルールは、ライフサイクルルールに指定する <Filter> 要素に基づいてバケットの全オブジェクトまたはサブセットに適用できます。フィルターは複数の方法を指定できます。
- キーの接頭辞
- オブジェクトタグ
- キー接頭辞と 1 つ以上のオブジェクトタグの両方
キーの接頭辞
ライフサイクルルールは、キー名の接頭辞に基づいてオブジェクトのサブセットに適用できます。たとえば、<keypre/> を指定すると、keypre/ で始まるオブジェクトに適用されます。
<LifecycleConfiguration>
<Rule>
<Status>Enabled</Status>
<Filter>
<Prefix>keypre/</Prefix>
</Filter>
</Rule>
</LifecycleConfiguration>
異なるキー接頭辞を持つオブジェクトに、異なるライフサイクルルールを適用することもできます。
<LifecycleConfiguration>
<Rule>
<Status>Enabled</Status>
<Filter>
<Prefix>keypre/</Prefix>
</Filter>
</Rule>
<Rule>
<Status>Enabled</Status>
<Filter>
<Prefix>mypre/</Prefix>
</Filter>
</Rule>
</LifecycleConfiguration>
オブジェクトタグ
ライフサイクルルールは、<Key> 要素および <Value> 要素を使用して、特定のタグを持つオブジェクトにのみ適用できます。
<LifecycleConfiguration>
<Rule>
<Status>Enabled</Status>
<Filter>
<Tag>
<Key>key</Key>
<Value>value</Value>
</Tag>
</Filter>
</Rule>
</LifecycleConfiguration>
接頭辞および 1 つ以上のタグの両方
ライフサイクルルールでは、キーの接頭辞と 1 つ以上のタグの両方に基づいてフィルターを指定できます。これらは <And> 要素でラップする必要があります。フィルターには 1 つの接頭辞と、ゼロまたは複数のタグのみを使用できます。
<LifecycleConfiguration>
<Rule>
<Status>Enabled</Status>
<Filter>
<And>
<Prefix>key-prefix</Prefix>
<Tag>
<Key>key1</Key>
<Value>value1</Value>
</Tag>
<Tag>
<Key>key2</Key>
<Value>value2</Value>
</Tag>
...
</And>
</Filter>
</Rule>
</LifecycleConfiguration>
関連情報
- バケットのライフサイクルを取得する方法の詳細は、Red Hat Ceph Storage 開発者ガイド の S3 GET bucket lifecycle セクションを参照してください。
- バケットライフサイクルの作成の詳細は、Red Hat Ceph Storage 開発者ガイド の S3 バケットライフサイクルの作成または置換 セクションを参照してください。
- バケットライフサイクルの削除の詳細は、Red Hat Ceph Storage 開発者ガイド の S3 バケットライフサイクルの削除 セクションを参照してください。