

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

# ナレッジベースのウェブページをクロールする
<a name="webcrawl-data-source-connector"></a>

Amazon Bedrock が提供するウェブクローラーは、Amazon Bedrock ナレッジベースで使用するために選択した URL に接続してクロールします。選択した URL に設定した範囲または制限に従って、ウェブサイトのページをクロールすることができます。[Amazon Bedrock の AWS マネジメントコンソール](https://console.aws.amazon.com/bedrock/home)、または [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) API を使用してウェブサイトのページをクロールできます (Amazon Bedrock [supported SDKs and AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html) を参照)。現在、このデータソースで使用できるのは Amazon OpenSearch Serverless ベクトルストアのみです。

**注記**  
ウェブクローラーデータソースコネクタはプレビューリリース段階であり、変更される可能性があります。

クロールするウェブサイトを選択するときは、[Amazon 適正利用規約](https://aws.amazon.com/aup/)およびその他の Amazon 利用規約のすべてに準拠する必要があります。自分のウェブページ、またはクロールを許可され、robots.txt 設定を優先する必要があるウェブページのインデックスを作成するためにのみ、ウェブクローラーを使用する必要があることに留意してください。

ウェブクローラーは、[RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) に従って robots.txt を尊重します

クロールできるウェブページコンテンツアイテムの数とコンテンツアイテムあたりの MB には制限があります。「[Quotas for knowledge bases](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)」を参照してください。

**Topics**
+ [サポートされている機能](#supported-features-webcrawl-connector)
+ [前提条件](#prerequisites-webcrawl-connector)
+ [接続設定](#configuration-webcrawl-connector)

## サポートされている機能
<a name="supported-features-webcrawl-connector"></a>

ウェブクローラーは、シード URL から始まる HTML ページに接続してクロールし、同じ上位のプライマリドメインとパスの下にあるすべての子リンクを巡回します。HTML ページのいずれかがサポートされているドキュメントを参照している場合、それらのドキュメントが同じ上位のプライマリドメイン内にあるかどうかにかかわらず、ウェブクローラーはそれらのドキュメントを取得します。クロール設定を変更することで、クロール動作を変更できます - 「[接続設定](#configuration-webcrawl-connector)」を参照する。

以下がサポートされています。
+ 複数のソース URL を選択してクロールし、ホストのみをクロールするかサブドメインも含めるように URL の範囲を設定します。
+ ソース URL の一部である静的ウェブページをクロールします。
+ カスタムユーザーエージェントのサフィックスを指定して、独自のクローラーのルールを設定します。
+ フィルターパターンに一致する特定の URL を含めるか除外します。
+ 「許可」や「拒否」などの標準の robots.txt ディレクティブを尊重します。
+ クロールする URL の範囲を制限し、オプションでフィルターパターンに一致する URL を除外します。
+ URL のクローリング速度とクローリングするページの最大数を制限します。
+ Amazon CloudWatch でクロールされた URL のステータスの表示

## 前提条件
<a name="prerequisites-webcrawl-connector"></a>

**ウェブクローラーを使用するには、以下を確認してください**。
+ ソース URL をクロールする権限があることを確認します。
+ ソース URL に対応する robots.txt へのパスが URL のクロールをブロックしていないことを確認します。ウェブクローラーは、robots.txt の基準に準拠しています。ウェブサイトに robots.txt が見つからない場合は、デフォルトで `disallow`。ウェブクローラーは、[RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) に従って robots.txt を尊重します。カスタムユーザーエージェントのサフィックスを指定して、独自のクローラーのルールを設定することもできます。詳細については、このページの [接続設定](#configuration-webcrawl-connector) 手順の「ウェブクローラー URL アクセス」を参照してください。
+ [CloudWatch Logs 配信を有効](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html)にし、ウェブクローラーログの例に従って、ウェブコンテンツを取り込むためのデータインジェストジョブのステータスと、特定の URL を取得できないかどうかを表示します。

**注記**  
クロールするウェブサイトを選択するときは、[Amazon 適正利用規約](https://aws.amazon.com/aup/)およびその他の Amazon 利用規約のすべてに準拠する必要があります。自分のウェブページ、またはクロールすることを許可されているウェブページをインデックスするためにのみ、ウェブクローラーを使用することに留意してください。

## 接続設定
<a name="configuration-webcrawl-connector"></a>

URL のクロール、包含/除外フィルター、URL アクセス、増分同期、およびこれらの動作の同期スコープの詳細については、以下を選択してください。

### URL をクロールするための同期範囲
<a name="ds-sync-scope"></a>

各ページ URL とシード URL の特定の関係に基づいて、クロールする URL の範囲を制限することができます。クローリングを高速化するために、シード URL のホストと初期 URL パスと同じものを持つ URL に制限できます。より広い範囲をクロールする場合は、同じホストを持つ URL をクロールするか、シード URL の任意のサブドメイン内をクロールするかを選択できます。

以下のオプションから選択できます。
+ デフォルト: 同じホストに属し、同じ初期 URL パスを持つウェブページのクロールに制限します。例えば、シード URL が「https://aws.amazon.com/bedrock/」の場合、「https://aws.amazon.com/bedrock/agents/」のように、このパスと、このパスから拡張されたウェブページのみがクロールされます。例えば、「https://aws.amazon.com/ec2/」のような 兄弟 URL はクロールされません。
+ ホストのみ: 同じホストに属するウェブページにクローリングを制限します。例えば、シード URL が「https://aws.amazon.com/bedrock/」の場合、「https://aws.amazon.com/ec2」のように「https://aws.amazon.com」を含むウェブページもクロールされます。
+ サブドメイン: シード URL と同じプライマリドメインを持つウェブページのクロールを含めます。例えば、シード URL が「https://aws.amazon.com/bedrock/」の場合、「https://www.amazon.com」のように「amazon.com」(サブドメイン) を含むウェブページもクロールされます。

**注記**  
過剰になりうるウェブページをクローリングしていないことを確認してください。フィルターや範囲の制限なしで wikipedia.org などの大規模なウェブサイトをクロールすることはお勧めしません。大規模なウェブサイトのクローリングには非常に時間がかかります。  
[サポートされているファイルタイプ](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)は、範囲に関係なく、またファイルタイプに除外パターンがない場合にクロールされます。

ウェブクローラーは静的ウェブサイトをサポートしています。

URL のクローリング速度を制限して、クローリング速度のスロットリングを制御することもできます。1 分あたりにウェブサイトホストごとにクロールされる URL の最大数を設定します。さらに、クロールするウェブページの総数の最大数 (最大 25,000) を設定することもできます。ソース URL のウェブページの合計数が設定した最大値を超えると、データソースの同期/取り込みジョブは失敗することに注意してください。

### 包含/除外フィルター
<a name="ds-inclusion-exclusion"></a>

適用範囲に従って、特定の URL を含めることも除外することもできます。[サポートされているファイルタイプ](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)は、範囲に関係なく、またファイルタイプに除外パターンがない場合にクロールされます。包含フィルターと除外フィルターを指定し、両方が URL に一致する場合、除外フィルターが優先され、ウェブコンテンツはクロールされません。

**重要**  
[破壊的なバックトラック](https://docs.aws.amazon.com/codeguru/detector-library/python/catastrophic-backtracking-regex/)と先読みにつながる問題のある正規表現パターンフィルターは拒否されます。

「.pdf」または PDF ウェブページのアタッチメントで終わる URL を除外する正規表現フィルターパターンの例: *".\$1\$1.pdf\$1"*

### ウェブクローラー URL アクセス
<a name="ds-webcrawl-identity-crawling"></a>

ウェブクローラー を使用して、クロールが許可されているウェブサイトのページをクロールすることができます。

クロールするウェブサイトを選択するときは、[Amazon 適正利用規約](https://aws.amazon.com/aup/)およびその他の Amazon 利用規約のすべてに準拠する必要があります。自分のウェブページ、またはクロールすることを許可されているウェブページをインデックスするためにのみ、ウェブクローラーを使用することに留意してください。

ウェブクローラーは、[RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) に従って robots.txt を尊重します

特定のユーザーエージェントボットを指定して、ユーザーエージェントがソース URL をクロールすることを「許可」または「拒否」できます。ウェブサイトの robots.txt ファイルを変更して、ウェブクローラーがウェブサイトをクロールする方法を制御できます。クローラーはまず `bedrockbot-UUID ` ルールを探し、次に robots.txt ファイル内の一般的な `bedrockbot` ルールを探します。

ボット保護システムでクローラーを許可リストに登録するために使用できる User-Agent サフィックスを追加することもできます。ユーザーエージェントの文字列を偽装できないようにするために、このサフィックスを `robots.txt` ファイルに追加する必要はありません。例えば、すべてのウェブサイトコンテンツをウェブクローラーがクロールできるようにして、他のロボットのクローリングを禁止するには、次のディレクティブを使用します。

```
User-agent: bedrockbot-UUID # Amazon Bedrock Web Crawler
Allow: / # allow access to all pages
User-agent: * # any (other) robot
Disallow: / # disallow access to any pages
```

### 増分同期
<a name="ds-incremental-sync"></a>

ウェブクローラーを実行するたびに、ソース URL から到達可能で、範囲とフィルターに一致するすべての URL のコンテンツを取得します。すべてのコンテンツの初回同期後に増分同期を行う場合、Amazon Bedrock はナレッジベースを新規および変更されたコンテンツで更新し、存在しない古いコンテンツを削除します。時折、クローラーはコンテンツがウェブサイトから削除されたかどうかを判断できないことがあります。この場合、ナレッジベースの古いコンテンツを保存する側に回ることになります。

データソースをナレッジベースと同期するには、[StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API を使用するか、コンソールでナレッジベースを選択し、データソースの概要セクションで **[同期]** を選択します。

**重要**  
データソースから同期するすべてのデータは、データを取得する `bedrock:Retrieve` アクセス許可を持つすべてのユーザーが利用できるようになります。これには、データソースのアクセス許可が制御されているデータを含めることもできます。詳細については、「[Knowledge base permissions](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)」を参照してください。

------
#### [ Console ]

**ウェブクローラーデータソースをナレッジベースに接続する**

1. [Amazon Bedrock ナレッジベースでデータソースに接続してナレッジベースを作成する](knowledge-base-create.md) の手順に従って、データソースとして **[ウェブクローラー]** を選択します。

1. データソース名と説明 (オプション) を入力します。

1. クロールする URL の**ソース URL** を指定します。**ソース URL の追加**を選択すると、最大 9 つの URL を追加できます。ソース URL を提供することで、そのドメインをクロールする権限があることを確認することになります。

1. **[詳細設定]** セクションでは、必要に応じて以下を設定できます。
   + **一時的なデータストレージ用の KMS キー。**– データを埋め込みに変換するとともに、デフォルト AWS マネージドキー または独自の KMS キーを使用して一時的なデータを暗号化できます。詳細については、「[データインジェスト時の一時データストレージの暗号化](encryption-kb.md#encryption-kb-ingestion)」を参照してください。
   + **データ削除ポリシー** – デフォルトでベクトルストアに保存されているデータソースのベクトル埋め込みを削除したり、ベクトルストアデータを保持するように選択したりできます。

1. (オプション) ウェブサーバーにアクセスするときにクローラーまたはボットを識別する **bedrock-UUID-** のユーザーエージェントサフィックスを指定します。

1. **[同期の範囲]** セクションで以下を設定します。

   1. ソース URL をクローリングする **[ウェブサイトのドメイン範囲]** を選択します。
      + デフォルト: 同じホストに属し、同じ初期 URL パスを持つウェブページのクロールに制限します。例えば、シード URL が「https://aws.amazon.com/bedrock/」の場合、「https://aws.amazon.com/bedrock/agents/」のように、このパスと、このパスから拡張されたウェブページのみがクロールされます。例えば、「https://aws.amazon.com/ec2/」のような 兄弟 URL はクロールされません。
      + ホストのみ: 同じホストに属するウェブページにクローリングを制限します。例えば、シード URL が「https://aws.amazon.com/bedrock/」の場合、「https://aws.amazon.com/ec2」のように「https://aws.amazon.com」を含むウェブページもクロールされます。
      + サブドメイン: シード URL と同じプライマリドメインを持つウェブページのクロールを含めます。例えば、シード URL が「https://aws.amazon.com/bedrock/」の場合、「https://www.amazon.com」のように「amazon.com」(サブドメイン) を含むウェブページもクロールされます。
**注記**  
過剰になりうるウェブページをクローリングしていないことを確認してください。フィルターや範囲の制限なしで wikipedia.org などの大規模なウェブサイトをクロールすることはお勧めしません。大規模なウェブサイトのクローリングには非常に時間がかかります。  
[サポートされているファイルタイプ](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)は、範囲に関係なく、またファイルタイプに除外パターンがない場合にクロールされます。

   1. **クローリング速度の最大スロットリング** を入力します。ホストごとに 1 分あたり 1～300 URL を取り込みます。クローリング速度が高いほど負荷は増加しますが、所要時間は短くなります。

   1. **データソース同期の最大ページ数**を 1～25000 の間で入力します。ソース URL からクロールされるウェブページの最大数を制限します。ウェブページがこの数を超えると、データソースの同期に失敗し、ウェブページは取り込まれません。

   1. **URL 正規表現**パターン (オプション) では、ボックスに正規表現パターンを入力して、**包含パターン**または**除外パターン**を追加できます。**[新しいパターンを追加する]** を選択すると、包含および除外フィルターパターンをそれぞれ最大 25 個追加できます。包含パターンと除外パターンは、適用範囲に従ってクロールされます。競合がある場合、除外パターンが優先されます。

1. (オプション) **[コンテンツの解析とチャンキング]** セクションで、データの解析とチャンキングの方法をカスタマイズできます。これらのカスタマイズの詳細については、次のリソースを参照してください。
   + 解析オプションの詳細については、「[データソースの解析オプション](kb-advanced-parsing.md)」を参照してください。
   + チャンキング戦略の詳細については、「[ナレッジベースのコンテンツのチャンキングの仕組み](kb-chunking.md)」を参照してください。
**警告**  
データソースに接続した後はチャンキング戦略を変更できません。
   + Lambda 関数を使用してデータのチャンキングとメタデータの処理をカスタマイズする方法の詳細については、「[カスタム変換 Lambda 関数を使用してデータの取り込み方法を定義する](kb-custom-transformation.md)」を参照してください。

1. 埋め込みモデルとベクトルストアの選択を続行します。残りの手順を確認するには、「[Amazon Bedrock ナレッジベースでデータソースに接続してナレッジベースを作成する](knowledge-base-create.md)」に戻り、データソースを接続した後の手順から続行します。

------
#### [ API ]

ウェブクローラーを使用してナレッジベースをデータソースに接続するには、[Amazon Bedrock エージェントのビルドタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)で [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) リクエストを送信し、[DataSourceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DataSourceConfiguration.html) の `type` フィールドに `WEB` を指定して、`webConfiguration` フィールドを含めます。以下は、Amazon Bedrock ナレッジベースのウェブクローラーの設定例です。

```
{
    "webConfiguration": {
        "sourceConfiguration": {
            "urlConfiguration": {
                "seedUrls": [{
                    "url": "https://www.examplesite.com"
                }]
            }
        },
        "crawlerConfiguration": {
            "crawlerLimits": {
                "rateLimit": 50,
                "maxPages": 100
            },
            "scope": "HOST_ONLY",
            "inclusionFilters": [
                "https://www\.examplesite\.com/.*\.html"
            ],
            "exclusionFilters": [
                "https://www\.examplesite\.com/contact-us\.html"
            ],
            "userAgent": "CustomUserAgent"
        }
    },
    "type": "WEB"
}
```

オプションの `vectorIngestionConfiguration` フィールドを含めることで取り込みに適用できるカスタマイズの詳細については、「[データソースの取り込みをカスタマイズする](kb-data-source-customize-ingestion.md)」を参照してください。

------