Amazon RDS (Microsoft SQL Server) - Amazon Kendra

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

Amazon RDS (Microsoft SQL Server)

SQL Server は、Microsoft によって開発されたデータベース管理システムです。SQL Server Amazon RDS 用 を使用すると、クラウドでの SQL Server デプロイを簡単にセットアップ、運用、スケーリングできます。 Amazon RDS (Microsoft SQL Server) ユーザーの場合は、 Amazon Kendra を使用して Amazon RDS (Microsoft SQL Server) データソースのインデックスを作成できます。 Amazon Kendra JDBC データソースコネクタは、Microsoft SQL Server 2019 をサポートしています。

Amazon Kendra コンソールTemplateConfiguration API を使用して Amazon RDS (Microsoft SQL Server) データソース Amazon Kendra に接続できます。

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

サポートされている機能

  • フィールドマッピング

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

  • 包含/除外フィルター

  • 完全および増分コンテンツ同期

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

前提条件

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

Amazon RDS (Microsoft SQL Server) で、以下があることを確認します。

  • データベースユーザー名とパスワードを記録済み。

    重要

    ベストプラクティスとして、読み取り専用 Amazon Kendra のデータベース認証情報を に提供します。

  • コピーしたデータベースのホスト URL、ポート、インスタンス。

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

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

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

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

    注記

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

  • Amazon RDS (Microsoft SQL Server) 認証情報を AWS Secrets Manager シークレットに保存し、 API を使用している場合は、シークレットの ARN を記録しました。

    注記

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

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

接続手順

Amazon RDS (Microsoft SQL Server) データソース Amazon Kendra に接続するには、 がデータ Amazon Kendra にアクセスできるように Amazon RDS (Microsoft SQL Server) 認証情報の詳細を指定する必要があります。の Amazon RDS (Microsoft SQL Server) をまだ設定していない場合は、 Amazon Kendra 「」を参照してください前提条件

Console

Amazon Kendra に接続するには Amazon RDS (Microsoft SQL Server)

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

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

    注記

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

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

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

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

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

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

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

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

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

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

    1. [ソース] には、次の情報を入力します。

    2. [ホスト] - データベースのホスト名を入力します。

    3. [ポート] - データベースのポートを入力します。

    4. [インスタンス] - データベースインスタンスを入力します。

    5. SSL 証明書の場所を有効にする — SSL 証明書ファイルへの Amazon S3 パスを入力する場合に選択します。

    6. [認証] には、次の情報を入力します。

      1. secret — 既存のシーAWS Secrets Manager クレットを選択するか、新しいシーク Secrets Manager レットを作成して Amazon RDS (Microsoft SQL Server) 認証情報を保存します。新しいシークレットの作成を選択すると、 AWS Secrets Manager シークレットウィンドウが開きます。

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

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

          2. [データベースユーザー名][パスワード] - データベースからコピーした認証情報の値を入力します。

        2. [保存] を選択します。

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

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

      注記

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

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

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

    1. [同期の範囲] で、次のオプションから選択します。

      • [SQL クエリ] - SELECT や JOIN オペレーションなどの SQL クエリステートメントを入力します。SQL クエリは 32 KB 未満にする必要があります。 Amazon Kendra はクエリに一致するすべてのデータベースコンテンツをクロールします。

        注記

        テーブル名に特殊文字 (英数字以外) が含まれている場合は、テーブル名の周囲に角括弧を使用する必要があります。例えば、〔my-database-table] から * を選択します

      • [プライマリキー列] - データベーステーブルのプライマリキーを指定します。これにより、データベース内のテーブルが識別されます。

      • [タイトル列] - データベーステーブル内のドキュメントタイトル列の名前を指定します。

      • 本文列 — データベーステーブル内のドキュメント本文列の名前を指定します。

    2. [その他の設定 - オプション] で、すべてのファイルを同期する代わりに特定のコンテンツを同期するには、次のオプションから選択します。

      • 変更検出列 — コンテンツの変更を検出 Amazon Kendra するために使用する列の名前を入力します。これらの列のいずれかに変更があると、 はコンテンツのインデックスを再作成 Amazon Kendra します。

      • [ユーザー ID 列] - コンテンツへのアクセスを許可するユーザー ID を含む列の名前を入力します。

      • [グループ列] - コンテンツへのアクセスを許可するグループを含む列の名前を入力します。

      • [ソース URL 列] - インデックスを作成するソース URL を含む列の名前を入力します。

      • タイムスタンプ列 — タイムスタンプを含む列の名前を入力します。 は、タイムスタンプ情報 Amazon Kendra を使用してコンテンツの変更を検出し、変更されたコンテンツのみを同期します。

      • [タイムゾーン列] - クロールするコンテンツのタイムゾーンを含む列の名前を入力します。

      • [タイムスタンプの形式] - コンテンツの変更を検出してコンテンツを再同期するために使用するタイムスタンプの形式を含む列の名前を入力します。

    3. [同期モード] - データソースのコンテンツが変更されたときのインデックスの更新方法を選択します。データソースを Amazon Kendra と初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとしてフル同期を選択しなくても、最初の同期が失敗した場合は、データのフル同期を実行する必要があります。

      • 完全同期: すべてのコンテンツを新しくインデックス化し、データソースがインデックスと同期するたびに既存のコンテンツを置き換えます。

      • 新しい、変更された同期: データソースがインデックスと同期するたびに、新しいコンテンツと変更されたコンテンツのインデックスのみを作成します。 Amazon Kendra は、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成できます。

      • 新規、変更、削除された同期: データソースがインデックスと同期するたびに、新規、変更、削除されたコンテンツのインデックスのみを作成します。 Amazon Kendra は、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成できます。

    4. [同期実行スケジュール][頻度] - Amazon Kendra がデータソースと同期する頻度。

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

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

    1. 生成されたデフォルトのデータソースフィールド - ドキュメント IDsドキュメントタイトル 、ソース URL から、 Amazon Kendra インデックスにマッピングする を選択します。 URLs

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

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

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

API

Amazon Kendra に接続するには Amazon RDS (Microsoft SQL Server)

TemplateConfiguration API を使用して以下を指定する必要があります。

  • データソース — JSON スキーマJDBCを使用する場合は、データソースタイプを TemplateConfiguration として指定します。また、CreateDataSourceAPI を呼び出すTEMPLATEときにデータソースを として指定します。

  • データベースタイプ - データベースタイプを sqlserver として指定する必要があります。

  • SQL クエリ — SELECT オペレーションや JOIN オペレーションなどの SQL クエリステートメントを指定します。SQL クエリは 32 KB 未満にする必要があります。 Amazon Kendra はクエリに一致するすべてのデータベースコンテンツをクロールします。

    注記

    テーブル名に特殊文字 (英数字以外) が含まれている場合は、テーブル名の周囲に角括弧を使用する必要があります。例えば、〔my-database-table] から * を選択します

  • 同期モード — データソースコンテンツが変更されたときに Amazon Kendra がインデックスを更新する方法を指定します。データソースを と Amazon Kendra 初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとしてフル同期を選択しなくても、最初の同期が失敗した場合は、データのフル同期を実行する必要があります。以下のいずれかから選択できます。

    • FORCED_FULL_CRAWL データソースがインデックスと同期するたびに既存のコンテンツを置き換え、すべてのコンテンツに新しいインデックスを付けます。

    • FULL_CRAWL は、データソースがインデックスと同期するたびに、新規、変更、削除されたコンテンツのみのインデックスを作成します。 Amazon Kendra は、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツをインデックスできます。

    • CHANGE_LOG は、データソースがインデックスと同期するたびに、新しいコンテンツと変更されたコンテンツのみのインデックスを作成します。 Amazon Kendra は、データソースのメカニズムを使用して、コンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツをインデックスできます。

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

    { "user name": "database user name", "password": "password" }
    注記

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

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

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

  • [仮想プライベートクラウド (VPC)] - VpcConfigurationCreateDataSource を呼び出すタイミングを指定します。詳細については、「を使用する Amazon Kendra ための の設定 Amazon VPC」を参照してください。

  • 包含フィルターと除外フィルター - ユーザー ID、グループ、ソース URL、タイムスタンプ、タイムゾーンを使用して、特定のコンテンツを含めるかどうかを指定できます。

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

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

    注記

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

設定が必要なその他の重要な JSON キーのリストについての詳細は、「Amazon RDS (Microsoft SQL Server) テンプレートスキーマ」を参照してください。

メモ

  • 削除されたデータベース行は、 が更新されたコンテンツ Amazon Kendra をチェックするときに追跡されません。

  • データベースの 1 行のフィールド名と値のサイズは 400 KB を超えることはできません。

  • データベースデータソースに大量のデータがあり、最初の同期後にすべてのデータベースコンテンツの Amazon Kendra インデックスを作成しない場合は、新規、変更、または削除されたドキュメントのみを同期するように選択できます。

  • ベストプラクティスとして、読み取り専用 Amazon Kendra のデータベース認証情報を に提供します。

  • ベストプラクティスとして、機密データや個人を特定できる情報 (PII) を含むテーブルを追加することは避けてください。