Cloud SQL に接続する

このドキュメントでは、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 境界で保護されている場合、または組織のポリシーの適用が有効になっている場合は、組織のポリシーでコネクタが許可されていることを確認します。

また、事前準備を完了し、使用する予定のコネクタモードに必要な Cloud SQL IAM 権限を構成します。

連携クエリ

連携クエリ モードを使用して Cloud SQL に接続するには、Cloud SQL インスタンスを含む Google Cloud プロジェクトで次の前提条件を満たします。

  1. Cloud SQL インスタンスで Data API を有効にします。

    gcloud sql instances patch <var>INSTANCE_NAME</var> \
        --project=<var>PROJECT_ID</var> \
        --data-api-access=ALLOW_DATA_API
    
  2. IAM 権限を付与する: コネクタを介してクエリを実行したり、アクションを実行したりするユーザーに、Cloud SQL インスタンスを含む Google Cloud プロジェクトで次の IAM ロールを付与します。

データの取り込み

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 に接続するデータストアを作成する手順は次のとおりです。

  1. Google Cloud コンソールで、[Gemini Enterprise] ページに移動します。

    Gemini Enterprise

  2. [データストア] ページに移動します。

  3. [データストアを作成] をクリックします。

  4. [ソース] ページで、データストアのデータソースを選択します。[データソースを選択] 検索フィールドで「Cloud SQL」を検索するか、[ファーストパーティ データソース] のリストで Cloud SQL を見つけます。[データソースを追加] を選択します。

  5. [データ] ページで、データへの接続方法のコネクタモードを選択します。選択したモードに基づいて、次のいずれかのタブを選択して手順を確認してください。

    連携クエリ

    1. [連携クエリ(推奨)] を選択します。[続行] をクリックします。
    2. [アクション] ページで、データストアで有効にする Cloud SQL アクションを選択します。これらの設定は後で編集できます。[続行] をクリックします。

    データの取り込み

    1. [データの取り込み] を選択します。
    2. インポートするデータに関する詳細を指定します。[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 のサーバーレス エクスポートの料金をご覧ください。
    3. [続行] をクリックします。
  6. [構成] ページで、データストアの設定を構成します。

    • データコネクタのロケーション: データストアのメタデータを保存するリージョンを選択します。データストアの作成後にロケーションを変更することはできません。マルチリージョンに関する重要な情報については、Gemini Enterprise のロケーションをご覧ください。
    • データコネクタ名: [データコネクタ名] フィールドに、データコネクタの名前を入力します。データコネクタの作成後に名前を変更することはできません。名前を入力すると、データコネクタの一意の ID が生成されます。必要に応じて、[タグ(省略可)] フィールドにデータコネクタのタグを入力します。これは、すべてのバージョンでコネクタの安定した識別子として機能します。
    • Sensitive Data Protection ポリシー: データストアの機密データの保護ポリシーを選択します。形式は projects/{project}/locations/{location}/contentPolicies/{policy} に従う必要があります。この設定は後で編集できます。
  7. [作成] をクリックします。

これで、データストアを Gemini Enterprise アプリに接続する準備が整いました。連携クエリモードでは、ユーザーが接続されたアプリを介してクエリを実行すると、クエリに Cloud SQL の使用料金が発生します。データ取り込みモードでは、データストアがアプリに接続される前でも、データのインポートに Cloud SQL、Cloud Storage、Gemini Enterprise のインデックス作成料金が発生します。これらの料金の詳細については、Gemini Enterprise の料金をご覧ください。

次のステップ