Amazon RDS/Aurora - Amazon Kendra

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon RDS/Aurora

データベースデータソースを使用して、データベースに保存されているドキュメントにインデックスを作成することができます。データベースの接続情報を提供した後、 はドキュメント Amazon Kendra に接続してインデックスを作成します。

Amazon Kendra は、次のデータベースをサポートしています。

  • Amazon Aurora MySQL

  • Amazon Aurora PostgreSQL

  • Amazon RDS MySQL 用

  • Amazon RDS for PostgreSQL

注記

サーバーレス Aurora データベースはサポートされていません。

重要

この Amazon RDS/Aurora コネクタは、2023 年末までに廃止される予定です。

Amazon Kendra が新しいデータベースデータソースコネクタをサポートするようになりました。エクスペリエンスを向上させるために、ユースケースに応じて次の新しいコネクタから選択することをお勧めします。

Amazon Kendra コンソールDatabaseConfiguration API を使用してデータベースデータソース Amazon Kendra に接続できます。

Amazon Kendra データベースデータソースコネクタのトラブルシューティングについては、「」を参照してくださいデータソースのトラブルシューティング

サポートされている機能

Amazon Kendra データベースデータソースコネクタは、次の機能をサポートしています。

  • フィールドマッピング

  • ユーザーコンテキストフィルタリング

  • 仮想プライベートクラウド (VPC)

前提条件

を使用してデータベースデータソース Amazon Kendra のインデックスを作成する前に、データベースと AWS アカウントでこれらの変更を行います。

データベースで以下を確認してください。

  • データベースのユーザー名とパスワードの基本認証情報を記録しました。

  • ホスト名、ポート番号、ホストアドレス、データベース名、ドキュメントデータが含まれているデータテーブルの名前をコピーしました。PostgreSQL の場合、データテーブルはパブリックテーブルまたはパブリックスキーマである必要があります。

    注記

    ホストとポートは、インターネット上のデータベースサーバー Amazon Kendra の場所を指定します。データベース名とテーブル名は、データベースサーバー上のドキュメントデータ Amazon Kendra の場所を示します。

  • ドキュメントデータを含むデータテーブル内の列の名前をコピーしました。ドキュメント ID、ドキュメント本文、ドキュメントが変更されたかどうかを検出する列 (最終更新列など)、カスタムインデックスフィールドにマッピングされるオプションのデータテーブル列を含める必要があります。Amazon Kendra の予約済みフィールド名をテーブルの列にマッピングできます。

  • MySQL で使用するか別のタイプ Amazon RDS に使用するかなどのデータベースエンジンタイプ情報をコピーしました。

  • 各ドキュメントがデータベースおよび同じインデックスを使用予定の他のデータソース間で一意であることを確認しました。インデックスに使用する各データソースには、データソース全体に同じドキュメントが含まれていてはなりません。ドキュメント ID はインデックス全体に適用され、インデックスごとに一意である必要があります。

で AWS アカウント、以下があることを確認します。

  • Amazon Kendra インデックスを作成し、API を使用している場合はインデックス ID を記録しました。

  • データソースの IAM ロールを作成し、 API を使用している場合は、 IAM ロールの ARN を記録しました。

    注記

    認証タイプと認証情報を変更する場合は、 IAM ロールを更新して正しい AWS Secrets Manager シークレット ID にアクセスする必要があります。

  • データベースの認証情報を AWS Secrets Manager シークレットに保存し、API を使用している場合は、シークレットの ARN を記録済み。

    注記

    認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません

既存の IAM ロールまたはシークレットがない場合は、データベースデータソースを に接続するときに、コンソールを使用して新しい IAM ロールと Secrets Manager シークレットを作成できます Amazon Kendra。API を使用している場合は、既存の IAM ロールと Secrets Manager シークレットの ARN とインデックス ID を指定する必要があります。

接続手順

データベースデータソース Amazon Kendra に接続するには、 がデータ Amazon Kendra にアクセスできるように、データベースデータソースの必要な詳細を入力する必要があります。のデータベースをまだ設定していない場合は Amazon Kendra、「」を参照してください前提条件

Console

データベース Amazon Kendra に接続するには

  1. にサインイン AWS Management Console し、Amazon Kendra コンソール を開きます。

  2. 左側のナビゲーションペインで、[インデックス] を選択し、インデックスのリストから使用するインデックスを選択します。

    注記

    [インデックスの設定] で、[ユーザーアクセスコントロール] 設定を設定または編集できます。

  3. [使用開始] ページで、[データソースを追加] を選択します。

  4. データソースの追加ページで、データベースコネクタ を選択し、コネクタの追加 を選択します。バージョン 2 (該当する場合) を使用している場合は、「V2.0」タグが付いたデータベースコネクタを選択します。

  5. [データソースの詳細を指定] ページで、次の情報を入力します。

    1. [名前と説明][データソース名] に、データソースの名前を入力します。ハイフン (-) は使用できますが、スペースは使用できません。

    2. (オプション) [説明] - オプションで、データソースの説明を入力します。

    3. デフォルト言語 - ドキュメントをフィルタリングしてインデックスを作成する言語を選択します。特に指定しない限り、言語はデフォルトで英語に設定されます。ドキュメントのメタデータで指定された言語は、選択した言語よりも優先されます。

    4. タグ で、新しいタグを追加 — リソースを検索およびフィルタリングしたり、 AWS コストを追跡したりするためのオプションのタグを含めます。

    5. [次へ] をクリックします。

  6. [アクセスとセキュリティの定義] ページで、次の情報を入力します。

    1. [エンドポイント] - DNS ホスト名、IPv4 アドレス、または IPv6 アドレス。

    2. [ポート] - ポート番号。

    3. [データベース] - データベース名。

    4. [テーブル名] - テーブル名。

    5. [認証のタイプ][既存] または [新規] を選択してデータベース認証情報を保存します。新しいシークレットの作成を選択すると、 AWS Secrets Manager シークレットウィンドウが開きます。

      1. [ AWS Secrets Manager シークレットウィンドウを作成] に次の情報を入力します。

        1. [シークレット名] - シークレットの名前。シークレット名には、プレフィックスAmazonKendra「-database-」が自動的に追加されます。

        2. [ユーザー名][パスワード] - データベースアカウントから認証情報の値を入力します。

        3. [認証を保存] を選択します。

    6. [仮想プライベートクラウド (VPC)] - VPC の使用を選択できます。選択する場合は、[サブネット][VPC セキュリティグループ] を追加する必要があります。

      注記

      プライベートサブネットを使用する必要があります。RDS インスタンスが VPC のパブリックサブネットにある場合は、パブリックサブネット内の NAT ゲートウェイへのアウトバウンドアクセス権を持つプライベートサブネットを作成します。VPC 設定で指定するサブネットは、米国西部 (オレゴン)、米国東部 (バージニア北部)、欧州 (アイルランド) のいずれかに存在する必要があります。

    7. IAM ロール — 既存の IAM ロールを選択するか、新しい IAM ロールを作成してリポジトリ認証情報にアクセスし、コンテンツにインデックスを作成します。

      注記

      IAM インデックスに使用される ロールは、データソースには使用できません。インデックスやよくある質問に既存のロールが使用されているかどうかが不明な場合は、エラーを避けるため、[新しいロールを作成] を選択してください。

    8. [次へ] をクリックします。

  7. [同期設定の構成] ページで、次の情報を入力します。

    1. ユースケースに基づいて [Aurora MySQL][MySQL][Aurora PostgreSQL][PostgreSQL] の中から選択してください。

    2. [SQL 識別子を二重引用符で囲む] - 選択して SQL 識別子を二重引用符で囲んでください。例えば、“columnName”。

    3. ACL 列列の変更検出 — が変更検出 Amazon Kendra に使用する列 (最終更新日列など) とアクセスコントロールリストを設定します。

    4. 同期実行スケジュール で、頻度 — Amazon Kendra がデータソースと同期する頻度を選択します。

    5. [次へ] をクリックします。

  8. [フィールドマッピングを設定] ページで、次の情報を入力します。

    1. Amazon Kendra デフォルトフィールドマッピング — インデックスにマッピングする Amazon Kendra 生成のデフォルトデータソースフィールドから選択します。document_id および document_body[データベース列] 値を追加する必要があります。

    2. [カスタムフィールドマッピング] - カスタムデータソースフィールドを追加して、マッピング先のインデックスフィールド名とフィールドデータタイプを作成します。

    3. [次へ] をクリックします。

  9. [確認と作成] ページで、入力した情報が正しいことを確認し、[データソースを追加] を選択します。このページで情報の編集を選択することもできます。データソースが正常に追加されると、データソースが [データソース] ページに表示されます。

API

データベース Amazon Kendra に接続するには

次の DatabaseConfiguration API を指定する必要があります。

  • ColumnConfiguration— インデックスがデータベースからドキュメント情報を取得する場所に関する情報。詳細については、「ColumnConfiguration」を参照してください。DocumentDataColumnName (ドキュメント本文または本文)、DocumentIdColumnName、および ChangeDetectingColumn (最終更新列など) フィールドを指定する必要があります。DocumentIdColumnName フィールドにマッピングされた列は整数の列である必要があります。次の例は、データベースデータソースの単純な列構成を示しています。

    "ColumnConfiguration": { "ChangeDetectingColumns": [ "LastUpdateDate", "LastUpdateTime" ], "DocumentDataColumnName": "TextColumn", "DocumentIdColumnName": "IdentifierColumn", "DocoumentTitleColumnName": "TitleColumn", "FieldMappings": [ { "DataSourceFieldName": "AbstractColumn", "IndexFieldName": "Abstract" } ] }
  • ConnectionConfiguration— データベースへの接続に必要な構成情報。詳細については、「ConnectionConfiguration」を参照してください。

  • DatabaseEngineType— データベースを実行するデータベースエンジンのタイプ。の DatabaseHostフィールドは、データベースの Amazon Relational Database Service (Amazon RDS) インスタンスエンドポイントConnectionConfigurationである必要があります。クラスターエンドポイントを使用しないでください。

  • シークレット Amazon リソースネーム (ARN) — データベースアカウントの認証情報を含む Secrets Manager シークレットの Amazon リソースネーム (ARN) を指定します。シークレットは、次のキーを含む JSON 構造に保存されます。

    { "username": "user name", "password": "password" }

    次の例は、シークレット ARN を含むデータベース設定を示します。

    "DatabaseConfiguration": { "ConnectionConfiguration": { "DatabaseHost": "host.subdomain.domain.tld", "DatabaseName": "DocumentDatabase", "DatabasePort": 3306, "SecretArn": "arn:aws:secretmanager:region:account ID:secret/secret name", "TableName": "DocumentTable" } }
    注記

    認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません

  • IAM ロール — を呼び出しCreateDataSourceて、 Secrets Manager シークレットにアクセスするためのアクセス許可を IAM ロールに提供し、データベースコネクタ と に必要なパブリック APIsを呼び出すRoleArnタイミングを指定します Amazon Kendra。詳細については、「IAM roles for database data sources」を参照してください。

オプションで、次の機能を追加することもできます。

  • [仮想プライベートクラウド (VPC)] - データソース設定の一部として VpcConfiguration を指定します。「VPC を使用するための Amazon Kendra の設定」を参照してください。

    注記

    プライベートサブネットのみを使用する必要があります。RDS インスタンスが VPC のパブリックサブネットにある場合は、パブリックサブネット内の NAT ゲートウェイへのアウトバウンドアクセス権を持つプライベートサブネットを作成します。VPC 設定で指定するサブネットは、米国西部 (オレゴン)、米国東部 (バージニア北部)、欧州 (アイルランド) のいずれかに存在する必要があります。

  • フィールドマッピング - 選択すると、データベースデータソースフィールドを Amazon Kendra インデックスフィールドにマッピングします。詳細については、データソースフィールドのマッピングを参照してください。

    注記

    がドキュメント Amazon Kendra を検索するには、ドキュメント本文フィールドまたはドキュメントと同等のドキュメント本文が必要です。データソースのドキュメント本文フィールド名をインデックスフィールド名 にマッピングする必要があります_document_body。その他のすべてのフィールドはオプションです。

  • ユーザーコンテキストのフィルタリングとアクセスコントロール —Amazon Kendra ドキュメントの ACL がある場合は、ドキュメントのアクセスコントロールリスト (ACL) をクロールします。ACL 情報は、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて、検索結果をフィルタリングするために使用されます。詳細については、「User context filtering」を参照してください。