【小ネタ】Amazon Bedrock Knowledge Basesのデータソースの同期ボタンが反応しない時の対処法
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
データ事業本部ビッグデータチームのyosh-kです。
今回は件名の通り、Amazon Bedrock Knowledge Bases作成後にデータソースの同期ボタンが全く反応しない事象に対処したので、その対処方法をメモしておきます。
事象
以下、画面の同期ボタンを押下しましたが、いくら待てど同期がスタートせず、エラーメッセージも同画面から表示されない状態でした。
※ 画面が固まっているのかなと何回もボタンを連打しないように注意してください。後から気づいたのですが、ちゃんと同期ボタンは機能しています。

対処方法
公式ページにもある通り、Amazon Bedrock のすべてのAPI呼び出しイベントはAWS CloudTrailに記録されています。
AWS CloudTrailのイベント履歴を確認したところ、イベントソースがbedrock.amazonaws.comであるStartIngestionJobが押下した分、記録されていました。(押下しすぎた..)

中身を確認したところ、responseElementsのmessageにエラー内容が記載されています。

Knowledge base roleがモデルに対してのアクセス権がないというエラー内容です。Knowledge base roleは画面上でAmazon Bedrock Knowledge Basesを作成する際に作成されたIAM Roleなので、設定に問題はありませんでした。ここで気づきましたが、us-east-1::foundation-model/cohere.embed-multilingual-v3モデルのモデルアクセス リクエストを出していませんでした。会社で共通で使用しているアカウントなので誰かがやっているだろうと思い込みアクセスリクエストを出していなかったというケアレスミスです。。
"responseElements": {
"message": "Knowledge base role arn:aws:iam::<aws_account_id>:role/service-role/AmazonBedrockExecutionRoleForKnowledgeBase is not able to call specified bedrock embedding model arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-multilingual-v3: You don't have access to the model with the specified model ID. (Service: BedrockRuntime, Status Code: 403, Request ID)"
},
モデルアクセスは、Bedrock configurationsのモデルアクセスからリクエストできます。

ということで、モデルのリクエストが承認された後に改めて同期ボタンを押下したらSyncing状態となり、その後に同期が完了しました。

最後に
これからは基本の確認を怠らないようにしたいと思います。






