翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Kendraウェブクローラーコネクタ v2.0
Amazon KendraWeb Crawler を使用して、ウェブページをクロールおよびインデックス作成できます。
クロールできるのは、公開ウェブサイト、または、安全な通信プロトコルである Hypertext Transfer Protocol Secure (HTTPS) を使用する社内ウェブサイトのみです。ウェブサイトをクロールするときにエラーが発生した場合は、ウェブサイトのクロールがブロックされている可能性があります。内部ウェブサイトをクロールするには、ウェブプロキシを設定できます。ウェブプロキシは公開されている必要があります。認証を使用してウェブサイトにアクセスし、クロールすることもできます。
Amazon KendraWeb Crawler v2.0 は、Selenium ウェブクローラーパッケージと Chromium ドライバーを使用します。 は、継続的インテグレーション (CI) を使用して Selenium と Chromium ドライバーのバージョンAmazon Kendraを自動的に更新します。
インデックス作成するウェブサイトを選択するときは、Amazon 利用規定ポリシーおよびその他の Amazon 規約のすべてに準拠している必要があります。Web Amazon KendraCrawler は、独自のウェブページ、またはインデックス作成の権限を持つウェブページのインデックス作成にのみ使用する必要があることに注意してください。Amazon KendraWeb Crawler によるウェブサイトのインデックス作成を停止する方法については、「」を参照してくださいAmazon Kendra Web Crawler 用の robots.txt ファイルの設定。Web Amazon KendraCrawler を使用して、所有していないウェブサイトやウェブページを積極的にクロールすることは、許容される用途とは見なされません。
Amazon Kendraウェブクローラーデータソースコネクタのトラブルシューティングについては、「」を参照してくださいデータソースのトラブルシューティング。
Web Crawler コネクタ v2.0 は、AWS KMS暗号化されたAmazon S3バケットからのウェブサイトリストのクローリングをサポートしていません。Amazon S3マネージドキーによるサーバー側の暗号化のみをサポートします。
Web Crawler v2.0 コネクタの作成は ではサポートされていませんCloudFormation。CloudFormationサポートが必要な場合は、Web Crawler v1.0 コネクタを使用します。
サポートされている機能
前提条件
を使用してウェブサイトAmazon Kendraのインデックスを作成する前に、ウェブサイトとAWSアカウントの詳細を確認してください。
ウェブサイトについて、以下を確認してください。
-
インデックス作成するウェブサイトのシードまたはサイトマップ URL をコピーしました。URL をテキストファイルに保存して、それを Amazon S3 バケットにアップロードできます。テキストファイル内の各 URL は、別々の行にフォーマットする必要があります。サイトマップを Amazon S3バケットに保存する場合は、サイトマップ XML をコピーして XML ファイルに保存していることを確認してください。複数のサイトマップ XML ファイルを 1 つの ZIP ファイルにまとめることもできます。
(オンプレミス/サーバー) Amazon KendraAWS Secrets Managerは、 に含まれるエンドポイント情報が、データソース設定の詳細で指定されたエンドポイント情報と同じかどうかを確認します。混乱する代理問題は、ユーザーがアクションを実行するアクセス許可がないにもかかわらず、Amazon Kendra をプロキシとして使用して設定された秘密にアクセスし、アクションを実行するセキュリティの問題です。後でエンドポイント情報を変更する場合は、新しいシークレットを作成してこの情報を同期する必要があります。
-
基本認証、NTLM 認証、または Kerberos 認証を必要とするウェブサイトの場合:
-
SAML 認証またはログインフォーム認証を必要とするウェブサイトの場合:
-
ユーザー名とパスワードを含むウェブサイトの認証情報を書き留めました。
-
ユーザー名フィールド (SAML を使用する場合は、加えてユーザー名ボタン)、パスワードフィールド、ボタンの XPath (XML Path Language) をコピーし、ログインページ URL をコピーしました。要素の XPath は、ウェブブラウザのデベロッパーツールを使用して確認できます。XPath は通常、次の形式に従います。//tagname[@Attribute='Value']。
Amazon KendraWeb Crawler v2.0 では、ヘッドレス Chrome ブラウザとフォームからの情報を使用して、OAuth 2.0 で保護された URL によるアクセスの認証と認可を行います。
-
オプション: ウェブプロキシを使用して、クロールする内部ウェブサイトに接続する場合に、ウェブプロキシサーバーのホスト名とポート番号をコピーしました。ウェブプロキシは公開されている必要があります。 は、基本認証でバックアップされたウェブプロキシサーバーへの接続Amazon Kendraをサポートしているか、認証なしで接続できます。
-
オプション: VPC を使用して、クロールする内部ウェブサイトに接続する場合は、仮想プライベートクラウド (VPC) のサブネット ID をコピー済み。詳細については、「 の設定Amazon VPC」を参照してください。
-
インデックスを作成する各ドキュメントが一意であり、同じインデックスに使用する予定の他のデータソース間で一意であることを確認しました。インデックスに使用する各データソースには、データソース全体に同じドキュメントが含まれていてはなりません。ドキュメント ID はインデックス全体に適用され、インデックスごとに一意である必要があります。
AWSアカウントで、以下があることを確認します。
-
Amazon Kendraインデックスを作成し、API を使用している場合はインデックス ID を記録しました。
-
データソースの IAMロールを作成し、 API を使用している場合は、IAMロールの Amazon リソースネームを記録しました。
認証タイプと認証情報を変更する場合は、IAMロールを更新して正しいAWS Secrets Managerシークレット ID にアクセスする必要があります。
-
認証を必要とするウェブサイトの場合、または認証でウェブプロキシを使用する場合、 は認証情報を AWS Secrets Managerシークレットに保存し、API を使用する場合はシークレットの ARN を記録しました。
認証情報とシークレットは、定期的に更新またはローテーションすることをお勧めします。セキュリティに必要なアクセスレベルのみを提供してください。認証情報とシークレットを、データソース、コネクタバージョン 1.0 と 2.0 (該当する場合) で再利用することは推奨しません。
既存のIAMロールまたはシークレットがない場合は、web crawlerデータソースの接続時に コンソールを使用して新しいIAMロールとSecrets Managerシークレットを作成できますAmazon Kendra。API を使用している場合は、既存のIAMロールとSecrets Managerシークレットの ARN とインデックス ID を指定する必要があります。
接続手順
web crawler データソースAmazon Kendraに接続するには、 がデータAmazon Kendraにアクセスできるように、web crawlerデータソースの必要な詳細を指定する必要があります。をまだ設定していない場合は、web crawlerAmazon Kendra「」を参照してください前提条件。
- Console
-
Amazon Kendraに接続するには web crawler
-
にサインインAWS マネジメントコンソールし、 Amazon Kendraコンソールを開きます。
-
左側のナビゲーションペインで、[インデックス] を選択し、インデックスのリストから使用するインデックスを選択します。
[インデックスの設定] で、[ユーザーアクセスコントロール] 設定を設定または編集できます。
-
[使用開始] ページで、[データソースを追加] を選択します。
-
[データソースを追加] ページで、[ウェブクローラーコネクタ] を選択し、[コネクタを追加] を選択します。バージョン 2 (該当する場合) を使用している場合は、「V2.0」タグが付いたウェブクローラーコネクタを選択します。
-
[データソースの詳細を指定] ページで、次の情報を入力します。
-
[名前と説明] の [データソース名] に、データソースの名前を入力します。ハイフン (-) は使用できますが、スペースは使用できません。
-
(オプション) [説明] - オプションで、データソースの説明を入力します。
-
[デフォルト言語] - インデックス用にドキュメントをフィルターするための言語。特に指定しない限り、言語はデフォルトで英語に設定されます。ドキュメントのメタデータで指定された言語は、選択した言語よりも優先されます。
-
タグで、新しいタグを追加する - リソースを検索してフィルタリングしたり、AWSコストを追跡したりするためのオプションのタグを含めます。
-
[次へ] を選択します。
-
[アクセスとセキュリティの定義] ページで、次の情報を入力します。
-
[ソース] - [ソース URL]、[ソースサイトマップ]、[ソース URL ファイル]、[ソースサイトマップファイル] のいずれかを選択します。最大 100 個のシード URLs のリストを含むテキストファイルを使用する場合は、ファイルが保存されているAmazon S3バケットへのパスを指定します。サイトマップ XML ファイルを使用する場合は、ファイルが保存されている Amazon S3 バケットへのパスを指定します。複数のサイトマップ XML ファイルを 1 つの ZIP ファイルにまとめることもできます。それ以外の場合は、最大 10 個のシードまたは開始ポイント URL と、最大 3 つのサイトマップ URL を手動で入力できます。
サイトマップをクロールする場合は、ベース URL またはルート URL がサイトマップページに記載されている URL と同じであることを確認してください。例えば、サイトマップ URL が https://example.com/sitemap-page.html の場合、このサイトマップページに記載されている URL にもベース URL "https://example.com/" を使用する必要があります。
ウェブサイトが、そのウェブサイトにアクセスするために認証を必要とする場合は、基本認証、NTLM/Kerberos 認証、SAML 認証、またはフォーム認証のいずれかを選択できます。それ以外の場合は、認証なしのオプションを選択します。
後でデータソースを編集して、認証を含むシード URL をサイトマップに変更する場合は、新しいデータソースを作成する必要があります。Amazon Kendra は認証用の Secrets Manager のシークレット内のシード URL エンドポイント情報を使用してデータソースを設定するため、サイトマップに変更してもデータソースを再設定することはできません。
-
secret — ウェブサイトにアクセスするために同じ認証が必要な場合は、既存のシーAWS Secrets Managerクレットを選択するか、新しいシーSecrets Managerクレットを作成してウェブサイトの認証情報を保存します。新しいシークレットを作成すると、AWS Secrets Managerシークレットウィンドウが開きます。
[基本] または [NTML/Kerberos] を選択した場合は、シークレットの名前と、ユーザー名、パスワードを入力します。NTLM 認証プロトコルにはパスワードハッシュが含まれ、Kerberos 認証プロトコルにはパスワード暗号化が含まれます。
[SAML] または [フォーム] を選択した場合は、シークレットの名前と、ユーザー名、パスワードを入力します。ユーザー名フィールドには XPath を使用します (SAML を使用する場合はユーザー名ボタンに XPath を使用します)。パスワードフィールドとボタン、およびログインページの URL には XPath を使用します。要素の XPath (XML パス言語) は、ウェブブラウザのデベロッパーツールを使用して確認できます。XPath は通常、次の形式に従います。//tagname[@Attribute='Value']。
-
(オプション) [ウェブプロキシ - 内部ウェブサイトへの接続に使用するプロキシサーバーのホスト名とポート番号を入力します。例えば、https://a.example.com/page1.html のホスト名は 「a.example.com」で、ポート番号は HTTPS の標準ポートである 443 です。ウェブサイトホストに接続するためにウェブプロキシ認証情報が必要な場合は、認証情報AWS Secrets Managerを保存する を作成できます。
-
[仮想プライベートクラウド (VPC)] - VPC の使用を選択できます。選択する場合は、[サブネット] と [VPC セキュリティグループ] を追加する必要があります。
-
IAMrole — 既存のIAMロールを選択するか、リポジトリの認証情報とインデックスコンテンツにアクセスするための新しいIAMロールを作成します。
IAMインデックスに使用される ロールは、データソースには使用できません。インデックスやよくある質問に既存のロールが使用されているかどうかが不明な場合は、エラーを避けるため、[新しいロールを作成] を選択してください。
-
[次へ] を選択します。
-
[同期設定の構成] ページで、次の情報を入力します。
-
[同期の範囲] - ドメイン、ファイルサイズ、リンクなど、ウェブページのクローリングに制限を設定し、正規表現パターンを使用して URL をフィルタリングします。
-
(オプション) [クロールドメイン範囲] - ウェブサイトのドメインのみをクロールするか、サブドメインのあるドメインをクロールするか、ウェブページのリンク先となる他のドメインもクロールするかを選択します。デフォルトでは、 はクロールするウェブサイトのドメインAmazon Kendraのみをクロールします。
-
(オプション) [追加設定] - 以下の設定を設定します。
-
[クロールの深さ] - 深さ、またはシードレベルからクロールするレベルの数。例えば、シード URL ページは深度 1 で、このページ上でクロールされるハイパーリンクはすべて深度 2 です。
-
[最大ファイルサイズ] - クロールするウェブページまたは添付ファイルの最大サイズ (MB 単位)。
-
1 ページあたりの最大リンク数 - クロールする単一ウェブページの URL の最大数。
-
[クローリング速度の最大スロットリング] - ウェブサイトホストごとにクロールされる URL の 1 分あたりの最大数。
-
[ファイル] - ウェブページのリンク先のファイルをクロールすることを選択します。
-
[URL のクロールおよびインデックス作成 - 正規表現パターンを追加して、特定の URL のクローリングと、その URL ウェブページのハイパーリンクのインデックス作成を含めるか除外します。
-
[同期モード] - データソースのコンテンツが変更されたときのインデックスの更新方法を選択します。データソースを Amazon Kendraと初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとして完全同期を選択していない場合でも、最初の同期が失敗した場合は、データの完全同期を実行する必要があります。
-
完全同期: データソースがインデックスと同期されるたびに、既存のコンテンツを置き換えて、すべてのコンテンツのインデックスを新たに作成します。
-
新規、変更、削除された同期: データソースがインデックスと同期するたびに、新規、変更、削除されたコンテンツのインデックスのみを作成します。 Amazon Kendraは、データソースのメカニズムを使用して、前回の同期以降に変更されたコンテンツの変更とインデックスコンテンツを追跡できます。
-
[同期実行スケジュール] - [頻度] で、Amazon Kendra がデータソースと同期する頻度。
-
[次へ] を選択します。
-
[フィールドマッピングを設定] ページで、次の情報を入力します。
-
インデックスにマッピングするウェブページとファイルのAmazon Kendra生成されたデフォルトフィールドから選択します。
-
[次へ] を選択します。
-
[確認と作成] ページで、入力した情報が正しいことを確認し、[データソースを追加] を選択します。このページで情報の編集を選択することもできます。データソースが正常に追加されると、データソースが [データソース] ページに表示されます。
- API
-
Amazon Kendraに接続するには web crawler
TemplateConfiguration API を使用してデータソーススキーマの JSON を指定する必要があります。これには、以下の情報を入力する必要があります。
-
[データソース] — TemplateConfiguration JSON スキーマを使用する場合は、データソースタイプを WEBCRAWLERV2 と指定します。また、CreateDataSource API を呼び出す場合は、データソースを TEMPLATE と指定します。
-
URL - ウェブサイトのシードまたは開始ポイント URL、またはクロールするウェブサイトのサイトマップ URL を指定します。シード URLs のリストを保存する Amazon S3バケットへのパスを指定できます。シード URL のテキストファイル内の各 URL は、別々の行にフォーマットする必要があります。サイトマップ XML ファイルを保存する Amazon S3バケットへのパスを指定することもできます。複数のサイトマップファイルを 1 つの ZIP ファイルにまとめ、その ZIP ファイルを Amazon S3 バケットに保存できます。
サイトマップをクロールする場合は、ベース URL またはルート URL がサイトマップページに記載されている URL と同じであることを確認してください。例えば、サイトマップ URL が https://example.com/sitemap-page.html の場合、このサイトマップページに記載されている URL にもベース URL "https://example.com/" を使用する必要があります。
-
同期モード — データソースコンテンツが変更されたときに Amazon Kendraがインデックスを更新する方法を指定します。Amazon Kendra でデータソースを初めて同期すると、デフォルトですべてのコンテンツがクロールされ、インデックスが作成されます。同期モードオプションとして完全同期を選択していない場合でも、最初の同期が失敗した場合は、データの完全同期を実行する必要があります。以下のいずれかから選択できます。
-
FORCED_FULL_CRAWL は、データソースがインデックスと同期されるたびに、既存のコンテンツを置き換えて、すべてのコンテンツのインデックスを新たに作成します。
-
FULL_CRAWL は、データソースがインデックスと同期するたびに、新規作成、変更、削除されたコンテンツのみのインデックスを作成します。Amazon Kendra は、データソースのメカニズムを利用してコンテンツの変更を追跡し、前回の同期以降に変更されたコンテンツのインデックスを作成することができます。
-
認証 — ウェブサイトで同じ認証を必要とする場合は、BasicAuth、NTLM_Kerberos、SAML、または Form 認証のいずれかを指定します。ウェブサイトが認証を必要としない場合は、NoAuthentication を指定してください。
-
シークレットの Amazon リソースネーム (ARN) - ウェブサイトで基本認証、NTLM、または Kerberos 認証が必要な場合は、ユーザー名とパスワードの認証情報を保存するシークレットを指定します。AWS Secrets Manager シークレットの Amazon リソースネーム (ARN) を指定します。シークレットは、次のキーを含む JSON 構造に保存されます。
{
"seedUrlsHash": "Hash representation of all seed URLs",
"userName": "user name",
"password": "password"
}
ウェブサイトで SAML 認証が必要な場合、シークレットは以下のキーを含む JSON 構造に保存されます。
{
"seedUrlsHash": "Hash representation of all seed URLs",
"userName": "user name",
"password": "password",
"userNameFieldXpath": "XPath for user name field",
"userNameButtonXpath": "XPath for user name button",
"passwordFieldXpath": "XPath for password field",
"passwordButtonXpath": "XPath for password button",
"loginPageUrl": "Full URL for website login page"
}
ウェブサイトでフォーム認証が必要な場合、シークレットは以下のキーを含む JSON 構造に保存されます。
{
"seedUrlsHash": "Hash representation of all seed URLs",
"userName": "user name",
"password": "password",
"userNameFieldXpath": "XPath for user name field",
"passwordFieldXpath": "XPath for password field",
"passwordButtonXpath": "XPath for password button",
"loginPageUrl": "Full URL for website login page"
}
要素の XPath (XML パス言語) は、ウェブブラウザのデベロッパーツールを使用して確認できます。XPath は通常、次の形式に従います。//tagname[@Attribute='Value']。
AWS Secrets Manager シークレットを使用してウェブプロキシ認証情報を指定することもできます。
-
IAMrole - を呼び出しCreateDataSourceて、シーSecrets Managerクレットにアクセスするためのアクセス許可を IAMロールに提供し、ウェブクローラーコネクタと に必要なパブリック APIs を呼び出すRoleArnタイミングを指定しますAmazon Kendra。詳細については、「IAM roles for web crawler data sources」を参照してください。
オプションで、次の機能を追加することもできます。
-
[仮想プライベートクラウド (VPC)] - VpcConfiguration で CreateDataSource を呼び出すタイミングを指定します。詳細については、「を使用するAmazon Kendraように を設定するAmazon VPC」を参照してください。
-
ドメイン範囲 - サブドメインのみを含むウェブサイトドメインをクロールするか、ウェブページのリンク先となる他のドメインもクロールするかを選択します。デフォルトでは、 はクロールするウェブサイトのドメインAmazon Kendraのみをクロールします。
-
深さ、またはシードレベルからクロールするレベルの数。例えば、シード URL ページは深度 1 で、このページ上でクロールされるハイパーリンクはすべて深度 2 です。
-
クロールする単一ウェブページの URL の最大数。
-
クロールするウェブページまたは添付ファイルの最大サイズ (MB 単位)。
-
1 分あたりウェブサイトホストごとにクロールされる URL の最大数。
-
内部ウェブサイトに接続してクロールするウェブプロキシのホストとポート番号。例えば、https://a.example.com/page1.html のホスト名は 「a.example.com」で、ポート番号は HTTPS の標準ポートである 443 です。ウェブサイトホストへの接続にウェブプロキシ認証情報が必要な場合は、認証情報を保存する AWS Secrets Manager を作成できます。
-
包含フィルターと除外フィルター - 特定の URL のクローリングと、その URL ウェブページのハイパーリンクのインデックス作成を含めるか除外するかを指定します。
ほとんどのデータソースは、フィルターと呼ばれる包含または除外パターンである正規表現パターンを使用しています。包含フィルターを指定すると、包含フィルターに一致するコンテンツのみのインデックスが作成されます。包含フィルターに一致しないドキュメントのインデックスは作成されません。包含フィルターと除外フィルターを指定した場合、除外フィルターに一致するドキュメントは、包含フィルターと一致してもインデックスは作成されません。
-
フィールドマッピング - 選択すると、ウェブページとウェブページファイルのフィールドがAmazon Kendraインデックスフィールドにマッピングされます。詳細については、「データソースフィールドのマッピング」を参照してください。
設定が必要なその他の重要な JSON キーのリストについては、「Amazon Kendra ウェブクローラーテンプレートスキーマ」を参照してください。