不要になったオブジェクトを削除すると、ストレージ費用を削減し、データ保持要件を遵守し、バケットを整理できます。規模と自動化のニーズに応じて、オブジェクトを手動、プログラム、または自動化されたポリシーで削除する方法を選択できます。
このページでは、バケットからオブジェクトを削除する方法について説明し、タスクに適した方法を選択するのに役立ちます。
オブジェクトを削除する方法については、オブジェクトを削除するをご覧ください。
単一オブジェクトの削除
単一オブジェクトの削除では、特定のデータを正確に制御できます。通常、バケットのデータに対して即時かつターゲットを絞った更新を行う必要がある場合は、単一のオブジェクトを削除します。単一のオブジェクトを削除する一般的な理由は次のとおりです。
エラーの修正: 誤ってアップロードされたファイルや、誤ったデータを含むファイルを削除する。
クリーンアップ: タスクの完了後に、一時ファイルまたはログを手動で削除する。
アプリケーション ロジック: プロフィール写真の削除など、アプリケーションでアクションを実行したときにファイルを自動的に削除する。
セキュリティとコンプライアンス: 機密情報を削除する際にオブジェクトを削除する。
単一のオブジェクトを削除するツール
バケットから単一のオブジェクトを削除するには、次のいずれかのツールを使用します。各ツールは、オブジェクトごとに個別の DELETE リクエストを送信します。
| ツール | 説明 |
|---|---|
| Google Cloud コンソール | コンソールを使用してオブジェクトを削除します。 Google Cloud |
| Google Cloud CLI | gcloud storage rm コマンドを使用してオブジェクトを削除します。 |
| クライアント ライブラリ | C++、C#、Go、Java、Node.js、PHP、Python、Ruby などのサポートされている言語を使用して、プログラムでオブジェクトを削除します。 |
| REST API | JSON API と XML REST API を使用してオブジェクトを削除します。 |
オブジェクトの一括削除
一括削除の方法は、大規模なデータセットに対する高効率のオペレーションを目的として設計されています。一括削除を使用して、ストレージ費用を管理し、バケット間でデータの整備を自動化します。複数のオブジェクトを削除する一般的な理由は次のとおりです。
費用の最適化: オペレーションに不要になった古いログや一時的なビルド アーティファクトなど、大規模なデータセットを削除する。
コンプライアンスの自動化: 特定の期間(30 日など)が経過した後にオブジェクトを削除して、データ保持ポリシーを自動的に適用する。
バケットの移行または廃止: データの移行時やプロジェクトの終了時に、数百万または数十億のオブジェクトをクリアする。
データ パイプラインのクリーンアップ: 最終レポートまたはデータセットが生成された後に、中間処理ファイルを削除する。
オブジェクトを一括削除するツール
オブジェクトを一括削除するには、次のいずれかのツールを使用します。これらの方法は、個々のリクエストと比較して、スループットの向上とオーバーヘッドの削減に最適化されています。
| ツール | 説明 |
|---|---|
| XML API を使用して複数のオブジェクトを削除する | 単一の XML API を使用して複数のオブジェクトを削除すると、 Cloud Storage はデータアクセス監査ログを生成します。 これらのログには、リクエスト全体と個々のオブジェクトの削除に関する詳細が含まれます。 データアクセス監査ログを有効にしている場合。詳細については、マルチオブジェクト削除 XML API の監査ログをご覧ください。 マルチオブジェクト削除 XML API には次の制限があります。
|
| Google Cloud コンソール | 削除するオブジェクトが 100 万個までであれば、 Google Cloud コンソールの使用も推奨されます。削除リクエストを開始すると、プロセスはバックグラウンドで行われます。一括削除のステータスを確認するには、コンソールのヘッダーにある [通知]ボタン ( notifications)をクリックします。 Google Cloud |
| ストレージのバッチ オペレーション | マニフェスト ファイルに基づいて削除を実行するフルマネージド サービス。組み込みのトラッキングと再試行により、最大数十億のオブジェクトを削除するのに適しています。 次のことを行う場合は、ストレージのバッチ オペレーションを使用することをおすすめします。
|
gcloud storage rm --recursive |
共通の接頭辞を共有するすべてのオブジェクトを削除する Google Cloud CLI コマンド。CLI を使用した小規模から中規模の一括タスクに適しています。 |
| オブジェクトのライフサイクル管理 | オブジェクトの経過時間やストレージ クラスなど、定義したルールに基づいてオブジェクトを自動的に削除するサーバーサイド機能。バケット内のオブジェクトを一括削除するには、ライフサイクル
構成ルールをバケットに設定します。このルールでは、条件が Age
0 日に設定され、アクションが delete に設定されます。ルールを設定すると、Cloud Storage は非同期で一括削除を実行します。 |
| バッチ リクエスト | 特定のクライアント ライブラリを使用する場合、または JSON API を直接使用する場合は、削除リクエストをバッチ処理すると、必要な HTTP 接続の数を削減できます。 |
削除方法の選択
オブジェクトを削除するツールは、削除する必要があるオブジェクトの数と理由によって異なります。ユースケースに適した方法を選択するには、次のガイダンスを使用します。
- 1 つまたは少数の特定のオブジェクトを削除する必要がある場合は、
Google Cloud コンソール、
gcloud storage rmまたはクライアント ライブラリ や REST API を使用した単一の API 呼び出しを使用します。詳細については、単一のオブジェクトを削除するをご覧ください。 - 単一の API リクエストで最大 1,000 個のオブジェクトを削除する必要がある場合は、マルチオブジェクト削除 XML API、Amazon S3 CLI、または Boto3 などの S3 互換クライアント ライブラリを使用します。詳細については、オブジェクトを一括削除するをご覧ください。
- 共通の名前接頭辞を共有する多数のオブジェクトを削除する場合は、
gcloud storage rm --recursiveコマンドを使用します。詳細については、Google Cloud CLI を使用してオブジェクトを一括削除するをご覧ください。 - 数百万または数十億のオブジェクトを削除する必要がある場合は、 ストレージのバッチ オペレーション を使用して、信頼性の高い大規模な削除を行います。
- 特定の条件を満たしたときにオブジェクトを自動的に削除する必要がある場合は、オブジェクトのライフサイクル管理を使用します。
次のステップ
- 不要になったバケットを削除する。
- オブジェクトのバージョニングについて学習する。これにより、同じバケットに複数のバージョンのオブジェクトを保持できます。
- 条件に基づいてオブジェクトの削除やその他のアクションを自動化するようにオブジェクトのライフサイクル管理を構成する。
- ストレージのバッチ オペレーションを使用して、大規模なオブジェクトの削除を効率的に行う。
- 削除(復元可能)を使用して、オブジェクトが誤って削除されないように保護する。
- オブジェクト保持ロックとバケットロックを使用してデータ保持ポリシーを適用する方法を理解する。