このドキュメントでは、Cloud SQL データに接続するデータストアを作成する方法について説明します。このデータストアを Gemini Enterprise app にリンクして、エージェントがデータを分析できるようにします。
Gemini Enterprise データストアを使用して Cloud SQL データに接続するには、次のいずれかのモードを使用します。
連携クエリ(推奨) [プレビュー]: データのコピーと移動による下り(外向き)費用を発生させることなく、Cloud SQL データにインプレースで接続します。連携クエリは、ID に Identity and Access Management(IAM)のアクセス権があるすべての Cloud SQL インスタンス、データベース、テーブルにクエリを直接送信します。これは分析クエリでより効率的です。連携クエリモードを使用すると、Gemini Enterprise アプリの [アシスタント] タブで Knowledge Catalog が自動的に有効になり、ユーザーがアクセスできるデータを検索してコンテキストを検索するエージェント ツールが提供されます。
データの取り込み: 特定の Cloud SQL テーブルから Gemini Enterprise データストアにデータをコピーします。Cloud SQL テーブルの変更を反映するには、データを手動で更新する必要があります。このモードでは、データを新しいロケーションに移動するための下り(外向き)料金が発生し、既存の IAM 権限はデータストアに複製されません。
始める前に
Gemini Enterprise で Cloud SQL データストアを作成するには、Gemini Enterprise 管理者(roles/discoveryengine.agentspaceAdmin)または Discovery Engine 管理者(roles/discoveryengine.admin)のロールが必要です。詳細については、管理者に権限を付与するをご覧ください。
プロジェクトが VPC Service Controls 境界で保護されている場合、または組織のポリシーの適用が有効になっている場合は、組織のポリシーでコネクタが許可されていることを確認します。
discoveryengine.managed.allowedDataSourcesマネージド制約(データ コネクタで許可されるデータソースを制限する)のallowedDataSourcesパラメータにcloudsqlを追加します。詳細については、マネージド ポリシー制約の概要と許可されるデータソースを構成するをご覧ください。
また、事前準備を完了し、使用する予定のコネクタモードに必要な Cloud SQL IAM 権限を構成します。
連携クエリ
連携クエリ モードを使用して Cloud SQL に接続するには、Cloud SQL インスタンスを含む Google Cloud プロジェクトで次の前提条件を満たします。
Cloud SQL インスタンスで Data API を有効にします。
gcloud sql instances patch <var>INSTANCE_NAME</var> \ --project=<var>PROJECT_ID</var> \ --data-api-access=ALLOW_DATA_APIIAM 権限を付与する: コネクタを介してクエリを実行したり、アクションを実行したりするユーザーに、Cloud SQL インスタンスを含む Google Cloud プロジェクトで次の IAM ロールを付与します。
- インスタンスとデータベースへのアクセス:
- 読み取り専用のクエリとツールには、Cloud SQL 閲覧者(
roles/cloudsql.viewer)と Cloud SQL クライアント(roles/cloudsql.client)(または IAM データベース認証を使用する Cloud SQL インスタンス ユーザー(roles/cloudsql.instanceUser))が必要です。 - 書き込みまたは管理のアクションが有効になっている場合は、Cloud SQL 編集者(
roles/cloudsql.editor)または Cloud SQL 管理者(roles/cloudsql.admin)。
- 読み取り専用のクエリとツールには、Cloud SQL 閲覧者(
- MCP ツールへのアクセス:
- Cloud SQL インスタンスが存在するプロジェクトで MCP ツールを呼び出すための MCP ツールユーザー(
roles/mcp.toolUser)権限。
- Cloud SQL インスタンスが存在するプロジェクトで MCP ツールを呼び出すための MCP ツールユーザー(
- インスタンスとデータベースへのアクセス:
データの取り込み
Cloud SQL からデータを取り込むには、次の IAM 権限を構成します。
- ステージング バケットへのアクセス: Cloud SQL からデータを取り込むと、データは最初に Cloud Storage バケットにステージングされます。中間 Cloud Storage バケットに対するストレージ管理者(
roles/storage.admin)ロールを、Cloud SQL インスタンスのサービス アカウント(p9876-abcd33f@gcp-sa-cloud-sql.iam.gserviceaccount.comなど)に付与します。 - プロジェクト間の Cloud SQL アクセス: 作成する Gemini Enterprise データストアを含む Google Cloud プロジェクトとは異なるソース Google Cloud プロジェクトからデータをインポートする場合は、ソース Cloud SQL プロジェクトの Cloud SQL 閲覧者(
roles/cloudsql.viewer)ロールをservice-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.comサービス アカウントに付与します(ここで、PROJECT_NUMBERは Gemini Enterprise データストアを含むGoogle Cloud プロジェクトのプロジェクト番号です)。
Cloud SQL データストアを作成する
Cloud SQL のデータを Gemini Enterprise に接続するデータストアを作成する手順は次のとおりです。
Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。
[データストア] ページに移動します。
[データストアを作成] をクリックします。
[ソース] ページで、データストアのデータソースを選択します。[データソースを選択] 検索フィールドで「Cloud SQL」を検索するか、[ファーストパーティ データソース] のリストで Cloud SQL を見つけます。[データソースを追加] を選択します。
[データ] ページで、データへの接続方法のコネクタモードを選択します。選択したモードに基づいて、次のいずれかのタブを選択して手順を確認してください。
連携クエリ
データの取り込み
- [データの取り込み] を選択します。
- インポートするデータに関する詳細を指定します。[Cloud SQL テーブルからデータをインポートする] で、次の情報を指定します。
- プロジェクト ID: Cloud SQL テーブルを含む Google Cloud プロジェクト。これは必須項目です。
- インスタンス ID: インポートするデータを含む Cloud SQL インスタンス ID。これは必須項目です。
- データベース ID: インポートするデータを含む Cloud SQL データベース ID。これは必須項目です。
- テーブル ID: インポートするデータを含む Cloud SQL テーブル ID。これは必須項目です。
- データの Google Cloud Storage バケットのロケーションを入力します。このフィールドは必須です。必要に応じて、[サーバーレス エクスポートを有効にする] を選択して、Cloud SQL サーバーレス エクスポートを使用します。サーバーレス エクスポートを有効にすると、追加料金が発生します。Cloud SQL のサーバーレス エクスポートの料金をご覧ください。
- [続行] をクリックします。
[構成] ページで、データストアの設定を構成します。
- データコネクタのロケーション: データストアのメタデータを保存するリージョンを選択します。データストアの作成後にロケーションを変更することはできません。マルチリージョンに関する重要な情報については、Gemini Enterprise のロケーションをご覧ください。
- データコネクタ名: [データコネクタ名] フィールドに、データコネクタの名前を入力します。データコネクタの作成後に名前を変更することはできません。名前を入力すると、データコネクタの一意の ID が生成されます。必要に応じて、[タグ(省略可)] フィールドにデータコネクタのタグを入力します。これは、すべてのバージョンでコネクタの安定した識別子として機能します。
- Sensitive Data Protection ポリシー: データストアの機密データの保護ポリシーを選択します。形式は
projects/{project}/locations/{location}/contentPolicies/{policy}に従う必要があります。この設定は後で編集できます。
[作成] をクリックします。
これで、データストアを Gemini Enterprise アプリに接続する準備が整いました。連携クエリモードでは、ユーザーが接続されたアプリを介してクエリを実行すると、クエリに Cloud SQL の使用料金が発生します。データ取り込みモードでは、データストアがアプリに接続される前でも、データのインポートに Cloud SQL、Cloud Storage、Gemini Enterprise のインデックス作成料金が発生します。これらの料金の詳細については、Gemini Enterprise の料金をご覧ください。
次のステップ
データストアをアプリに接続するには、Gemini Enterprise app を作成するの手順に沿ってアプリを作成し、データストアを選択します。
Knowledge Catalog が データクラウド コネクタと連携して(連携クエリモードを使用すると自動的に有効になります)、ユーザーがアクセスできるデータをエージェントが検索し、組織のコンテキストを検索する方法について説明します。
検証済みのクエリを使用して高精度のスコープ設定されたエージェントを構築するには、Cloud SQL for MySQL データ エージェントまたは Cloud SQL for PostgreSQL データ エージェントを Gemini Enterprise に公開します。