このページでは、バケットのロケーションとしてゾーンを設定して、Rapid Storage ストレージ クラスにオブジェクトを保存できる機能である Rapid Bucket について説明します。このアプローチでは、データ ストレージをコンピューティング リソースと同じ場所に配置できるため、Cloud Storage の他のストレージ クラスと比較して、レイテンシが大幅に短縮され、スループットが向上します。他のゾーンやリージョンのワークロードも、ネットワーク距離に応じたパフォーマンスでバケットにアクセスできます。
Rapid Bucket を使用してゾーンバケットを作成するには、ゾーンバケットを作成するをご覧ください。 サポートされているロケーションの一覧は、ゾーンで確認できます。ゾーンバケット内のオブジェクトの読み取りと追加 を行うには、ゾーンバケット内のオブジェクトを使用するをご覧ください。
バケットで Rapid Bucket を有効にするには、バケットで 階層型名前空間と均一なバケットレベルのアクセスも有効にする必要があります。
機能とメリット
Rapid Bucket は、ストレージのボトルネックを解消するために構築されており、AI/ML やデータ分析など、データ集約型のアプリケーションに最適です。 Rapid Bucket は、ミリ秒未満のレイテンシ、最大 15 TB/秒の集計スループット、1 秒あたり 2,000 万件の秒間クエリ数(QPS)をサポートしています。超低レイテンシにより、データを瞬時に取得できるため、リアルタイム推論アプリケーションを大規模に実行できます。大量のスループットと高い QPS により、高価な GPU クラスタを完全に飽和状態に保ち、モデルのトレーニング時間を大幅に短縮できます。
ゾーンバケットでは、低レイテンシと高スループットを実現できるだけでなく、次のことも可能です。
オブジェクトを完全に書き換えることなく、ゾーンバケット内のオブジェクトに追加する
オペレーションの実行中にオブジェクトを開いてストリームを維持し、後続の読み取りと書き込みを高速化する
ユースケース
Rapid Bucket は、AI/ML ワークロードやその他のデータ集約型ワークロードに最適です。このようなワークロードの例としては、モデルのチェックポイント、評価、サービング、ロギング、メッセージ キューなどがあります。ストリーミング データやデータベースのストレージにも使用できます。
Rapid Bucket が提供する低レイテンシと高スループットを最大限に活用するには、 gRPC 直接接続を有効にしてください。
Rapid Bucket の用語
Cloud Storage のドキュメントでは、次の用語を使用します。
Rapid Bucket: ゾーンロケーションと Rapid Storage ストレージ クラスでバケットを作成できるプロダクト。
Rapid Storage: Cloud Storage で最も高いデータアクセス と I/O オペレーションのパフォーマンスを提供するストレージ クラス。Rapid Bucket を使用すると、Rapid Storage を使用するバケットが作成されます。Rapid Storage の詳細については、ストレージ クラスをご覧ください。
ゾーンバケット: ゾーンに配置されているバケット。ゾーンバケット内のオブジェクトは常に Rapid Storage に保存され、追加可能です。
ゾーンバケット内のオブジェクトへのアクセス
ゾーンバケットのパフォーマンス上のメリットを得るには、オブジェクトをストリーミング用に開き、オブジェクトに対するオペレーションの実行中にストリームを維持します。 ストリームを確立して維持すると、非常に低いレイテンシでオブジェクトに対する後続の読み取りまたは書き込みオペレーションを実行できます。たとえば、Parquet ファイルを読み取る場合、ファイルのメタデータ(フッター)の最初の読み取りと、特定の行の後続の読み取りの両方を 1 つのリクエストで実行できます。 このアプローチは、各ステップに個別のリクエストを使用するよりも効率的です。
確立されると、Cloud Storage FUSE または Cloud Storage クライアント ライブラリを使用してゾーンバケット オブジェクトにアクセスするときに、オブジェクト ストリームはデフォルトで開いたままになります。
任意の数のホストからオブジェクトへの読み取りストリームを複数開くことができます。 オブジェクトに確立できる読み取りストリームの数に制限はありません。
オブジェクトの追加
ゾーンバケット内のオブジェクトにデータを追加できます。オブジェクトに追加する場合、次のセマンティクスが適用されます。
追加可能なオブジェクトは、書き込みを開始するとすぐにバケット Namespace に表示され、書き込み中も読み取ることができます。
オブジェクトに追加できる回数や、一度に追加できるバイト数に制限はありません。オブジェクトが最大サイズ 5 TiB に達するまで追加できます。
新しい追加が永続的に書き込まれるかフラッシュされると、オブジェクトのサイズはリアルタイムで増加します。読み取りストリームを確立する場合は、オブジェクトのサイズが更新されるまでに最小限の遅延が発生することを想定してください。
追加可能なオブジェクトのライターは一度に 1 つのみです。既存の書き込みストリームを持つオブジェクトに対して新しい書き込みストリームが確立されると、Cloud Storage から元のストリームにエラーが返され、元のストリームは書き込みできなくなります。新しいライターは、オブジェクトに他のインターリーブされた追加を行わずに、最後に永続化されたオフセットから追加を再開できます。
オブジェクトのファイナライズ
オブジェクトがファイナライズされた後は、追加できなくなりますが、新しいバージョンでオブジェクトを上書きすることはできます。ファイナライズされたオブジェクトのメタデータは変更可能です。たとえば、新しいタグを追加したり、オブジェクトの名前を変更したりできます。
ゾーンバケットのマウント
Cloud Storage FUSE または Cloud Storage FUSE CSI ドライバを使用して、ゾーンバケットをマウントしてアクセスできます。Cloud Storage FUSE バージョン 3.7.2 以降を使用してください。Cloud Storage FUSE CSI ドライバを使用するには、Google Kubernetes Engine のバージョンが 1.35.0-gke.3047001 以降である必要があります。
サポートされているツール
Cloud Storage のほとんどの ツールを使用して、ゾーンバケットを操作できます。ただし、次の制限が適用されます。
ゾーン以外のバケット用の標準クライアント ライブラリ API を使用して、ゾーンバケットに書き込むことはできません。ゾーンバケットに書き込むには、ゾーンバケットでサポートされている API を使用するようにコードを変更する必要があります。使用する API については、 ゾーンバケット内のオブジェクトを使用するのクライアント ライブラリのコードサンプルをご覧ください。
gRPC を使用する場合、ゾーンバケットに書き込むには
BidiWriteObjectAPI のみを使用できます。追加可能なオブジェクトは、追加可能モードのBidiWriteObjectRPC 呼び出しでのみサポートされます。他の gRPC 書き込みメソッド(1 回限りの書き込みや再開可能な書き込みなど)や他の RPC 呼び出し(WriteObjectなど)では、追加可能なオブジェクトはサポートされません。JSON API を使用してゾーンバケットに書き込むことはできません。
Rapid Bucket は、GCSFS Python ライブラリ バージョン 2026.3.0 以降でサポートされています。
Google Cloud CLI の制限事項:
サポートされている Google Cloud CLI の最小バージョン: ゾーンバケットをサポートする gcloud CLI の最小バージョンは 553.0.0 です。以前のバージョンはゾーンバケットと互換性がありません。最新の機能とバグ修正を入手するには、 最新バージョンの gcloud CLI を使用することをおすすめします。ゾーンバケットのオブジェクトのスライス ダウンロードとパフォーマンスの最適化には、gcloud CLI バージョン 583.0.0 以降が必要です。詳細については、 ゾーンバケットの gcloud CLI のパフォーマンスを調整するをご覧ください。
不完全なアップロードの可視性: アップロードが完了した後にのみオブジェクトが Namespace に表示される他のストレージ クラスのバケットとは異なり、ゾーンバケットに部分的にアップロードされたオブジェクトは すぐに表示されます。Google Cloud CLI のアップロード コマンドが失敗した場合や中断された場合は、バケットに不完全なオブジェクトが表示されることがあります。コマンドを再実行すると、これらのアップロードを再開できます。
オブジェクトの上書き: 標準の Google Cloud CLI の動作はゾーンバケットに適用されます。オブジェクトを上書きするときに、宛先に同じ名前のファイルまたはオブジェクトが存在する場合、Google Cloud CLI の
cp、mv、rsyncコマンドはデフォルトで上書きします。上書きを防ぐには、--no-clobberフラグを使用します。Google Cloud CLI を使用する場合、既存のオブジェクトへのデータの追加はサポートされていません。ソース全体を再アップロードする必要があります。オブジェクトのファイナライズ: Google Cloud CLI を使用してゾーンバケットにアップロードされたオブジェクトでは、オブジェクトのメタデータが完全に同期されるまでに短い遅延が発生することがあります。Cloud Storage は結果整合性モデルを使用するため、アップロード直後にオブジェクトをダウンロードしようとすると、メタデータがまだ更新されていない場合にハッシュの不一致エラーが発生する可能性があります。
アップロード直後にハッシュの不一致エラーでダウンロードが失敗した場合は、コマンドを再試行してください。ダウンロードは完全に成功するか、明示的に失敗します。部分的なダウンロードや破損したダウンロードはサイレントに発生しません。
チェックサム検証のパフォーマンス: ゾーンバケットはデータ検証に CRC32C のみを使用するため、システムは チャンクごと、アップロードまたはダウンロード全体でチェックサムを実行できます。デフォルトでは、Google Cloud CLI は
google-crc32cPython ライブラリを使用します。これは Google Cloud CLI にプリインストールされています。ただし、バンドルされていない Python インストールを使用している場合は、google-crc32cライブラリを PyPI から明示的にインストールする必要があります。そうしないと、Google Cloud CLI はgcloud-crc32cバイナリにフォールバックし、チャンクごとの CRC 計算のパフォーマンスが低下する可能性があります。
非互換性
ゾーンバケットは、次のプロダクトやサービスと互換性がありません。
データのアップロードと管理
Rapid Cache
Autoclass
バケットロック
複合オブジェクト
XML マルチパート アップロード
オブジェクト保留
オブジェクトのライフサイクル管理の
SetStorageClassアクションオブジェクト保持ロック
バケットの再配置
再開可能なアップロード
オブジェクトの書き換え
リクエスト元による支払い
メタデータ
ゾーンバケット内のオブジェクトには MD5 ハッシュがありません。
サポートされていない機能やプロダクトに関連付けられたメタデータ プロパティは、ゾーンバケットまたは追加可能なオブジェクトのリソース表現に表示されないか、書き込みできません。次に例を示します。
softDeleteTimeメタデータ プロパティとhardDeleteTimeメタデータ プロパティは、ゾーンバケット内のオブジェクトでは削除(復元可能)がサポートされていないため、Objectsリソースのリソース表現に表示されません。ゾーンバケット内のオブジェクトの
storageClassメタデータは常にRAPIDの値になり、書き換えることはできません。これは、ゾーンバケットでは常に Rapid Storage クラスを使用する必要があるためです。
アクセス制御
オブジェクト レベルのアクセス制御リスト(ACL)
CORS 構成
顧客指定の暗号鍵(CSEK)
HMAC キー
データ保護と障害復旧
オブジェクトのバージョニング
削除(復元可能)
クロスバケット レプリケーション
その他の Google Cloud サービス
- BigQuery
割り当て
プロジェクトごとのゾーンには、デフォルトのストレージ容量割り当てがあります。プロジェクトごとのゾーンには、Cloud Storage から Google サービスへのデフォルトの下り(外向き)割り当てもあります。これらの割り当てを表示するには、割り当てと上限をご覧ください。
データの下り(外向き)の使用状況をモニタリングして帯域幅の追加をリクエストする方法については、 帯域幅の使用状況のモニタリングをご覧ください。
料金
Rapid Bucket を使用すると、データ ストレージ、オペレーション、ネットワーキングの料金が発生します。詳細については、料金をご覧ください。
ベスト プラクティス
ゾーンバケットを使用する際のパフォーマンスとリソース使用率を最適化するには、次のベスト プラクティスを検討してください。
オブジェクトの読み取りを最適化する: gcloud CLI を使用してゾーンバケットからオブジェクトを読み取ると、CLI はデフォルトの同時実行とスライス構成を自動的に適用します。特定の ワークロードに合わせてこれらの設定をさらに調整するには、ゾーンバケットの gcloud CLI のパフォーマンスを調整するをご覧ください。
Cloud Storage FUSE ファイル ハンドル: Cloud Storage FUSE でゾーン バケットを使用する際のパフォーマンスを最適化するには、マウントされたゾーンバケット内のオブジェクトへのファイル ハンドルを開いたままにして、複数のオペレーションで使用します。Cloud Storage FUSE は繰り返しの読み取りで不要なネットワーク ラウンドトリップを回避するため、この方法でパフォーマンスが向上します。
次のステップ
- ゾーンバケットを作成する方法を確認する。
- ゾーンバケット内のオブジェクトを使用する方法を確認する。
- ゾーンバケットの gcloud CLI のパフォーマンスを調整する。