Skip to content

Amazon S3 バケットにライフサイクルルールを適用してから 1 日を超えても、ルールが機能していない原因を教えてください。

所要時間1分
0

Amazon Simple Storage Service (Amazon S3) バケットにライフサイクル設定ルールを設定しました。このルールでは、オブジェクトを別のストレージクラスに移行したり、オブジェクトの失効または削除を行ったりします。しかし、オブジェクトがそのルール通りに変更されませんでした。コスト管理やコンプライアンス用途で、ルールが機能しているかどうかを確認する必要があります。

解決策

Amazon S3 ライフサイクルアクションは非同期アクションです。非同期アクションでは、ライフサイクル設定ルールの失効日または移行日を過ぎているオブジェクトの削除が遅れる場合があります。ただし、ライフサイクルルールの条件を満たすと、アクションが完了していなくても、AWS は請求を変更します。

Amazon S3 ライフサイクルルールは、毎日 1 回のみ実行されます。なお、Amazon S3 はオブジェクトの移行日または失効日を翌日の午前 0 時 (UTC) に切り上げます。ライフサイクルルールが満たされたかどうかを確認する前に、十分な時間が経過していることを確認してください。十分な時間が経過してもライフサイクルルールが満たされない場合は、ライフサイクルルールのオブジェクトにプレフィックスフィルターが正しく設定されていることを確認してください。

プレフィックスフィルターにより、ライフサイクルルールの影響を受けるオブジェクトが決まります。たとえば、images/ というプレフィックスフィルターを指定した場合、ライフサイクルルールはプレフィックス images/ 以下のオブジェクトにのみ適用されます。

注: プレフィックスフィルターの最後には、/ 文字を指定する必要があります。プレフィックスフィルターの先頭に / 文字を指定すると、Amazon S3 はライフサイクルルールを正常に評価できません。

現行バージョンのオブジェクトが失効する時期は、HeadObject API、AWS コマンドラインインターフェイス (AWS CLI)、Amazon S3 コンソールのいずれかを使用して確認できます。

注: AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI でのエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

AWS CLI を使用する

次の AWS CLI コマンド head-object を実行してオブジェクトの有効期限を確認します。

aws s3api head-object --bucket bucketname --key file.txt

出力例

 {     
 "AcceptRanges": "bytes",    
 "Expiration": "expiry-date=\"Wed, 15 Mar 2023 00:00:00 GMT\", rule-id=\"MyExpirationRule\"",    
 "LastModified": "2023-02-22T17:20:34+00:00",    
 "ContentLength": 6,    
 "ETag": "\"edae42exa0d2b93b123346740107dacf\"",    
 "VersionId": "SoshCRUrlabc1v4ZzYEA123PvWcaeF6F",    
 "ContentType": "text/plain",    
 "ServerSideEncryption": "AES256",    
 "Metadata": {}    
}

応答ヘッダー Expiration には、expiry-daterule-id が含まれています。expiry-date フィールドは、Amazon S3 がオブジェクトを削除キューに入れ、非同期削除を行う日付を示します。rule-id フィールドには、オブジェクトに適用されたライフサイクルルールが表示されます。

Amazon S3 コンソールを使用する

次の手順を実行します。

  1. Amazon S3 コンソールを開きます。
  2. [バケット] リストで該当するバケットの名前を選択します。
  3. 確認するオブジェクトの名前を選択します。
  4. [プロパティ] タブを選択します。
  5. [オブジェクト管理の概要] セクションの [管理設定] で、[有効期限ルール][有効期限] フィールドを確認します。

[有効期限] フィールドは、Amazon S3 がオブジェクトを削除キューに入れ、そのオブジェクトを非同期削除する日付を示します。[有効期限ルール] フィールドは、オブジェクトに適用されたライフサイクルルールを示します。

注: 、現行バージョンのオブジェクトのみが、HEAD リクエストや GET リクエストに対して応答ヘッダー Expiration を返します。以前のバージョンと削除マーカーは、この応答ヘッダーを返しません。なお、移行の対象となるオブジェクトの移行日を確認するための特定の応答ヘッダーはありません。

関連情報

バケットで S3 ライフサイクルを設定する

ライフサイクルルールによって実行されたアクションを監視する方法を教えてください

AWS公式更新しました 5ヶ月前
コメントはありません

関連するコンテンツ