4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Bedrock Knowledge Bases 構造化データ取得機能の作成でデータ同期に躓いたので、その解決策を共有します

Last updated at Posted at 2025-03-15

Amazon Bedrock Knowledge Bases 構造化データ取得機能とは

AWS re:Invent 2024 の Keynote にて、 Amazon Bedrock Knowledge Bases で構造化データ取得のサポートが発表されました。
この機能によって、データソースから構造化データを取得するための自然言語クエリを用意すると、 Bedrock が自然言語クエリを自動で SQL クエリに変換して、構造化データを取得することができるようになりました。
つまり、ユーザは構造化データを移動したり前処理したりすることなく、自然言語クエリを使って(Redshift 等のデータソースから)直接取得することが可能になります。

触ってみる

事前準備: Amazon Redshift で Redshift serverless リソースを構築し、任意のデータを取り込む。

①Amazon Bedrock のコンソールトップ画面

image.png

②「ナレッジベース」
>「ナレッジベースを作成」>「Knowledge Base structured data store」

image.png

③「ステップ1 ナレッジベースの詳細を入力」にて、

「ナレッジベースの詳細」>「ナレッジベース名」

「Data source details」>「Query engine」

「IAM許可」>「新しいサービスロールを作成して使用」 >「サービスロール名」(自動入力)

image.png

④「ステップ2 Configure query engine」にて、

「Query engine details」
>「Connection options」 
 >「Redshift serverless」
>「Workgroup」
 >作成したワークグループを選択

「Authentication」>「IAM Role」

「Default storage metadata」
>「Options」
 >「Amazon Redshift databases」
 >「Redshift database list」
>「Database」
 >「dev」

image.png

⑤「ステップ3 確認して作成」にて、

ステップ1&2の設定内容を確認して、「ナレッジベースを作成」

image.png

⑥「ステータス」=「利用可能」となったら、作成完了

image.png

⑦(Redshift serverless側にて)データベースユーザーを作成

CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;

image.png

⑧(Redshift serverless側にて)データベースユーザーにデータベースから情報を取得する権限を付与

GRANT SELECT ON ${schemaName}.${tableName} TO "IAMR:${serviceRole}";

image.png

躓き

この後、メタデータの取り込み処理=「同期(Sync)」において失敗。
※同期してメタデータを取得することにより、Amazon Bedrock Knowledge Bases はユーザープロンプトを接続されたデータベースのクエリに変換できるようになります。

次のコマンドを実行することで解決!

GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";

※同期失敗の原因:スキーマを新規作成していたが、その使用権限が不足していた。

なお、記事作成時点では、以下リンク先の公式ドキュメントが公開されており、私が躓いたポイントに対する対策がまとめられていました。

image.png

https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-prereq-structured-db-access.html

参考情報

・Amazon Bedrock Knowledge Bases 構造化データ取得機能を検証するにあたって参考にした記事

・筆者にて当記事に関する LT を行った際の PowerPoint スライド

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?