このページでは、削除または上書きされたオブジェクトを一定期間保持し、データが誤ってまたは悪意によって削除されないように保護する削除(復元可能)機能について説明します。
概要
削除(復元可能)では、削除コマンドによる削除か上書きによる削除かにかかわらず、削除されたオブジェクトが保持されます。これにより、バケットデータがキャプチャされ、保持されます。削除(復元可能)は、バケットの作成プロセス中に有効になります。
削除(復元可能)が有効になっているバケットからオブジェクトを削除すると、次の処理が行われます。
削除されたオブジェクトは「削除(復元可能)」状態になります。この状態のオブジェクトは、いかなる方法でも変更できません。また、Autoclass やオブジェクトのライフサイクル管理などの Cloud Storage 機能は、削除済み(復元可能)状態のオブジェクトには適用されず、影響も及ぼしません。
削除済み(復元可能)状態のオブジェクトは、明示的に削除済み(復元可能)状態のオブジェクトを一覧表示または復元しない限り、バケットに表示されません。また、削除済み(復元可能)状態のオブジェクトに含まれるオブジェクト データは読み取ることができません。
バケットは、削除済み(復元可能)状態のオブジェクトと、削除済み(復元可能)状態になった時点のオブジェクトのメタデータを指定された保持期間(最大 90 日間)保持します。デフォルトの保持期間は 7 日間です。
Cloud Storage では、保持期間が経過すると、削除(復元可能)状態のオブジェクトは完全に削除されます。削除後にデータを保持する必要がなくなった場合は、削除(復元可能)ポリシーを無効にできます。詳細については、削除(復元可能)ポリシーを管理するをご覧ください。
削除(復元可能)ポリシーを追加する際の考慮事項
削除(復元可能)は、デフォルトで新しいバケットで有効になり、保持期間は 7 日間です。バケットの作成時または作成後に、最大 90 日間の保持期間を指定することもできます。既存のバケットで削除(復元可能)が有効になっていない場合は、削除(復元可能)ポリシーを追加できます。既存のバケットで削除(復元可能)ポリシーを追加または変更する前に、次の点について検討してください。
新しい削除(復元可能)の保持期間は、削除(復元可能)ポリシーが有効になった後に削除されたオブジェクトにのみ適用されます。
バケットの削除(復元可能)ポリシーを更新しても、既存の削除済み(復元可能)オブジェクトには影響しません。削除済み(復元可能)状態の既存のオブジェクトは削除時に有効であった期間保持されます。
たとえば、バケットにオブジェクト A とオブジェクト B の 2 つのオブジェクトがあり、バケットでデフォルトの保持期間(7 日)の削除(復元可能)ポリシーを有効にしてオブジェクト A を削除すると、オブジェクト A は削除済み(復元可能)オブジェクトとして 7 日間保持された後、完全に削除されます。
オブジェクト A を削除する前にバケットの削除(復元可能)ポリシーを更新し、その後オブジェクト B を削除すると、新しい削除(復元可能)ポリシーはオブジェクト B にのみ適用されます。オブジェクト A は、最初の 7 日間の削除(復元可能)ポリシーが完了すると削除されます。
必要に応じて、削除(復元可能)ポリシーを無効にできます。詳細については、削除(復元可能)ポリシーを管理するをご覧ください。
無効化中に削除済み(復元可能)オブジェクトを含むバケットの削除(復元可能)ポリシーを無効にすると、Cloud Storage は、指定された保持期間が経過するまで削除済み(復元可能)オブジェクトを保持した後完全に削除します。
バケットで削除(復元可能)ポリシーを無効にすると、Cloud Storage は削除オペレーションの実行後に削除されたデータを保持しません。
削除済み(復元可能)オブジェクトを強制的に削除することはできません。これは、悪意による削除や誤って削除されることを回避するためです。バケットに削除済み(復元可能)データが保持されないようにするには、バケットの削除(復元可能)ポリシーを無効にすることをおすすめします。
削除(復元可能)の保持期間
Cloud Storage バケットを作成すると、削除(復元可能)機能がデフォルトで有効になり、保持期間が 7 日間に設定されます。保持期間中は、削除されたオブジェクトを復元できますが、この期間が終了すると Cloud Storage はオブジェクトを完全に削除します。バケットの構成を更新すると、保持期間を 90 日に延長できます。また、保持期間を 0 に設定して保持を無効にすることもできます。削除(復元可能)の有効期間は最短で 7 日間です。
削除(復元可能)の保持期間は秒単位で測定されます。ただし、Google Cloud コンソールや Google Cloud CLI などの一部のツールを使用している場合は、便宜上、別の単位で保持期間を設定して表示できます。
その場合、次のような変換規則が適用されます。
- 1 日は 86,400 秒とする。
- 1 か月は 2,678,400 秒(31 日)とする。
gcloud CLI で保持期間を指定する場合は整数と単位を指定します。単位は s
、d
、m
で、それぞれ秒、日、月を表します。たとえば、7d43200s
は 7 日と 43,200 秒(7 日半)の保持期間を設定します。
保持期間に設定できる最大値は 7,776,000 秒(90 日間)、最小値は 604,800 秒(7 日間)です。REST API を使用している場合は、保持期間を 0 に設定して削除(復元可能)ポリシーを無効にすることもできます。
復元の動作
削除(復元可能)状態のオブジェクトを復元すると、Cloud Storage は、そのオブジェクトが削除されたバケットに削除(復元可能)状態のオブジェクトのコピーを作成します。復元されるオブジェクトのメタデータは、削除時の削除済みオブジェクトのメタデータと同じです。削除(復元可能)の保持期間が終了すると、Cloud Storage は削除(復元可能)状態のオブジェクトを完全に削除します。
削除(復元可能)の保持期間内は、削除(復元可能)状態のオブジェクトを復元できます。
- 復元を成功させるには、削除(復元可能)の保持期間内に復元が完了するように早い段階から復元を開始する必要があります。この期間が終了すると、オブジェクトは完全に削除されます。
- オブジェクトのリストを指定して、削除済み(復元可能)オブジェクトを同期的に復元できます。また、2 つのタイムスタンプの間に削除されたオブジェクトを一括で復元する長時間実行オペレーションを作成することもできます。
- Cloud Storage は、オブジェクトを削除元のバケットに復元します。
バケットで削除(復元可能)が有効になっている場合、ライブ オブジェクトまたは削除(復元可能)状態のオブジェクトを完全に削除することはできません。ライブ オブジェクトを削除すると、そのオブジェクトは削除(復元可能)になります。削除済み(復元可能)オブジェクトは、削除(復元可能)の保持期間が終了すると完全に削除されます。
プロジェクトを削除すると、Cloud Storage はそのプロジェクト内のすべてのバケットとオブジェクトを完全に削除します。この場合、削除(復元可能)機能でオブジェクトやバケットを復元することはできません。したがって、プロジェクト レベルでの削除に対する措置を講じることが重要です。たとえば、プロジェクトにリーエンを設定したり、ビジネスに不可欠なデータを別のプロジェクトのバケットにバックアップしたりします。
削除(復元可能)状態のオブジェクトのバージョンを復元すると、削除(復元可能)状態のオブジェクトのコピーがライブ バージョンに復元されます。ライブ バージョンがすでに存在する場合、削除済み(復元可能)バージョンのコピーがライブ バージョンに置き換えられ、既存のライブ バージョンは復元可能な状態で削除されます。この場合、バケットには次のオブジェクトが含まれます。
- 削除(復元可能)状態のライブ オブジェクト
- 以前に復元可能状態で削除されたオブジェクトの 2 つのコピー。1 つはライブコピー、もう 1 つは削除(復元可能)状態のコピーです。
保持期間が終了した後に削除済み(復元可能)オブジェクトが完全に削除されるまで、これらのオブジェクト コピーにはストレージ料金が発生します。削除(復元可能)状態のオブジェクトに関連する費用の詳細については、Cloud Storage の料金をご覧ください。
Cloud Storage は、ライブ オブジェクトを置き換えるときに、復元された削除済み(復元可能)オブジェクトのメタデータもコピーします。つまり、オブジェクト レベルのセキュリティ メタデータとストレージ クラスなどの設定は、復元時にそのオブジェクト バージョンの最終状態に設定されます。
削除(復元可能)状態のオブジェクトは、バケットの削除時に完全に削除されません。削除(復元可能)状態のオブジェクトを復元するには、正しいバケット バージョンを復元する必要があります。削除済み(復元可能)バケットを復元するには、Google Cloud サポートにお問い合わせください。他の機能に関する考慮事項
削除(復元可能)は Cloud Storage のすべての機能と互換性があります。この機能は、Cloud Storage の他の機能と次のような相互関係があります。
-
オブジェクトのライフサイクル管理ルールは、ライブ オブジェクトと非現行オブジェクトに対してのみ機能します。削除(復元可能)状態のオブジェクトには影響しません。オブジェクトのライフサイクル管理によって削除されたオブジェクトは、完全に削除されるのではなく、復元可能な状態で削除されます。
-
削除(復元可能)は、オブジェクト バージョニングの 2 番目の保護レイヤとして機能します。非現行オブジェクトを削除した場合、完全に削除されるのではなく、復元可能な状態で削除されます。
-
マルチパート アップロードは、オブジェクトがファイナライズされた後、削除(復元可能)によって保護されます。削除(復元可能)では、オブジェクトがファイナライズされる前に削除されたマルチパート アップロード フラグメントは保護されません。
-
Autoclass は削除(復元可能)状態のオブジェクトにアクセスできないため、削除(復元可能)状態のオブジェクトに対して管理費用は発生しません。Autoclass が有効になっているバケットでオブジェクトが復元可能な状態で削除されると、削除(復元可能)の保持期間が終了するまで、そのオブジェクトのストレージ クラスは変更されません。Autoclass バケット内のコールド オブジェクトを読み取るとストレージ クラスが Standard Storage にリセットされるのと同様に、削除(復元可能)状態のオブジェクトを復元すると、オブジェクトが Standard Storage クラスに復元されます。
バケットロック機能とオブジェクト保持ロック機能
これらの機能のいずれかまたは両方を使用しているときに、削除(復元可能)が有効になっている場合、バケットロックとオブジェクト ロックの保持ポリシーで指定された期間、ライブ オブジェクトを削除できません。ライブ オブジェクトでこれらの保持ポリシーのいずれかが期限切れになったら、オブジェクトを削除できます。その後、オブジェクトは削除(復元可能)状態になり、削除(復元可能)の保持期間が終了するまで保持されます。
-
組織のポリシーで、削除(復元可能)に対するポリシーの制約を設定できます。これにより、新しいバケットの作成時や既存のバケットの更新時に、削除(復元可能)の保持期間を設定することが強制されます。
オブジェクトの削除済み(復元可能)バージョンを復元すると、オブジェクトが正常に復元されるたびに、Pub/Sub が OBJECT_FINALIZE イベントをトリガーします。
削除(復元可能)では、マネージド フォルダの IAM ポリシーを復元できません。オブジェクトを復元可能な状態で削除し、そのオブジェクトに IAM ポリシーを付与するマネージド フォルダを削除した場合、削除済み(復元可能)オブジェクトの復元に必要な権限を取得する前に、それらの IAM ポリシーを再作成する必要があります。
-
削除(復元可能)の設定を含めずにバケットを作成した場合、Cloud Storage のデフォルトでは、削除(復元可能)の保持期間が 7 日間のバケットが作成されます。このデフォルトは、タグを使用することで変更できます。このタグを使用すると、新しいバケットのデフォルトの保持期間を 7~90 日の任意の値に変更できます。また、デフォルトを変更して、新しいバケットの削除(復元可能)を無効にすることもできます。タグを使用して、デフォルトで削除(復元可能)を無効にすることもできます。
次のステップ
- 削除(復元可能)の使用方法を確認する。
- 削除済み(復元可能)オブジェクトの使用方法を確認する。