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. など)に付与します。
  • プロジェクト間の Cloud SQL アクセス: 作成する Gemini Enterprise データストアを含む Google Cloud プロジェクトとは異なるソース Google Cloud プロジェクトからデータをインポートする場合は、ソース Cloud SQL プロジェクトの Cloud SQL 閲覧者(roles/cloudsql.viewer)ロールを service-PROJECT_NUMBER@gcp-sa-discoveryengine. サービス アカウントに付与します(ここで、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 が生成されます。必要に応じて、[タグ(省略可)] フィールドにデータコネクタのタグを入力します。このタグは、すべてのバージョンでコネクタの安定した識別子として機能します。
    • 機密データの保護ポリシー: データストアの機密データの保護ポリシーを選択します。形式は、projects/{project}/locations/{location}/contentPolicies/{policy} に従う必要があります。この設定は後で編集できます。
  7. [作成] をクリックします。

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

次のステップ