このページでは、削除または上書きされたオブジェクトとバケットを一定期間保持する削除(復元可能)機能について説明します。削除(復元可能)は、削除されたオブジェクトまたはバケットを削除(復元可能)状態に保持することで、偶発的な削除や悪意のある削除からデータを保護します。この状態のオブジェクトやバケットは完全に削除できません。削除(復元可能)は、すべてのバケットでデフォルトで有効になっており、ユーザーまたは組織が別のポリシーを選択していない限り、保持期間は 7 日間です。
概要
バケットで削除(復元可能)を有効にすると、バケットまたはバケットに含まれるオブジェクトを削除した場合に、リソースが完全に削除されるのではなく、削除(復元可能)状態になります。削除済み(復元可能)のオブジェクトとバケットは、次のように動作します。
削除済み(復元可能)オブジェクトは読み取ることも変更することもできません。
削除済み(復元可能)バケットは変更できません。
一覧表示オペレーションでは、デフォルトで削除済み(復元可能)オブジェクトが除外されます。
削除済み(復元可能)のオブジェクトとバケットでサポートされているオペレーションは、一覧表示または復元のみです。
Autoclass、オブジェクトのライフサイクル管理、バケットロック、オブジェクト保持ロックなどの機能は削除(復元可能)と互換性がありますが、削除済み(復元可能)オブジェクトには影響しません。
バケットで削除(復元可能)を有効にするには、削除(復元可能)ポリシーを作成し、バケットとそれに含まれるオブジェクトが完全に削除されるまでの保持期間を制御する保持期間を指定します。
削除(復元可能)ポリシーを設定して管理し、バケットで削除(復元可能)を有効または無効にする方法については、削除(復元可能)を使用するをご覧ください。
削除(復元可能)ポリシー
デフォルトでは、新しく作成されたすべてのバケットで削除(復元可能)が有効になっています。削除(復元可能)ポリシーを編集して、バケットの削除(復元可能)を有効または無効にできます。削除(復元可能)ポリシーは、バケットの作成または更新リクエスト中に設定、削除、編集できます。
削除(復元可能)ポリシーは次のように動作します。
バケットの削除(復元可能)ポリシーの更新は、削除(復元可能)ポリシーが有効になった後に削除されたオブジェクトにのみ適用されます。更新前に削除したオブジェクトは、削除時に有効であった期間保持されます。
たとえば、バケットでデフォルトの保持期間(7 日間)の削除(復元可能)ポリシーを有効にして、オブジェクト
cat.png
を削除します。このシナリオでは、cat.png
は削除済み(復元可能)オブジェクトとして 7 日間保持され、その後完全に削除されます。これは、後でバケットの削除(復元可能)ポリシーを変更または無効にした場合でも発生します。既存のバケットに新しい削除(復元可能)の保持期間を追加しても、削除(復元可能)ポリシーが有効になる前に削除されたオブジェクトやバケットには適用されません。
プロジェクトを削除した場合、削除(復元可能)が有効になっていても、削除(復元可能)を使用してバケットやそれに含まれるオブジェクトを復元することはできません。悪意のある削除や偶発的な削除によってデータが失われないようにするには、プロジェクトにリーエンを適用するか、ビジネスに不可欠なデータを別のプロジェクトのバケットにバックアップして、プロジェクト レベルでの削除へのアクセスを制限することをおすすめします。
バケットが削除されても、それに含まれるオブジェクトは完全に削除されませんが、削除済み(復元可能)バケットが最初に復元されない限り、一覧表示または復元することはできません。復元された削除済み(復元可能)バケットには、ライブ オブジェクトが含まれません。オブジェクトの復元オペレーションを実行するか、新しいオブジェクトを追加する必要があります。削除済み(復元可能)バケットの使用方法については、削除済み(復元可能)バケットを復元するをご覧ください。
削除(復元可能)の保持期間
削除(復元可能)ポリシーの保持期間中は、削除されたオブジェクトまたはバケットを復元できますが、この期間が終了すると Cloud Storage によって削除済み(復元可能)のリソースが完全に削除されます。
バケットを作成すると、デフォルトの保持期間(7 日間)の削除(復元可能)ポリシーがバケットに追加されます。ポリシーの保持期間を編集するか、新しいデフォルトの保持期間を設定できます。設定できる最大保持期間は 90 日間、最小保持期間は 7 日間です。保持期間を 0
に設定して、バケットの削除(復元可能)を無効にすることもできます。
削除済み(復元可能)オブジェクトの復元
削除済み(復元可能)オブジェクトを復元すると、Cloud Storage は同じバケットに削除済み(復元可能)オブジェクトのコピーを作成します。
削除済み(復元可能)オブジェクトの復元動作は次のとおりです。
削除済み(復元可能)オブジェクトを復元すると、Cloud Storage は同じバケットにオブジェクトの新しいライブ バージョンを作成します。オブジェクトの削除(復元可能)バージョンは、保持期間が終了するまでバケットに残ります。
復元時に、削除済み(復元可能)オブジェクトと同じ名前のライブ オブジェクトがすでに存在する場合、復元されたオブジェクトがライブ オブジェクトに置き換わり、ライブ オブジェクトが削除済み(復元可能)になることがあります。この場合、バケットには次のオブジェクトが含まれます。
アーカイブされているか、削除済み(復元可能)状態の置き換えられたライブ オブジェクト。
以前に削除(復元可能)されたオブジェクトの 2 つのコピー。1 つはライブコピー、もう 1 つは削除済み(復元可能)状態のコピーです。
削除済み(復元可能)オブジェクトは複数の方法で復元できます。削除済み(復元可能)オブジェクトを同期的に復元できます。また、特定の条件を満たすオブジェクトを一括で復元する長時間実行オペレーションを作成することもできます。
階層型名前空間が有効なバケット内の削除済み(復元可能)オブジェクトの復元
まれに、階層型名前空間が有効になっているバケットで、名前と世代値が同一の削除済み(復元可能)オブジェクトが重複する可能性があります。次のシナリオを見てみましょう。
- オブジェクト
folderA/my-object.txt
が、復元可能な状態で削除されています。 - その後、親フォルダ
folderA
が削除されます。 - 別のオブジェクト
folderB/my-object.txt
が、folderB
の名前をfolderA
に変更することで元のパスに移動されます。このオブジェクトはfolderA/my-object.txt
になります。 - この新しい
folderA/my-object.txt
オブジェクトも復元可能な状態で削除されます。
Cloud Storage の各オブジェクト バージョンには固有の世代値がありますが、元の folderA/my-object.txt
や folderB/my-object.txt
などの独立して作成されたオブジェクトが偶然同じ世代値を共有する可能性があります。このシナリオと組み合わせると、同じ名前(folderA/my-object.txt
)と世代値を持つ 2 つの削除済み(復元可能)オブジェクトが存在する可能性があります。
正しいオブジェクトを復元、一覧表示、取得するには、リクエストに restoreToken
パラメータを含めます。
階層型名前空間が有効になっているバケットで削除(復元可能)を使用する場合は、次のことを考慮してください。
restoreToken
パラメータを使用せずに重複オブジェクトの復元、一覧表示、取得を試みると、オブジェクトの復元リクエストまたはオブジェクトの一覧表示リクエストでrestoreToken
パラメータを使用するように求めるエラーが表示されます。オブジェクトの復元、一覧表示、取得リクエストの一部として
restoreToken
、name
、generation
パラメータに間違った値を使用すると、指定されたオブジェクトが存在しないことを示すエラーが返されます。
バケットの復元
削除済み(復元可能)バケットを復元すると、バケットはライブ状態に戻り、削除時にバケットに含まれていたオブジェクトも、削除(復元可能)の保持期間内に復元可能になります。
削除済み(復元可能)オブジェクトと同様に、削除済み(復元可能)バケットも、保持期間中に復元されない場合は Cloud Storage によって保持期間の終了時に完全に削除されます。
料金
削除済み(復元可能)オブジェクトは、保持期間が終了した後に完全に削除されるまでストレージ料金が発生します。削除済み(復元可能)オブジェクトに関連する費用の詳細については、Cloud Storage の料金をご覧ください。
削除(復元可能)の費用の最適化
短期間で削除される一時オブジェクトのストレージ費用を削減しながら、データ保護を維持するには、次のことをおすすめします。
オブジェクトの名前を変更する: オブジェクト: 移動 API を使用して、オブジェクトをコピーして元のオブジェクトを削除するのではなく、存在期間の短い一時オブジェクトの名前を変更します。
一時データを分離する: 可能であれば、削除(復元可能)が無効になっている別のバケットに一時データを分離します。
他のプロダクトや機能との連携
削除(復元可能)が有効になっている場合、他のプロダクトや機能と次のように動作します。
-
オブジェクトのライフサイクル管理ルールは、削除済み(復元可能)オブジェクトには影響しません。オブジェクトのライフサイクル管理を使用して、削除済み(復元可能)オブジェクトのストレージ クラスを変更または完全に削除することはできません。
オブジェクトのライフサイクル管理によって削除されたオブジェクトは、削除済み(復元可能)になります。バケットでオブジェクトのバージョニングも有効にしている場合、削除されたライブ オブジェクトは非現行になり、削除された非現行オブジェクトは削除済み(復元可能)になります。
オブジェクトのバージョニング: 非現行オブジェクトを削除すると、そのオブジェクトは削除済み(復元可能)になります。
XML API マルチパート アップロード: XML API マルチパート アップロードのパートは、削除(復元可能)によって保護されません。
-
削除済み(復元可能)オブジェクトには Autoclass の管理費用は適用されません。
Autoclass は、削除済み(復元可能)オブジェクトのストレージ クラスを変更しません。
削除済み(復元可能)オブジェクトを復元すると、そのオブジェクトは Standard Storage クラスに設定されます。
バケットロック機能とオブジェクト保持ロック機能: これらの機能を使用すると、保持ポリシーが満たされるまでオブジェクトを削除できなくなります。削除(復元可能)によって、削除されたオブジェクトに対して削除(復元可能)の保持期間を個別に設定することで、保護が強化されます。
Pub/Sub 通知: オブジェクトの削除済み(復元可能)バージョンを復元すると、OBJECT_FINALIZE イベントがトリガーされます。
マネージド フォルダ: 削除(復元可能)では、マネージド フォルダの IAM ポリシーを復元できません。オブジェクトを復元可能な状態で削除し、そのオブジェクトに IAM ポリシーを付与するマネージド フォルダを削除した場合、削除済み(復元可能)オブジェクトの復元に必要な権限を取得する前に、それらの IAM ポリシーを再作成する必要があります。
タグ: 削除(復元可能)の設定を含めずにバケットを作成した場合、Cloud Storage のデフォルトでは、削除(復元可能)の保持期間が 7 日間のバケットが作成されます。このデフォルトは、タグを使用することで変更できます。このタグを使用すると、新しいバケットのデフォルトの保持期間を 7~90 日の任意の値に変更できます。また、デフォルトを変更して、新しいバケットの削除(復元可能)を無効にすることもできます。 タグを使用して、デフォルトで削除(復元可能)を無効にすることもできます。
Recommender: Recommender API を有効にすると、Cloud Billing の費用と使用量に基づいて、削除通知の有効化または無効化に関する推奨事項と分析情報を受け取ることができます。詳細については、削除(復元可能)Recommender をご覧ください。
次のステップ
- 削除(復元可能)の使用方法を確認する。
- 削除済み(復元可能)オブジェクトの使用方法を確認する。
storage.softDeletePolicySeconds
ポリシーの制約を確認する。