削除済み(復元可能)バケットを使用する

削除(復元可能)機能の概要

このページでは、削除済み(復元可能)バケットを一覧表示して復元する方法について説明します。

概要

バケットが削除(復元可能)されると、削除(復元不可)時間まで Cloud Storage に保持されます。削除済み(復元可能)状態の間は変更できません。削除(復元不可)時間は、バケットのオブジェクトの最新の削除(復元不可)時間と同じか、それ以降となります。削除(復元不可)時間が過ぎると、Cloud Storage はバケットを完全に削除します。削除済み(復元可能)バケットを復元すると、バケットはライブ状態に戻り、削除時にバケット内にあったオブジェクトも復元できます。

考慮事項

  • 悪意のある削除から保護するため、削除済み(復元可能)バケットは削除(復元可能)の保持期間を過ぎるまで、完全に削除できません。

  • バケットを削除(復元可能)した後、バケット内の削除済み(復元可能)オブジェクトを一覧表示または復元するには、バケットを復元する必要があります。

  • 削除済み(復元可能)バケットを復元するには、バケットの世代番号が必要です。削除済み(復元可能)バケットの世代番号を取得するには、削除済み(復元可能)バケットを一覧表示するをご覧ください。

  • 削除済み(復元可能)バケットは、同じ名前のライブ状態のバケットが存在しない場合のみ復元できます。自分または他のユーザーが、削除済み(復元可能)バケットと同じ名前のバケットを作成した場合、新しいバケットが削除されるまで、削除済み(復元可能)バケットを復元することはできません。

  • gcloud CLI または JSON API を使用して削除済み(復元可能)バケットを復元しても、バケット内のオブジェクトは復元されません。削除済み(復元可能)オブジェクトを復元するには、削除済み(復元可能)バケットを復元した後に、オブジェクトの復元オペレーションを実行する必要があります。

  • タグ付きの削除済み(復元可能)バケットを復元しても、タグ バインディングが復元されない場合があります。タグ バインディングを使用して削除済み(復元可能)バケットを復元する場合、データ損失を避けるため、バケットのタグ バインディングが復元されていることを確認するのをおすすめします。バケットのタグ バインディングが復元されなかった場合は、復元されなかったタグをバケットに手動でバインドする必要があります。

必要な権限

削除済み(復元可能)バケットを復元するために必要な権限を取得するには、Cloud Storage プロジェクトに対するストレージ管理者roles/storage.admin)IAM ロールを付与するよう管理者に依頼してください。

この事前定義ロールには、削除済み(復元可能)バケットの復元に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

削除済み(復元可能)バケットを復元するには、次の権限が必要です。

  • storage.buckets.list
  • storage.buckets.restore
  • Google Cloud コンソールを使用して削除済み(復元可能)バケットを復元するときにオブジェクトを復元する:
    • storage.objects.restore
    • storage.objects.create

削除済み(復元可能)バケットを一覧表示する

リスト オペレーションを実行して、削除済み(復元可能)バケットのメタデータを取得できます。

プロジェクト内の削除済み(復元可能)バケットを一覧表示する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. [オプションを表示] をクリックします。

  3. [削除済み(復元可能)のバケットのみ] を選択します。

  4. [保存] をクリックします。

    削除済み(復元可能)バケットの一覧が表示されます。削除済み(復元可能)バケットの世代が複数ある場合、各バケットの世代は別々の行に表示されます。

コマンドライン

削除済み(復元可能)バケットを一覧表示するには、gcloud storage ls コマンドを使用します。

gcloud storage ls --buckets --soft-deleted --full

REST API

JSON API

  1. gcloud CLI をインストールして初期化します。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. cURL を使用して、GET Bucket リクエストで JSON API を呼び出します。

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://storage.googleapis.com/storage/v1/b?softDeleted=true"

削除済み(復元可能)バケットを復元する

削除済み(復元可能)バケットを復元する手順は次のとおりです。

Google Cloud コンソールを使用して削除済み(復元可能)バケットを復元するときに、バケットに含まれていた削除済み(復元可能)オブジェクトも復元できます。

コンソール

  1. Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. バケットの一覧に削除済み(復元可能)バケットが表示されていない場合は表示します。手順については、削除済み(復元可能)バケットを一覧表示するをご覧ください。

  3. 復元するバケットの行で、[復元] をクリックします。

  4. バケットの世代が複数ある場合は、[バケットの世代を指定する] タブで、復元する世代を選択します。

  5. [復元するオブジェクトを指定する] タブをクリックします。

  6. [復元するオブジェクトを指定する] セクションで、バケット内の削除済み(復元可能)オブジェクトを復元するかどうかを選択します。次のオプションが用意されています。

    • オブジェクトを復元しない

      必要に応じて、削除済み(復元可能)オブジェクトを後で復元できます。

    • すべてのオブジェクトを復元する

    • 条件に一致するオブジェクトを復元する。手順は次のとおりです。

      1. オブジェクトを復元する期間を選択します。

      2. 省略可: glob パターンに一致するオブジェクトのみを復元するには、[glob パターンでフィルタ] を選択して glob パターンを入力します。

  7. 省略可: [その他のオプション] セクションで、追加の復元動作を指定します。

  8. [復元] をクリックします。

    Cloud Storage が削除済み(復元可能)バケットをライブ状態に復元します。

    バケット内のオブジェクトを復元すると、Cloud Storage はオブジェクトの一括復元オペレーションを作成します。このオペレーションは非同期で行われ、開始までに 1 時間以上かかることがあります。オペレーションの進行状況を確認するには、 Google Cloud コンソールのヘッダーにある通知ボタン()をクリックします。または、gcloud CLI を使用して、関連する長時間実行オペレーションのステータスを確認することもできます。

コマンドライン

削除済み(復元可能)バケットを復元するには、gcloud storage restore コマンドを使用します。

  gcloud storage restore gs://BUCKET_NAME#GENERATION_NUMBER

次のように置き換えます。

  • BUCKET_NAME: 復元する削除済み(復元可能)バケットの名前。

  • GENERATION_NUMBER: 復元する削除済み(復元可能)バケットの一意の永続的な世代番号。バケットの世代番号を取得するには、削除済み(復元可能)バケットを一覧表示するをご覧ください。

Cloud Storage が削除済み(復元可能)バケットをライブ状態に復元します。バケットを復元しても、バケット内のオブジェクトは復元されません。削除済み(復元可能)オブジェクトを復元するには、削除済み(復元可能)オブジェクトを復元するをご覧ください。

REST API

JSON API

  1. gcloud CLI をインストールして初期化します。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. cURL を使用して、POST Bucket リクエストで JSON API を呼び出します。

    curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/restore?generation=GENERATION_NUMBER

    ここで

    • BUCKET_NAME は、復元するバケットの名前です。例: my-bucket

    • GENERATION_NUMBER は、復元する削除済み(復元可能)バケットの一意の永続的な世代番号です。バケットの世代番号を取得するには、削除済み(復元可能)バケットを一覧表示するをご覧ください。

    Cloud Storage が削除済み(復元可能)バケットをライブ状態に復元します。バケットを復元しても、バケット内のオブジェクトは復元されません。削除済み(復元可能)オブジェクトを復元するには、削除済み(復元可能)オブジェクトを復元するをご覧ください。

次のステップ