このページでは、ゾーンをバケットのロケーションとして設定して、高速ストレージ クラスにオブジェクトを保存できる Rapid Bucket 機能について説明します。このアプローチでは、データ ストレージをコンピューティング リソースとコロケーションできるため、Cloud Storage の他のストレージ クラスと比較して、レイテンシが大幅に短縮され、スループットが向上します。他のゾーンとリージョンのワークロードもバケットにアクセスできますが、パフォーマンスはネットワーク距離に比例します。
Rapid Bucket を使用してゾーンバケットを作成するには、ゾーンバケットを作成するをご覧ください。サポートされているロケーションのリストについては、ゾーンをご覧ください。ゾーン バケット内のオブジェクトを読み取って追加するには、ゾーン バケット内のオブジェクトを使用するをご覧ください。
バケットで Rapid Bucket を有効にするには、バケットで階層型名前空間と均一なバケットレベルのアクセスも有効にする必要があります。
機能とメリット
Rapid Bucket は、ストレージのボトルネックを解消するために構築されており、AI/ML やデータ分析など、データ量の多いアプリケーションでの使用に最適です。Rapid Bucket は、ミリ秒未満のレイテンシ、最大 15 TB/秒の集約スループット、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 クライアント ライブラリを使用してゾーン バケット オブジェクトにアクセスすると、デフォルトで開いたままになります。
任意の数のホストからオブジェクトへの複数の読み取りストリームを開くことができます。オブジェクトに確立できる読み取りストリームの数に制限はありません。
オブジェクトの追加
ゾーンバケット内のオブジェクトにデータを追加できます。オブジェクトに付加を行う場合、次のセマンティクスが適用されます。
追加可能なオブジェクトは、書き込みを開始するとすぐにバケット名前空間に表示され、書き込み中も読み取ることができます。
オブジェクトに追加できる回数や、一度に追加できるバイト数に制限はありません。オブジェクトが最大サイズ(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 の最新バージョンを使用することをおすすめします。
未完了のアップロードの可視性: 他のストレージ クラスのバケットとは異なり、オブジェクトはアップロードが完了した後にのみ名前空間に表示されますが、ゾーンバケット内の部分的にアップロードされたオブジェクトはすぐに表示されます。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 インストールを使用している場合は、PyPI からgoogle-crc32cライブラリを明示的にインストールする必要があります。それ以外の場合、Google Cloud CLI はgcloud-crc32cバイナリにフォールバックします。これにより、チャンクごとの CRC 計算のパフォーマンスが低下する可能性があります。
非互換性
ゾーンバケットは、次のプロダクトやサービスと互換性がありません。
データのアップロードと管理
Rapid Cache
Autoclass
バケットロック
複合オブジェクト
XML マルチパート アップロード
オブジェクト保留
オブジェクトのライフサイクル管理
SetStorageClassアクションオブジェクト保持ロック
バケットの再配置
再開可能なアップロード
オブジェクトの書き換え
リクエスト元による支払い
メタデータ
ゾーンバケット内のオブジェクトには MD5 ハッシュがありません。
サポートされていない機能やプロダクトに関連付けられたメタデータ プロパティは、ゾーン バケットまたは追加可能なオブジェクトのリソース表現に表示されません。また、書き込み可能でない場合もあります。次に例を示します。
ゾーン バケット内のオブジェクトでは削除(復元可能)がサポートされていないため、
softDeleteTimeメタデータ プロパティとhardDeleteTimeメタデータ プロパティはObjectsリソースのリソース表現に表示されません。ゾーンバケット内のオブジェクトの
storageClassメタデータは常にRAPIDの値になり、書き換えることはできません。これは、ゾーンバケットで常に Rapid Storage ストレージ クラスを使用する必要があるためです。
アクセス制御
オブジェクト レベルのアクセス制御リスト(ACL)
CORS 構成
顧客指定の暗号鍵(CSEK)
HMAC キー
データ保護と障害復旧
オブジェクトのバージョニング
削除(復元可能)
クロスバケット レプリケーション
その他の Cloud de Confiance by S3NS サービス
- BigQuery
割り当て
プロジェクトの各ゾーンには、デフォルトのストレージ容量割り当てがあります。プロジェクトの各ゾーンには、Cloud Storage からS3NS サービスへのデフォルトの下り(外向き)割り当てもあります。これらの割り当てを表示するには、割り当てと上限をご覧ください。
データの下り(外向き)使用量をモニタリングして帯域幅の増強をリクエストする方法については、帯域幅の使用量のモニタリングをご覧ください。
料金
Rapid Bucket を使用すると、データ ストレージ、オペレーション、ネットワーキングの料金が発生します。詳細については、料金をご覧ください。
ベスト プラクティス
Cloud Storage FUSE でゾーン バケットを使用する際のパフォーマンスを最適化するには、マウントされたオブジェクトへのオープン ファイル ハンドルを維持し、複数のオペレーションで使用します。これにより、Cloud Storage FUSE が読み取りを繰り返すたびに不要なネットワーク ラウンド トリップを実行することを回避できるため、パフォーマンスが向上します。
次のステップ
- ゾーンバケットを作成する方法を確認する。
- ゾーンバケットでオブジェクトを使用する方法を確認する。