Automatic Object Expiration
Each procedure on this page creates a new object lifecycle management rule that expires objects on an AIStor bucket. This procedure supports use cases like removing “old” objects after a certain time period or calendar date.
Requirements
Install and configure AIStor Client
This procedure uses the AIStor Client (mc
) for performing operations on the AIStor cluster.
Install mc
on a machine with network access to both source and destination clusters.
See the mc
Installation Quickstart for instructions on downloading and installing mc
.
Use the mc alias set
command to create an alias for the source AIStor cluster and the destination S3-compatible service.
Alias creation requires specifying an access key for a user on the source and destination clusters.
The specified users must have permissions for configuring and applying expiry operations.
Required permissions
AIStor requires the following permissions scoped to the bucket or buckets for which you are creating lifecycle management rules.
AIStor also requires the following administrative permissions on the cluster in which you are creating remote tiers for object transition lifecycle management rules:
For example, the following policy provides permission for configuring object transition lifecycle management rules on any bucket in the cluster:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"admin:SetTier",
"admin:ListTier"
],
"Effect": "Allow",
"Sid": "EnableRemoteTierManagement"
},
{
"Action": [
"s3:PutLifecycleConfiguration",
"s3:GetLifecycleConfiguration"
],
"Resource": [
"arn:aws:s3:::*"
],
"Effect": "Allow",
"Sid": "EnableLifecycleManagementRules"
}
]
}
Expire objects after number of days
Use mc ilm rule add
with --expire-days
to expire bucket contents a number of days after object creation:
mc ilm rule add ALIAS/PATH --expire-days "DAYS"
- Replace
ALIAS
with thealias
of the S3-compatible host. - Replace
PATH
with the path to the bucket on the S3-compatible host. - Replace
DAYS
with the number of days after which to expire the object. For example, specify30
to expire the object 30 days after creation.
Expire versioned objects
Use mc ilm rule add
to expiring noncurrent object versions and object delete markers:
- To expire noncurrent object versions after a specific duration in days, include
--noncurrent-expire-days
. - To expire delete markers for objects with no remaining versions, include
--expire-delete-marker
.
mc ilm rule add ALIAS/PATH \
--noncurrent-expire-days NONCURRENT_DAYS \
--expire-delete-marker
-
To expire all versions of an object, include
--purge-all-object-versions-days
. This expiration only applies to objects without aDeleteMarker
as the latest or current version.mc ilm rule add ALIAS/PATH \ --purge-all-object-versions-days
To expire delete markers, include
--purge-all-object-versions-delete-marker
. -
Replace
PATH
with the path to the bucket on the S3-compatible host. -
Replace
NONCURRENT_DAYS
with the number of days after which to expire noncurrent object versions. For example, specify30d
to expire a version after it has been noncurrent for at least 30 days.