不要になったオブジェクトを削除すると、ストレージ費用を削減し、データ保持要件を遵守し、バケットを整理できます。Cloud Storage は、オブジェクトを削除する 2 つの主な方法をサポートしています。
- 単一オブジェクトの削除: ターゲット更新の個々のオブジェクトを削除します。
- オブジェクトの一括削除: 複数のオブジェクトを同時に、または自動化されたスケジュールで削除します。
Cloud Storage には、削除方法ごとに、オブジェクトを手動、プログラム、または自動化されたポリシーで削除するためのさまざまなツールが用意されています。これらの削除方法と利用可能なツールを確認して、ワークロードに最適なアプローチを選択します。
オブジェクトを削除する手順については、オブジェクトを削除するをご覧ください。
単一オブジェクトの削除
単一オブジェクトの削除により、特定のデータを正確に制御できます。通常、バケットのデータに対して即時のターゲット更新を行う必要がある場合に、単一のオブジェクトを削除します。単一オブジェクトの削除の一般的なユースケースは次のとおりです。
エラーの修正: 誤ってアップロードしたオブジェクトや、誤ったデータを含むオブジェクトを削除します。
クリーンアップ: タスクの完了後に一時オブジェクトまたはログを手動で削除すること。
アプリケーション ロジック: ユーザーがプロフィール写真を削除するなど、アプリケーション イベントが発生したときにオブジェクトを自動的に削除します。
セキュリティとコンプライアンス: オブジェクトを削除して機密情報を削除します。
単一オブジェクトの削除ツール
バケットから 1 つのオブジェクトを削除するには、次のいずれかのツールを使用します。各ツールは、オブジェクトごとに個別の 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 API を使用してオブジェクトを削除します。 |
オブジェクトの一括削除
一括オブジェクト削除は、大規模なデータセットに対する高効率のオペレーション用に設計されています。一括削除を使用して、ストレージ費用を管理し、バケット間のデータの整備を自動化します。オブジェクトの一括削除の一般的なユースケースは次のとおりです。
費用の最適化: 古いログや一時的なビルド アーティファクトなど、オペレーションに不要になった大規模なデータセットを削除します。
コンプライアンスの自動化: 特定の保持期間(30 日など)の経過後にオブジェクトを削除することで、データ保持ポリシーを自動的に適用します。
バケットの移行または廃止: データの移行時またはプロジェクトの終了時に、数百万または数十億のオブジェクトをクリアします。
データ パイプラインのクリーンアップ: パイプラインが最終レポートまたはデータセットを生成した後に、中間処理オブジェクトを削除します。
オブジェクトの一括削除ツール
オブジェクトを一括で削除するには、次のいずれかのツールを使用します。これらのツールは、個々のリクエストと比較して、スループットの向上とオーバーヘッドの削減に最適化されています。
| ツール | 説明 |
|---|---|
| Google Cloud コンソール | 最大 100 万個のオブジェクトをインタラクティブに削除します。削除リクエストを開始すると、Cloud Storage はバックグラウンドで削除を処理します。一括削除のステータスを確認するには、 Google Cloud コンソールのヘッダーにある通知ボタン( notifications)をクリックします。 |
| Google Cloud CLI | gcloud storage rm --recursive コマンドを使用して、共通の接頭辞を共有するすべてのオブジェクトを削除します。このコマンドは、コマンドラインから小規模から中規模のデータを一括削除する場合に適しています。 |
| 複数オブジェクト削除 XML API | 1 回の XML API を使用して複数のオブジェクトを削除すると、Cloud Storage はデータアクセス監査ログを生成します。データアクセス監査ログを有効にすると、これらのログにはリクエスト全体と個々のオブジェクトの削除に関する詳細が含まれます。詳細については、複数オブジェクト削除 XML API の監査ログをご覧ください。 マルチオブジェクト削除 XML API には次の制限があります。
|
| ストレージのバッチ オペレーション | 組み込みの追跡と再試行を備えたフルマネージド サービスを使用して、マニフェスト ファイルに基づいて最大数十億個のオブジェクトを削除します。 ストレージ バッチ オペレーションを使用して、次のタスクを行います。
|
| オブジェクトのライフサイクル管理 | オブジェクトの経過時間やストレージ クラスなど、ユーザー定義のライフサイクル ルールに基づいてオブジェクトを自動的に削除します。オブジェクトを一括削除するには、バケットにオブジェクトのライフサイクル管理ルールを構成します。条件 Age を 0 日に設定し、アクションを Delete に設定します。ルールを設定すると、Cloud Storage は非同期で一括削除を実行します。 |
| バッチ API リクエスト | サポートされているクライアント ライブラリまたは JSON API を直接使用する場合、複数の削除リクエストを 1 つの HTTP リクエストにバッチ処理します。バッチ処理により、クライアントサイドの接続オーバーヘッドとレイテンシが削減されます。 |
削除方法の選択
オブジェクトの削除に最適な方法とツールは、オブジェクトの数とワークフローの要件によって異なります。次の意思決定マトリックスを使用して、ユースケースのアプローチを選択します。
| ユースケース | 削除方法 | 推奨ツール |
|---|---|---|
| 個々のオブジェクトまたは少数の特定のオブジェクトを削除する | 単一オブジェクトの削除 | Google Cloud console、gcloud storage rm、クライアント ライブラリ、または REST API |
| 1 回のプログラム リクエストで最大 1,000 個のオブジェクトを削除する | オブジェクトの一括削除 | マルチオブジェクト削除 XML API、Amazon S3 CLI、または Amazon S3 互換のクライアント ライブラリ(Boto3 など) |
| 共通の接頭辞を共有するオブジェクトを削除する | オブジェクトの一括削除 | gcloud storage rm --recursive |
| ブラウザで最大 100 万個のオブジェクトをインタラクティブに削除する | オブジェクトの一括削除 | Google Cloud コンソール |
| 組み込みのトラッキングを使用して、数百万または数十億のオブジェクトを非同期で削除する | オブジェクトの一括削除 | ストレージのバッチ オペレーション |
| 条件(経過時間やストレージ クラスなど)に基づいてオブジェクトを自動的に削除する | オブジェクトの一括削除 | オブジェクトのライフサイクル管理 |
次のステップ
- バケットが不要になったら、バケットを削除します。
- オブジェクトのバージョニングについて学習し、同じバケットに複数のバージョンのオブジェクトを保持する。
- カスタム条件に基づいてオブジェクトの削除を自動化するように、オブジェクトのライフサイクル管理を構成します。
- ストレージ バッチ オペレーションを使用して、大規模なオブジェクトの削除を実行します。
- 削除(復元可能)を使用して、オブジェクトが誤って削除されないように保護します。
- オブジェクト保持ロックとバケットロックを使用して、データ保持ポリシーを適用します。