削除(復元可能)

設定 使用方法

このページでは、削除(復元可能)機能とその用途について説明します。削除(復元可能)では、最近削除されたすべてのオブジェクトを一定期間保持することで、偶発的な削除や悪意のある削除からデータを保護します。デフォルトでは、この機能はバケットレベルで適用されます。

概要

削除(復元可能)機能を使用すると、削除または上書きされたすべてのオブジェクトを一定期間バケット内に保持することができます。

Cloud Storage バケットに保存されているオブジェクトは変更されません。オブジェクトのデータを上書きまたは変更すると、Cloud Storage は以前のバージョンを削除して新しいバージョンに置き換えます。削除(復元可能)の場合、削除されたオブジェクトがすべて保持され、構成した保持期間中にバケットデータに行われたすべての変更がキャプチャされます。この処理は、削除が削除コマンドによるものか上書きかにかかわらず実行されます。

Cloud Storage バケットを作成すると、削除(復元可能)機能がデフォルトで有効になり、保持期間が 7 日間に設定されます。保持期間中は、削除されたオブジェクトを復元できますが、この期間が終了すると Cloud Storage はオブジェクトを完全に削除します。バケットの構成を更新すると、保持期間を 90 日に延長できます。また、保持期間を 0 に設定して保持を無効にすることもできます。削除(復元可能)の有効期間は最短で 7 日間です。

削除(復元可能)が有効になっているバケットからオブジェクトを削除すると、Cloud Storage は次の処理を行います。

  • 削除されたオブジェクトを「削除(復元可能)」状態にします。この状態のオブジェクトは、明示的にリストまたは復元しない限り、バケットに表示されません。
  • 構成された保持期間、この削除済み(復元可能)オブジェクトを保持します。この間は、オブジェクトのライフサイクル ルールAutoclass などの機能による変更を含め、いかなる方法でもこのオブジェクトを変更できません。
  • オブジェクトの最新バージョンのメタデータ(世代番号)を保護します。このメタデータは、最近削除されたオブジェクトのメタデータか、ライブ オブジェクト(存在する場合)のいずれかです。
  • 削除(復元可能)の保持期間が終了すると、オブジェクトをバケットから完全に削除します。

削除済み(復元可能)オブジェクトを復元すると、Cloud Storage は、そのオブジェクトが削除されたバケットに削除済み(復元可能)オブジェクトのコピーを作成します。復元されるオブジェクトのメタデータは、削除時の削除済みオブジェクトのメタデータと同じです。削除(復元可能)の保持期間が終了すると、Cloud Storage は削除済み(復元可能)オブジェクトを完全に削除します。

バケットで削除(復元可能)が有効になっている場合、ライブ オブジェクトまたは削除済み(復元可能)オブジェクトを完全に削除することはできません。ライブ オブジェクトを削除すると、そのオブジェクトは削除(復元可能)になります。削除済み(復元可能)オブジェクトは、削除(復元可能)の保持期間が終了すると完全に削除されます。

プロジェクトを削除すると、Cloud Storage はそのプロジェクト内のすべてのバケットとオブジェクトを完全に削除します。この場合、削除(復元可能)機能でオブジェクトやバケットを復元することはできません。したがって、プロジェクト レベルでの削除に対する措置を講じることが重要です。たとえば、プロジェクトにリーエンを設定したり、ビジネスに不可欠なデータを別のプロジェクトのバケットにバックアップしたりします。

削除(復元可能)ポリシー

新規または既存のバケットに削除(復元可能)ポリシーを追加できます。

  • バケットに削除(復元可能)ポリシーを追加すると、Cloud Storage は指定された期間、バケットから削除されたオブジェクトを保持します。

保持期間を変更することで、バケットの既存の削除(復元可能)ポリシーを更新できます。

  • 新しい削除(復元可能)の保持期間は、変更が有効になった後に削除されたオブジェクトにのみ適用されます。
  • 更新された保持期間は、既存の削除済み(復元可能)オブジェクトには適用されません。削除済み(復元可能)の既存のオブジェクトには削除時の有効期間が適用されます。

    たとえば、バケットにオブジェクト A とオブジェクト B の 2 つのオブジェクトがあるとします。バケットで、デフォルトの保持期間(7 日)の削除(復元可能)ポリシーを有効にします。オブジェクト A を削除します。数日後、削除(復元可能)の保持期間を 10 日間に変更してオブジェクト B を削除します。オブジェクト A は 7 日間の保持期間が終了すると削除されますが、オブジェクト B は 10 日間保持されます。

バケットから削除(復元可能)ポリシーを削除できます。

  • Cloud Storage は、削除(復元可能)ポリシーで指定された期間、削除済み(復元可能)オブジェクトをバケットに保持します。
  • 削除(復元可能)ポリシーを無効にした後に削除したオブジェクトは完全に削除されます。

削除(復元可能)の保持期間

削除(復元可能)の保持期間は秒単位で測定されます。ただし、Google Cloud コンソールGoogle Cloud CLI などの一部のツールでは、便宜上、別の単位で保持期間を設定して表示できます。その場合、次のような変換規則が適用されます。

  • 1 日は 86,400 秒とする。
  • 1 か月は 31 日、2,678,400 秒とする。

保持期間は最大で 7,776,000 秒(90 日)まで設定できます。

gcloud CLI で保持期間を指定する場合は整数と単位を指定します。単位は sdm で、それぞれ秒、日、月を表します。たとえば、1d43200s は 1 日と 43,200 秒(1 日半)の保持期間を設定します。

オブジェクトとバケットを復元する

削除(復元可能)の保持期間内は、削除済み(復元可能)オブジェクトを復元できます。

  • 復元を成功させるには、削除(復元可能)の保持期間内に復元が完了するように早い段階から復元を開始する必要があります。この期間が終了すると、オブジェクトは完全に削除されます。
  • オブジェクトのリストを指定して、削除済み(復元可能)オブジェクトを同期的に復元できます。また、2 つのタイムスタンプの間に削除されたオブジェクトを一括で復元する長時間実行オペレーションを作成することもできます。
  • Cloud Storage は、オブジェクトを削除元のバケットに復元します。

削除済み(復元可能)オブジェクトのバージョンを復元すると、削除済み(復元可能)オブジェクトのコピーがライブ バージョンに復元されます。ライブ バージョンがすでに存在する場合、削除済み(復元可能)バージョンのコピーがライブ バージョンに置き換えられ、既存のライブ バージョンは復元可能な状態で削除されます。この場合、バケットには次のオブジェクトが含まれます。

  • 削除(復元可能)状態のライブ オブジェクト
  • 以前に復元可能状態で削除されたオブジェクトの 2 つのコピー。1 つはライブコピー、もう 1 つは削除(復元可能)状態のコピーです。

保持期間が終了した後に削除済み(復元可能)オブジェクトが完全に削除されるまで、これらのオブジェクト コピーにはストレージ料金が発生します。

Cloud Storage は、ライブ オブジェクトを置き換えるときに、復元された削除済み(復元可能)オブジェクトのメタデータもコピーします。つまり、オブジェクト レベルのセキュリティ メタデータとストレージ クラスなどの設定は、復元時にそのオブジェクト バージョンの最終状態に設定されます。

削除済み(復元可能)オブジェクトは、バケットの削除時に完全に削除されません。削除済み(復元可能)オブジェクトを復元するには、正しいバケット バージョンを復元する必要があります。削除済み(復元可能)バケットを復元するには、Google Cloud サポートにお問い合わせください。

他の機能に関する考慮事項

削除(復元可能)は Cloud Storage のすべての機能と互換性があります。この機能は、Cloud Storage の他の機能と次のような相互関係があります。

  • オブジェクトのライフサイクル管理(OLM)ルールは、ライブ オブジェクトと非現行オブジェクトに対してのみ機能します。削除済み(復元可能)オブジェクトには影響しません。OLM によって削除されたオブジェクトは、完全に削除されるのではなく、復元可能な状態で削除されます。
  • オブジェクトのバージョニングでは既存のすべての機能が提供されます。ただし、非現行オブジェクトを削除すると(世代番号を指定して)、そのオブジェクトは完全に削除されるのではなく、復元可能な状態で削除されます。このシナリオでは、削除(復元可能)がオブジェクト バージョニングの 2 番目の保護レイヤになります。
  • マルチパート アップロードは、オブジェクトがファイナライズされた後、削除(復元可能)によって保護されます。削除(復元可能)では、オブジェクトがファイナライズされる前に削除されたマルチパート アップロード フラグメントは保護されません。
  • Autoclass 機能は、すべてのライブ オブジェクト(オブジェクト バージョニングで保護されている非現行オブジェクトを含む)のストレージ クラスを管理します。削除済み(復元可能)オブジェクトにはアクセスできません。したがって、削除済み(復元可能)オブジェクトには Autoclass の管理費用は適用されません。Autoclass が有効になっているバケットでオブジェクトが復元可能な状態で削除されると、削除(復元可能)の保持期間が終了するまで、そのオブジェクトのストレージ クラスは変更されません。Autoclass バケット内のコールド オブジェクトを読み取るとストレージ クラスが Standard Storage にリセットされるのと同様に、削除済み(復元可能)オブジェクトを復元すると、オブジェクトが Standard Storage クラスに復元されます。
  • バケットロック機能とオブジェクト保持ロック機能を使用すると、これらの機能に設定された保持期間中、ライブバケットからオブジェクトを削除できなくなります。削除(復元可能)の場合は、ライブ オブジェクトを削除して必要に応じて復元できます。

    これらの機能のいずれかまたは両方を使用しているときに、削除(復元可能)が有効になっている場合、バケットロックとオブジェクト ロックの保持ポリシーで指定された期間、ライブ オブジェクトを削除できません。ライブ オブジェクトでこれらのロックのいずれかが期限切れになったら、ロックを削除できます。その後、オブジェクトは削除(復元可能)状態になり、削除(復元可能)の保持期間が終了するまで保持されます。

  • 組織のポリシーで、削除(復元可能)に対するポリシーの制約を設定できます。

    これにより、新しいバケットの作成時や既存のバケットの更新時に、削除(復元可能)の保持期間を設定することが強制されます。

  • オブジェクトの削除済み(復元可能)バージョンを復元すると、オブジェクトが正常に復元されるたびに、Pub/Sub が OBJECT_FINALIZE イベントをトリガーします。

  • 削除(復元可能)では、マネージド フォルダの IAM ポリシーを復元できません。オブジェクトを復元可能な状態で削除し、そのオブジェクトに IAM ポリシーを付与するマネージド フォルダを削除した場合、削除済み(復元可能)オブジェクトの復元に必要な権限を取得する前に、それらの IAM ポリシーを再作成する必要があります。

次のステップ