お疲れ様です。
今回は、 AWS CLI を使用した S3バケットのライフサイクルルールの設定をやってみました。
S3 ライフサイクルとは
オブジェクトがライフサイクルを通じてコスト効率の高い方法で保存されるように管理するには、Amazon S3 ライフサイクルを設定します。S3 ライフサイクル設定は、Amazon S3 がオブジェクトのグループに適用するアクションを定義するルールのセットです。
引用 AWS公式サイト
【put-bucket-lifecycle-configuration】コマンドを使用して、マルチアップロードを中止するライフサイクル設定をしていきたいと思います。
1. IAMポリシー作成
ライフサイクル設定コマンド実行に必要なIAMポリシーを作成して、IAMユーザーやIAMロールに付与します
ポリシーの例
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:PutLifecycleConfiguration",
"Resource": "arn:aws:s3:::バケット名"
}
]
}
2. JSON ファイル作成
マルチアップロード中止のルールを記載した Json ファイル作成します
Jsonファイルの例
{
"Rules": [
{
"ID": "AbortIncompleteMultipartUpload",
"Status": "Enabled",
"Filter": {
"Prefix": ""
},
"AbortIncompleteMultipartUpload": {
"DaysAfterInitiation": 7
}
}
]
}
3. ライフサイクル設定コマンド実行
ライフサイクル設定するコマンドを実行します
aws s3api put-bucket-lifecycle-configuration --bucket 【バケット名】 --lifecycle-configuration file://【Jsonファイルを格納しているパスを指定】
コマンド実行
マルチアップロード中止のライフサイクルルールが作成されました。
さいごに
複数のS3バケットに同様のライフサイクルルールを設定する場合などは、マネジメントコンソールで設定するよりも AWS CLI を使用して設定する方法がオススメです。