ライフサイクル設定ルールを使用して Amazon S3 バケットを空にするにはどうすればよいですか?

最終更新日: 2020 年 12 月 23 日

数百万個のオブジェクトを格納する Amazon Simple Storage Service (Amazon S3) バケットがあります。これ以上ストレージに対して課金されないように、バケットを空にしたいと考えています。ライフサイクル設定ルールを使用してバケットを空にするにはどうすればよいですか?

解決方法

オブジェクトの現行バージョンを失効させ、オブジェクトの以前のバージョンを完全に削除するライフサイクルルールを作成するために、以下のステップに従います。

  1. Amazon S3 コンソールを開きます。
  2. バケットのリストから、空にするバケットを選択します。
  3. [Management] (管理) タブを開きます。
  4. [Create lifecycle rule] (ライフサイクルルールを作成する) を選択します。
  5. [Lifecycle rule name] (ライフサイクルルール名) に、ルール名を入力します。
  6. [Choose a rule scope] (ルールスコープを選択) で、[This rule applies to all objects in the bucket] (このルールは、バケット内のすべてのオブジェクトに適用されます) を選択します。
  7. [I acknowledge that this rule will apply to all objects in the bucket] (このルールがバケット内のすべてのオブジェクトに適用されることを確認します) を選択します。
  8. [Lifecycle rule actions] (ライフサイクルルールのアクション) で、次を選択します。
    オブジェクトの現在のバージョンを失効させる
    以前のバージョンのオブジェクトを完全に削除する
    失効した削除マーカーまたは不完全なマルチパートアップロードを削除する
  9. [Expire current versions of objects] (オブジェクトの現在のバージョンを失効させる) で、[Number of days after object creation] (オブジェクト作成後の日数) に 1 を入力します。
  10. [Permanently delete previous versions of objects] (以前のバージョンのオブジェクトを完全に削除する) で、[Number of days after objects become previous versions] (オブジェクトが以前のバージョンになった後の日数) に 1 と入力します。
  11. [Delete expired delete markers or incomplete multipart uploads] (失効した削除マーカーまたは不完全なマルチパートアップロードを削除する) で、[Delete incomplete multipart uploads] (不完全なマルチパートアップロードを削除) を選択します。その後、[Number of days] (日数) に 1 を入力します。
  12. [Create rule] (ルールの作成) を選択します。

Amazon S3 は、毎日 1 回ライフサイクルルールを実行します。Amazon S3 がルールを初めて実行すると、失効対象となるすべてのオブジェクトに削除マーカーが付され、それらのオブジェクトに対して課金されなくなります。ルールが実行され、バケットが空になるまでに数日かかることがあります。これは、オブジェクトバージョンを失効させることと、削除マーカーをクリーンアップすることが、非同期ステップであるためです。詳細については、オブジェクトの失効を理解するを参照してください。