スキップしてコンテンツを表示

Amazon Bedrock で発生する「Failed to delete knowledge base」エラーの解決方法方法を教えてください。

所要時間2分
0

Amazon Bedrock ナレッジベースを削除しようとすると、「Failed to delete knowledge base」というエラーが発生します。

簡単な説明

ナレッジベースの作成時に、デフォルトの dataDeletionPolicyDelete に設定されます。ナレッジベースに関連付けられているデータソースを削除した場合、ポリシーによりすべてのデータが削除されますが、ベクターストアは削除されません。dataDeletionPolicyRetain に設定すると、データソースを削除した際、ポリシーはすべてのデータを保持します。

Amazon Bedrock ナレッジベースを削除する際、次のエラーが発生する場合があります。

「Failed to delete example-knowledge-base.Unable to delete data from vector store for data source with example-id.Check your vector store configurations and permissions and retry your request.If the issue persists, consider updating the dataDeletionPolicy of the data source to RETAIN and retry your request (ベクターストアからデータを削除できません。ベクターストアの構成とアクセス許可を確認し、再試行してください。問題が解決しない場合は、データソースの dataDeletionPolicy を RETAIN に更新して再試行してください)」

このエラーは、次の原因で発生します。

  • ベクターストアは存在しないか、以前に削除された。
  • ナレッジベースの実行ロールには、ベクターストアに保存されているデータを削除するための AWS Identity and Access Management (IAM) 権限が付与されていない。
  • ナレッジベースのサービスロールには、特定のデータベース API を操作するために必要な権限が付与されていない。

このエラーを解決するには、次の 1 つ以上の手順を実行します。

解決策

関連するベクターストアが存在することを確認する

次の手順を実行します。

  1. Amazon OpenSearch Service コンソール を開きます。
  2. ナビゲーションペインで [サーバーレス] を展開し、[コレクション] を選択します。
  3. ナレッジベースに関連付けられたコレクションを検索バーに入力します。コレクションが表示されない場合は、そのベクターストアは既に削除されています。

データ削除ポリシーを Retain に設定する

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

次の手順を実行します。

  1. Amazon Bedrock コンソールを開きます。
  2. ナビゲーションペインの [ビルド][ナレッジベース] を選択します。
  3. ステータスが Delete unsuccessful であるナレッジベースを特定します。
  4. そのナレッジベースのデータソース名を選択します。
  5. [編集] を選択します。
  6. [詳細設定] を展開し、[データ削除ポリシー]Retain に設定します。
  7. [送信] を選択します。
  8. データソースを削除します。
  9. ナレッジベースを削除します

AWS CLI コマンド update-data-source を実行してデータソースの削除ポリシーを変更することもできます。

aws bedrock-agent update-data-source --region region-name --data-source-id your-data-source-id --knowledge-base-id your-knowledge-base-id --name "your-knowledge-base-name" --data-source-configuration '{"s3Configuration":{"bucketArn":"arn:aws:s3:::<S3_Bucket_Name>"},"type":"S3"}' --vector-ingestion-configuration '{"parsingConfiguration":{"bedrockFoundationModelConfiguration":{"modelArn":"arn:aws:bedrock:region: account-id:inference-profile/model_id"},"parsingStrategy":"BEDROCK_FOUNDATION_MODEL"}}' --data-deletion-policy "RETAIN"

注: 次の値を置き換えます。

  • region-name: AWS リージョン
  • your-data-source-id: データソース ID
  • your-knowledge-base-id: ナレッジベース ID
  • your-knowledge-base-name: ナレッジベース名
  • region: リージョン
  • account-id: AWS アカウント ID
  • model_id Amazon Bedrock モデル ID

IAM ロールにデータ削除権限を付与する

アクセス許可の問題を解決するには、ベクターストアに使用しているサービスに応じて、次のいずれかの手順を実行してください。

  • Amazon OpenSearch Serverless では、削除許可を付与してデータアクセスポリシーを更新します。

  • Amazon Aurora PostgreSQL 互換エディションでは、次のいずれかの SQL コマンドを実行し、プライマリユーザーにアクセス許可を付与します。

    GRANT pg_read_all_data, pg_write_all_data TO example-username;

    注: example-username をプライマリユーザー名に置き換えてください。
    または、
    次のコードを実行します。

    GRANT SELECT, DELETE ON example-schema-name. example-table-name TO example-username;

    注: 実際のものでそれぞれ、example-schema-name をスキーマ名に、example-table-name をテーブル名に、example-username をプライマリユーザーに置き換えてください。

  • サードパーティのデータベースでは、データ削除に必要なアクセス許可があることを確認してください。

AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ