このドキュメントでは、 Google Cloudで生成 AI ワークロードを実行する際の BigQuery のベスト プラクティスとガイドラインについて説明します。Vertex AI で BigQuery を使用してデータを保存します。BigQuery と Vertex AI を併用すると、データアクセスが簡素化され、スケーラブルな分析が可能になります。ML 機能を使用できるため、ML ワークフローを大幅に強化できます。
Vertex AI で BigQuery を使用するユースケースは次のとおりです。
- シームレスな統合: BigQuery と Vertex AI は緊密に統合されているため、Vertex AI プラットフォーム内でデータに直接アクセスして分析できます。この統合により、データ移動の必要性がなくなり、ML ワークフローが効率化され、負担が軽減されます。
- スケーラブルなデータ分析: BigQuery はペタバイト規模のデータ ウェアハウスを提供します。インフラストラクチャの制限を気にすることなく、大規模なデータセットを分析できます。このスケーラビリティは、大量のデータを必要とする ML モデルのトレーニングとデプロイに不可欠です。
- SQL ベースの ML: BigQuery ML では、使い慣れた SQL コマンドを使用して、BigQuery 内でモデルを直接トレーニングしてデプロイできます。この機能により、データ アナリストや SQL の実務担当者は、高度なコーディング スキルを必要とせずに ML 機能を使用できます。
- オンライン予測とバッチ予測: BigQuery ML は、オンライン予測とバッチ予測をサポートしています。個々の行に対してリアルタイム予測を実行することも、バッチモードで大規模なデータセットの予測を生成することもできます。この柔軟性により、レイテンシ要件が異なるさまざまなユースケースに対応できます。
- データ移動の削減: BigQuery ML を使用すると、モデルのトレーニングとデプロイのためにデータを個別のストレージまたはコンピューティング リソースに移動する必要がなくなります。この移動の削減により、ワークフローが簡素化され、レイテンシが短縮され、データ転送に関連する費用が最小限に抑えられます。
- モデル モニタリング: Vertex AI は包括的なモデル モニタリング機能を提供し、BigQuery ML モデルのパフォーマンス、公平性、説明可能性を追跡できます。モデル モニタリングは、モデルが期待どおりに動作していることを確認し、潜在的な問題への対処に役立ちます。
- 事前トレーニング済みモデル: Vertex AI では、自然言語処理やコンピュータ ビジョンなどの事前トレーニング済みモデルにアクセスできます。これらのモデルを BigQuery 内で使用して、分析を強化し、データからより深い分析情報を抽出できます。
- 費用対効果に優れたソリューション: BigQuery ML は、ML モデルのトレーニングとデプロイを行う費用対効果に優れた柔軟な方法を提供します。使用したリソースに対してのみ課金されるため、あらゆる規模の組織にとって手頃なオプションです。
- 高度な分析機能: BigQuery には、地理空間分析や予測などの高度な分析を行うためのツールが用意されています。これらのツールを使用すると、ML を他の分析手法と組み合わせて、より詳細なデータ探索と豊富な分析情報を得ることができます。
- コラボレーションの強化: BigQuery と Vertex AI を併用することで、データ サイエンティスト、ML エンジニア、アナリストは ML プロジェクトでシームレスにコラボレーションできます。このコラボレーションにより、複雑なデータの問題に取り組むための、より統合された効率的なアプローチを構築できます。
必要な BigQuery コントロール
BigQuery を使用する場合は、次のコントロールを実装することを強くおすすめします。
BigQuery データセットが一般公開で読み取り可能になっていないこと、または allAuthenticatedUsers に設定されていないことを確認する
| Google コントロール ID | BQ-CO-6.1 |
|---|---|
| カテゴリ | 必須 |
| 説明 | BigQuery データセット内の情報へのアクセスを特定のユーザーのみに制限します。この保護を構成するには、詳細なロールを設定する必要があります。 |
| 対象プロダクト |
|
| パス | cloudasset.assets/assetType |
| 演算子 | == |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery テーブルが一般公開で読み取り可能になっていないこと、または allAuthenticatedUsers に設定されていないことを確認する
| Google コントロール ID | BQ-CO-6.2 |
|---|---|
| カテゴリ | 必須 |
| 説明 | BigQuery テーブル内の情報へのアクセスを特定のユーザーのみに制限します。この保護を構成するには、詳細なロールを設定する必要があります。 |
| 対象プロダクト |
|
| パス | cloudasset.assets/iamPolicy.bindings.members |
| 演算子 | anyof |
| 値 |
|
| 型 | 文字列 |
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
オプションの BigQuery コントロール
これらのコントロールは省略可能です。特定のユースケースに該当する場合は、適用を検討してください。
BigQuery テーブル内の個々の値を暗号化する
| Google コントロール ID | BQ-CO-6.3 |
|---|---|
| カテゴリ | オプション |
| 説明 | 組織で BigQuery テーブル内の個々の値を暗号化する必要がある場合は、関連データを伴う認証付き暗号化(AEAD)の暗号化関数を使用します。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery データセットに承認済みビューを使用する
| Google コントロール ID | BQ-CO-6.4 |
|---|---|
| カテゴリ | オプション |
| 説明 | 承認済みビューを使用すると、データセット内のデータのサブセットを特定のユーザーと共有できます。たとえば、承認済みビューを使用すると、元のソースデータへのアクセスを許可することなくクエリの結果を特定のユーザーやグループと共有することができます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery の列レベル セキュリティを使用する
| Google コントロール ID | BQ-CO-6.5 |
|---|---|
| カテゴリ | オプション |
| 説明 | BigQuery の列レベルのセキュリティを使用して、ユーザーが適切なアクセス権を持っているかどうかをクエリの実行時に確認するポリシーを作成します。BigQuery では、データのポリシータグ(型ベースの分類)を使用し、機密性の高い列に対してきめ細かいアクセスを行うことができます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery の行レベル セキュリティを使用する
| Google コントロール ID | BQ-CO-6.6 |
|---|---|
| カテゴリ | オプション |
| 説明 | 行レベルのセキュリティとアクセス ポリシーを使用して、BigQuery テーブル内のデータのサブセットに対するきめ細かいアクセス制御を有効にします。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |
BigQuery リソースグラフを使用する
| Google コントロール ID | BQ-CO-7.1 |
|---|---|
| カテゴリ | オプション |
| 説明 | BigQuery リソースグラフを使用すると、BigQuery の組織、フォルダ、予約が BigQuery スロットをどのように使用しているか、およびクエリがどのように実行されるかを確認できます。 |
| 対象プロダクト |
|
| 関連する NIST-800-53 コントロール |
|
| 関連する CRI プロファイル コントロール |
|
| 関連情報 |