Amazon S3 ライフサイクル設定ルールで GLACIER ストレージクラスにオブジェクトが移行されないのはなぜですか?
最終更新日: 2020 年 12 月 23 日
オブジェクトを GLACIER ストレージクラスに移行する Amazon Simple Storage Service (Amazon S3) ライフサイクル設定ルールを S3 バケットに設定しました。しかし、バケットを確認しても、オブジェクトのストレージクラスは変更されません。遅延の原因は何ですか?
解決方法
以下の理由により、オブジェクトを GLACIER ストレージクラスに移行するまでに遅延が生じる場合があります。
- オブジェクトが STANDARD_IA ストレージクラス, にある場合、オブジェクトは GLACIER に移行する前に、少なくとも 30 日間 STANDARD_IA に保存されている必要があります。ルールがストレージクラスを移行したことを確認する前に、オブジェクトが STANDARD_IA に少なくとも 30 日間保存されていることを確認します。
- Amazon S3 ライフサイクル設定ルールは 1 日 1 回、午前 0 時 (UTC) に実行されます。ルールがストレージクラスを移行したことを確認する前に、タイムゾーンの午前 0 時 (UTC) 以降であることを確認します。
- バケット内のオブジェクトの合計数は、ストレージクラスの変更を確認するのにかかる時間に影響します。バケットに多数のオブジェクトが含まれている場合、ストレージクラスの変更を確認するのに時間がかかることがあります。
注: オブジェクトが別のストレージクラスに移行可能になった後は、 新しいストレージクラスの料金に基づいて課金されます。
ユースケースで予想される待機時間の後、list-objects-v2 コマンドを実行することで、ストレージクラスの変更を確認できます。
aws s3api list-objects-v2 --bucket awsexamplebucket --prefix prefixname/ --query 'Contents[?StorageClass==`GLACIER`&&ends_with(Key, `/`) == `false`].[Key]' --output text | while read line1; do printf '\n'$line1'\n'; aws s3api head-object --bucket awsexamplebucket --key $line1 --query '[Restore]' --output text; done
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。