Drupal - Amazon Kendra

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

Drupal

注記

Drupal コネクタは、2026 年 5 月 31 日まで既存のお客様を対象に引き続き完全にサポートされます。新規ユーザーがこのコネクタを使用することはできなくなりましたが、現在のユーザーは中断なく引き続きご使用いただけます。コネクタポートフォリオは、よりスケーラブルでカスタマイズ可能なソリューションを提供するために継続的に進化しています。今後の統合のために、柔軟性を高めながら、より広範なエンタープライズユースケースをサポートするように設計された、Amazon Kendra Custom Connector Framework[1] を検討いただくことをお勧めします。

Drupal は、ウェブサイトやウェブアプリケーションの作成に使用できるオープンソースのコンテンツ管理システム (CMS) です。を使用してAmazon Kendra、Drupal で次のインデックスを作成できます。

  • コンテンツ - 記事、基本ページ、基本ブロック、ユーザー定義コンテンツタイプ、ユーザー定義ブロックタイプ、カスタムコンテンツタイプ、カスタムブロックタイプ

  • コメント - すべてのコンテンツタイプとブロックタイプに対応

  • 添付ファイル - すべてのコンテンツタイプとブロックタイプに対応

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

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

サポートされている機能

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

  • フィールドマッピング

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

  • 包含/除外フィルター

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

  • Virtual Private Cloud (VPC)

前提条件

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

Drupal で以下を確認してください。

  • Drupal (スタンダード) Suite のアカウントと管理者ロールを持つユーザーを作成しました。

  • Drupal サイト名をコピーし、ホスト URL を設定しました。例えば、https://<hostname>/<drupalsitename>

  • ユーザー名 (Drupal ウェブサイトのログインユーザー名) とパスワード (Drupal ウェブサイトのパスワード) を含む基本認証情報を設定しました。

  • 推奨: OAuth 2.0 認証情報トークンを設定しました。このトークンを、接続先の Drupal パスワード付与、クライアント ID、クライアントシークレット、ユーザー名 (Drupal ウェブサイトのログインユーザー名)、パスワード (Drupal ウェブサイトのパスワード) とともに使用して Amazon Kendra に接続します。

  • 管理者ロールを使用して Drupal アカウントに次のアクセス許可を追加しました。

    • ブロックを管理

    • block_content の表示を管理

    • block_content フィールドを管理

    • block_content の形式表示を管理

    • ビューを管理

    • ユーザーの E メールアドレスを表示

    • 自分の未公開コンテンツを表示

    • ページリビジョンを表示

    • 記事のリビジョンを表示

    • すべてのリビジョンを表示

    • 管理テーマを表示

    • コンテンツへのアクセス

    • コンテンツへのアクセスの概要

    • コメントへのアクセス

    • コンテンツを検索

    • ファイルへのアクセスの概要

    • コンテキストリンクへのアクセス

    注記

    ユーザー定義のコンテンツタイプまたはユーザー定義のブロックタイプがある場合、またはビューやブロックを Drupal ウェブサイトに追加する場合は、それらに管理者アクセスを提供する必要があります。

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

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

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

    注記

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

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

    注記

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

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

接続手順

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

Console

Drupal Amazon Kendraに接続するには

  1. にサインインAWS マネジメントコンソールし、 Amazon Kendraコンソールを開きます。

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

    注記

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

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

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

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

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

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

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

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

    5. [次へ] を選択します。

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

    1. [ソース][ホスト URL] - Drupal サイトのホスト URL。例えば、https://<hostname>/<drupalsitename>

    2. [SSL 証明書の場所] - Amazon S3 バケットに保存されている SSL 証明書へのパスを入力します。

    3. [承認] - アクセスコントロールリスト (ACL) があり、それをアクセスコントロールに使用する場合に、ドキュメントの ACL 情報を有効にするか無効にするかを選択します。ACL では、ユーザーとグループがアクセスできるドキュメントを指定します。ACL 情報は、ユーザーまたはそのグループのドキュメントへのアクセスに基づいて、検索結果をフィルタリングするために使用されます。詳細については、「User context filtering」を参照してください。

    4. 認証用 - ユースケースに応じて、[基本認証][OAuth 2.0 認証] のいずれかを選択します。

    5. AWS Secrets Managersecret — 既存のシークレットを選択するか、新しいSecrets Managerシークレットを作成して Drupal 認証情報を保存します。新しいシークレットの作成を選択すると、[AWS Secrets Manager シークレット] ウィンドウが開きます。

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

        1. [基本認証] を選択した場合は、コピーした [シークレット名][ユーザー名] (Drupal サイトのユーザー名)、および [パスワード] (Drupal サイトのパスワード) を入力し、[保存してシークレットを追加] を選択します。

        2. [OAuth 2.0 認証] を選択した場合は、Drupal アカウントで生成された [シークレット名][ユーザー名] (Drupal サイトのユーザー名)、[パスワード] (Drupal サイトのパスワード)、[クライアント ID]、および [クライアントシークレット] を入力して、[シークレットを保存して追加] を選択します。

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

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

    7. [ID クローラー] - Amazon Kendra の ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセス権に基づいて検索結果をフィルタリングします。ドキュメントの ACL があり、ACL を使用することを選択した場合は、Amazon KendraID クローラをオンにして検索結果のユーザーコンテキストフィルタリングを設定することもできます。それ以外の場合は、ID クローラーがオフになっている場合、すべてのドキュメントは公開され検索可能になります。ID クローラーがオフになっているときにドキュメントのアクセスコントロールを使用する場合は、代わりに PutPrincipalMapping API を使用して、ユーザーコンテキストフィルタリング用にユーザーとグループのアクセス情報をアップロードすることができます。

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

      注記

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

    9. [次へ] を選択します。

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

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

      注記

      [記事][基本ページ][基本ブロック] のクロールを選択すると、それぞれのデフォルトのフィールドが自動的に同期されます。コメント、添付ファイル、カスタムフィールド、その他のカスタムエンティティを同期することもできます。

      1. [エンティティを選択] の場合。

        • 記事 - [記事]、そのコメント [コメント]、および [添付ファイル]をクロールするかどうかを選択します。

        • [基本ページ] - [基本ページ]、その [コメント]、その [添付ファイル] をクロールするかどうかを選択します。

        • [基本ブロック] - [基本ブロック]、その [コメント]、その [添付ファイル] をクロールするかどうかを選択します。

        • [カスタムコンテンツタイプ][カスタムブロック] を追加することもできます。

    2. [追加設定 - オプション]

      • [正規表現パターン] - 特定のエンティティタイトルとファイル名を含めるか除外する正規表現パターンを追加します。最大 100 のパターンを追加できます。

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

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

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

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

    5. [次へ] を選択します。

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

    1. コンテンツコメント添付ファイル - インデックスにマッピングするAmazon Kendra生成されたデフォルトのデータソースフィールドから選択します。

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

    3. [次へ] を選択します。

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

API

Drupal Amazon Kendraに接続するには

TemplateConfiguration API を使用してデータソーススキーマの JSON を指定する必要があります。これには、以下の情報を入力する必要があります。

  • [データソース]TemplateConfiguration JSON スキーマを使用する場合は、データソースタイプを DRUPAL と指定します。また、CreateDataSource API を呼び出す場合は、データソースを TEMPLATE と指定します。

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

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

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

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

  • Secret Amazon Resource Name (ARN) — Drupal アカウントで作成した認証情報を含むSecrets Managerシークレットの Amazon リソースネーム (ARN) を指定します。

    基本認証を使用する場合、シークレットは以下のキーを含む JSON 構造に保存されます。

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

    OAuth 2.0 認証を使用する場合、シークレットは以下のキーを含む JSON 構造に保存されます。

    { "username": "user name", "password": "password", "clientId": "client id", "clientSecret": "client secret" }
    注記
    注記

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

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

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

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

  • 包含フィルターと除外フィルター - コンテンツ、コメント、添付ファイルを含めるかどうかを指定できます。また、コンテンツ、コメント、添付ファイルを含めるか除外する正規表現パターンを指定することもできます。

    注記

    ほとんどのデータソースは、フィルターと呼ばれる包含または除外パターンである正規表現パターンを使用しています。包含フィルターを指定すると、包含フィルターに一致するコンテンツのみのインデックスが作成されます。包含フィルターに一致しないドキュメントのインデックスは作成されません。包含フィルターと除外フィルターを指定した場合、除外フィルターに一致するドキュメントは、包含フィルターと一致してもインデックスは作成されません。

  • [ID クローラー] - Amazon Kendra の ID クローラーを有効にするかどうかを指定します。ID クローラーは、ドキュメントのアクセスコントロールリスト (ACL) 情報を使用して、ユーザーまたはそのグループのドキュメントへのアクセス権に基づいて検索結果をフィルタリングします。ドキュメントの ACL があり、ACL を使用することを選択した場合は、Amazon KendraID クローラをオンにして検索結果のユーザーコンテキストフィルタリングを設定することもできます。それ以外の場合は、ID クローラーがオフになっている場合、すべてのドキュメントは公開され検索可能になります。ID クローラーがオフになっているときにドキュメントのアクセスコントロールを使用する場合は、代わりに PutPrincipalMapping API を使用して、ユーザーコンテキストフィルタリング用にユーザーとグループのアクセス情報をアップロードすることができます。

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

    注記

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

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

注意事項

  • Drupal API には公式なスロットリング制限はありません。

  • Java SDK は Drupal では使用できません。

  • Drupal データは、ネイティブ JSON API を使用してのみ取得できます。

  • どの Drupal [ビュー] にも関連付けられていないコンテンツタイプはクロールできません。

  • Drupal [ブロック] からデータをクロールするには、管理者権限が必要です。

  • HTTP 動詞を使用してユーザー定義コンテンツタイプを作成するための JSON API はありません。

  • [記事][基本ページ][基本ブロック]、ユーザー定義コンテンツタイプ、ユーザー定義ブロックタイプのドキュメント本文とコメントは HTML 形式で表示されます。HTML コンテンツの形式が正しくない場合、HTML 関連のタグがドキュメント本文とコメントに表示され、Amazon Kendra 検索結果に表示されます。

  • 説明や本文のないコンテンツタイプとブロックタイプは取り込まれませんAmazon Kendra。このようなコンテンツまたはブロックタイプのコメント添付ファイルのみがAmazon Kendraインデックスに取り込まれます。