View a markdown version of this page

データソースの VPC 接続を設定する - Amazon Bedrock

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

データソースの VPC 接続を設定する

一部のデータソースは、VPC 内の内部ロードバランサーでフロントするオンプレミスの Confluence データセンターインスタンスなど、パブリックインターネット経由で到達できないプライベートリソースで実行されます。これらのデータソースをクロールするには、VPC 設定を作成します。Amazon Bedrock は、 設定を使用して VPC へのプライベートネットワークパスをプロビジョニングし、 リソースに到達します。

VPC 設定は、ナレッジベースの再利用可能なリソースです。一度作成し、1 つ以上のデータソースから ID で参照します。プライベート接続を必要とするデータソースを作成するときは、既存の VPC 設定を選択するか、新しい VPC 設定を作成します。

注記

Amazon Bedrock が VPC 設定をプロビジョニングすると、ナレッジベースに関連付けられた AWS Identity and Access Management (IAM) ロールを引き受けて、アカウントに小さなネットワークリソースのセットを作成します。Amazon Bedrock が作成するすべてのリソースには というタグが付けられManagedBy=VPCProxyService、ロールはそのタグを持つリソースに対してのみ動作できます。「ナレッジベースの IAM ロールのアクセス許可」を参照してください。

提供内容

VPC 設定を作成するには、以下を指定します。

VPC 設定入力
Input 必要な理由
VPC と 1 つ以上のサブネット ここで、Amazon Bedrock はネットワークエントリポイント (プライベートゲートウェイ) を VPC に配置します。選択した VPC から 1~6 個のサブネットを指定します。
リソースターゲットとポート 到達するリソースのプライベート IP アドレスまたは DNS 名 (およびポート)。
ナレッジベースの IAM ロール Amazon Bedrock はこのロールを引き受けて、アカウントのネットワークリソースをプロビジョニングします。「ナレッジベースの IAM ロールのアクセス許可」を参照してください。

セキュリティグループは指定しません。Amazon Bedrock は、ゲートウェイに VPC のデフォルトのセキュリティグループを使用します。デフォルトのセキュリティグループのアウトバウンド (出力) ルールで、リクエストされたポートのターゲットに到達できることを確認します。「デフォルトのセキュリティグループからの出力」を参照してください。

ネットワークの要件

Amazon Bedrock は、プライベートネットワークインターフェイスのみで作成されたプライベートゲートウェイ (パブリック IP アドレスなし) を介してリソースに到達します。ゲートウェイは VPC のプライベート (ローカル) ネットワーク経由でターゲットに到達し、パブリック IP アドレスに到達できません。リソースターゲットは、VPC 内からプライベートにアクセスできる必要があります。

  • DNS 名がプライベートアドレス (、、 などscheme: internal) に解決される内部ロードバランサー ()10.x172.x192.168.x。

  • プライベート IP アドレス、または VPC 内のプライベートアドレスに解決されるプライベート DNS 名。

インターネット向けロードバランサーはサポートされていません。インターネット向けロードバランサーは、VPC 内の DNS クエリであってもパブリック IP アドレスを返し、プライベートゲートウェイはそれらのアドレスに到達できません。現在、リソースがインターネット向けロードバランサーを介してのみ公開されている場合は、同じ VPC 内に内部ロードバランサーを作成 (またはポイント) し、その DNS 名をリソースターゲットとして使用します。

VPC 設定を作成する

Console
VPC 設定を追加するには
  1. データソース設定の VPC 設定で、VPC 設定の追加を選択します。適切な設定が既に存在する場合は、代わりにそれを選択してデータソース間で再利用します。

  2. (オプション) 設定の名前と説明を入力します。

  3. VPC ID で、接続に使用する VPC を選択します。

  4. サブネット IDs、選択した VPC から 1 つ以上のサブネットを選択します。

  5. リソースターゲットには、リソースのホスト名または IP アドレス ( 10.0.1.50や などconfluence.internal.example.com) を入力します。

  6. ポートには、接続するポート番号を入力します (例: 443または 8090)。

  7. [プロトコル] で、[HTTP] または [HTTPS] を選択します。

  8. 解決モードでは、リソースターゲットアドレスの解決方法を選択します。

    • パブリック – リソースターゲットは、パブリックに解決可能なホスト名または IP アドレスです。

    • VPC の場合 – リソースターゲットは VPC 内でのみ解決できます。これは、内部リソースの一般的なケースです。

  9. (オプション) Host ヘッダーには、リクエストとともに送信するHostヘッダー値を入力します。これは、リソース (またはアップストリームルーター) が HTTP Hostヘッダーでルーティングされる場合にのみ設定します。

  10. (HTTPS に必須) TLS サーバー名には、リソースに期待される TLS 証明書 ID (サブジェクト代替名) を入力します。左端の 1 つのワイルドカードを使用できます (例: *.example.com)。

  11. [作成] を選択します。

API

VPC 設定を作成するには、 CreateVpcConfiguration リクエストを送信します。Amazon Bedrock はナレッジベースからそれらを解決するため、すべてのオペレーションはknowledgeBaseIdパスパラメータを通じてナレッジベースにスコープされます。リクエスト本文にはアカウント ID またはロール ARN は含まれません。

POST /knowledgebases/knowledgeBaseId/vpcconfigurations/

リクエスト本文では、次のフィールドを使用します。

CreateVpcConfiguration フィールド
フィールド 必要 説明
vpcId はい VPC の ID。最大 64 文字^vpc-[a-zA-Z0-9]+$の に一致します。
subnetIds はい 指定された VPC の 1~6 個のサブネット IDs。各 は に一致します^subnet-[a-zA-Z0-9]+$。
resourceTarget はい リソースの IPv4 アドレスまたは DNS 名 (1~255 文字)。「リソースターゲットの制限」を参照してください。
port はい 接続するポート (1~65535)。
protocol はい HTTP または HTTPS
resolutionMode はい PUBLIC または IN_VPC ターゲットが VPC 内でのみ解決IN_VPCされる場合に使用します。
tlsServerName 条件付き protocol が の場合は必須ですHTTPS。リソースの TLS 証明書に一致するホスト名 (最大 253 文字)。1 つの左端のワイルドカードを使用できます。ポートを含めることはできません。
hostHeader いいえ 送信する HTTP Hostヘッダー値 (最大 255 文字)。リソースが Hostヘッダーでルーティングされる場合にのみ を設定します。
name いいえ 人間が読める名前 (1~128 文字)。
description いいえ 説明 (最大 512 文字)。
clientToken いいえ べき等性トークン。

作成は非同期です。 は、 vpcConfigurationIdステータスが の202レスポンスCreateVpcConfigurationを返しますCREATING。ステータスが CREATED (または の場合CREATE_FAILED、原因にstatusMessage名前を付けます) GetVpcConfigurationになるまでポーリングします。を使用して設定ListVpcConfigurationsを一覧表示し、 DeleteVpcConfigurationを使用して設定を削除します。

注記

同じサブネットセットを持つ同じ VPC に複数の設定を作成すると、1 つのゲートウェイを共有します。サブネットの異なるセットは、別のゲートウェイをプロビジョニングします。

プロトコル、TLS サーバー名、ホストヘッダー

これら 3 つの設定は、最も一般的な設定ミスです。次のガイダンスを使用して、適切な値を選択します。

protocol

プレーンテキスト HTTP でリソースHTTPSをHTTP呼び出すか、TLS で呼び出すかを選択します。

tlsServerName

protocol が の場合は必須ですHTTPS。これは、呼び出し中にリソースの TLS 証明書のサブジェクト代替名と一致するサーバー名です。証明書が発行されるホスト名 ( などapp.internal.example.com) に設定します。1 つの左端のワイルドカードを使用できます (例: *.example.com)。リソースが IP アドレスで到達したが、名前の証明書を提示する場合は、 をその名前tlsServerNameに設定します。証明書が一致しない場合、呼び出しは TLS ID チェックに失敗します。この値は、ポートのないホスト名である必要があります。

hostHeader

オプション、および から独立したアプリケーションレイヤーの懸念事項tlsServerName。リソース、アップストリームルーター、またはイングレスが HTTP Hostヘッダーでルーティングし、そのホストが送信するものと異なる場合にのみ設定します。リソースが 1 つのサイトを提供し、 によってルーティングされない場合はHost、未設定のままにします。

resolutionMode

リソースターゲットがパブリックに解決可能な名前かパブリック IP アドレスPUBLICかを選択します。リソースターゲットが VPC (プライベート DNS またはプライベート IP アドレス) 内でのみ解決IN_VPCされるタイミングを選択します。これは、内部リソースの一般的なケースです。リテラルプライベート IP ターゲット ( など10.0.5.20) は、解決する DNS 名がないため、どちらのモードでも機能します。

リソースターゲットの制限

Amazon Bedrock は、設定の作成resourceTarget時に を検証し、サービス自体または内部インフラストラクチャにサービスが誘導されないようにします。次のターゲットは拒否されます。

  • ループバックアドレス (127.0.0.0/8、::1) および localhost。

  • インスタンスメタデータエンドポイント を含むリンクローカルアドレス (169.254.0.0/16、fe80::/10)169.254.169.254。

  • ワイルドカードまたは任意のローカルアドレス (0.0.0.0、::) と 0.0.0.0/8ブロック。

  • マルチキャストアドレス。

  • IPv6 リテラル。ゲートウェイは IPv4-onlyにプロビジョニングされるため、IP ターゲットはドットクワッド IPv4 アドレスである必要があります。

DNS 名は許可されます。検証では解決されないため、ゲートウェイサブネットからターゲットに到達できる必要があります。

デフォルトのセキュリティグループからの出力

Amazon Bedrock はゲートウェイに VPC のデフォルトのセキュリティグループを使用するため、そのセキュリティグループの Egress ルールでは resourceTargetへの到達を許可する必要がありますport。デフォルトのセキュリティグループがロックダウンされている場合、作成はすぐに失敗し、後でタイムアウトするのではなく明確なメッセージが表示されます。設定を作成する前に、エグレスルールでゲートウェイサブネットからターゲットとポートへのトラフィックが許可されていることを確認してください。

ナレッジベースの IAM ロールのアクセス許可

Amazon Bedrock は、ナレッジベースに関連付けられた IAM ロールを引き受けて、アカウントのネットワークリソースをプロビジョニングし、後で削除します。ロールは、以下の作成と削除のアクセス許可と、再試行された削除をべき等にする読み取りアクセス許可を付与する必要があります。Amazon Bedrock が作成するすべてのリソースには というタグが付けられManagedBy=VPCProxyService、破壊的なアクセス許可はそのタグでゲートされるため、ロールはこの機能が作成したリソースに対してのみ動作できます。

  • 作成 – vpc-lattice:CreateResourceGateway、vpc-lattice:CreateResourceConfiguration、vpc-lattice:TagResource、、vpc-lattice:PutResourcePolicyram:CreateResourceShare、ram:AssociateResourceShare、および iam:CreateServiceLinkedRole (VPC Lattice ram:TagResourceサービスにリンクされたロールの場合は 1 回限り)。

  • 削除 – vpc-lattice:DeleteResourceGateway、vpc-lattice:DeleteResourceConfiguration、および ram:DeleteResourceShare。

  • 読み取り (検証と冪等性) – vpc-lattice:GetResourceGateway、vpc-lattice:GetResourceConfiguration、、ram:GetResourceShares、ec2:DescribeSubnetsec2:DescribeSecurityGroups、および ec2:DescribeVpcs。

重要

vpc-lattice:GetResourceGateway と の両方を付与しますvpc-lattice:GetResourceConfiguration。削除アクセス許可はタグスコープであるため、既に削除されたリソースを削除すると、検出されないエラーではなく、アクセス拒否エラーが返されます。Amazon Bedrock は、これらのタグなしの読み取りアクセス許可を使用して、既に削除されたリソース (成功として扱われる) に、真のアクセス許可の問題から指示します。これらがないと、部分的な障害後に再試行された削除が停止する可能性があります。

次のポリシー例では、必要なアクセス許可を付与します。region と accountId を自分の値に置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VpcProxyCreateTagged", "Effect": "Allow", "Action": [ "vpc-lattice:CreateResourceGateway", "vpc-lattice:CreateResourceConfiguration", "vpc-lattice:TagResource" ], "Resource": [ "arn:aws:vpc-lattice:region:accountId:resourcegateway/*", "arn:aws:vpc-lattice:region:accountId:resourceconfiguration/*" ], "Condition": { "StringEquals": { "aws:RequestTag/ManagedBy": "VPCProxyService", "aws:ResourceTag/ManagedBy": "VPCProxyService" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["ManagedBy"] } } }, { "Sid": "VpcProxyPutResourcePolicy", "Effect": "Allow", "Action": "vpc-lattice:PutResourcePolicy", "Resource": [ "arn:aws:vpc-lattice:region:accountId:resourceconfiguration/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" } } }, { "Sid": "VpcProxyRamCreate", "Effect": "Allow", "Action": "ram:CreateResourceShare", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/ManagedBy": "VPCProxyService" }, "StringEqualsIfExists": { "ram:RequestedResourceType": "vpc-lattice:ResourceConfiguration" } } }, { "Sid": "VpcProxyRamAssociate", "Effect": "Allow", "Action": "ram:AssociateResourceShare", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" } } }, { "Sid": "VpcProxyRamTagOnCreate", "Effect": "Allow", "Action": "ram:TagResource", "Resource": [ "arn:aws:ram:region:accountId:resource-share/*" ], "Condition": { "StringEquals": { "aws:RequestTag/ManagedBy": "VPCProxyService", "aws:ResourceTag/ManagedBy": "VPCProxyService" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["ManagedBy"] } } }, { "Sid": "VpcProxyDeleteTagged", "Effect": "Allow", "Action": [ "vpc-lattice:DeleteResourceConfiguration", "vpc-lattice:DeleteResourceGateway" ], "Resource": [ "arn:aws:vpc-lattice:region:accountId:resourcegateway/*", "arn:aws:vpc-lattice:region:accountId:resourceconfiguration/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" } } }, { "Sid": "VpcProxyRamDeleteTagged", "Effect": "Allow", "Action": "ram:DeleteResourceShare", "Resource": [ "arn:aws:ram:region:accountId:resource-share/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/ManagedBy": "VPCProxyService" }, "StringLike": { "ram:ResourceShareName": "vpc-proxy-share-*" } } }, { "Sid": "VpcProxyGetResource", "Effect": "Allow", "Action": [ "vpc-lattice:GetResourceConfiguration", "vpc-lattice:GetResourceGateway" ], "Resource": [ "arn:aws:vpc-lattice:region:accountId:resourcegateway/*", "arn:aws:vpc-lattice:region:accountId:resourceconfiguration/*" ] }, { "Sid": "VpcProxyRamGetResourceShares", "Effect": "Allow", "Action": "ram:GetResourceShares", "Resource": "*" }, { "Sid": "VpcProxyEc2Describe", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Sid": "VpcProxyLatticeServiceLinkedRole", "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": [ "arn:aws:iam::accountId:role/aws-service-role/vpc-lattice.amazonaws.com/*" ], "Condition": { "StringEquals": { "iam:AWSServiceName": "vpc-lattice.amazonaws.com" } } } ] }

Lifecycle

  • VPC 設定は、 CREATINGから CREATED、または から に移行しますCREATE_FAILED。削除すると、ステータスは DELETING、、または になりますDELETE_FAILED。

  • 作成と削除は非同期です。ポーリングGetVpcConfigurationして進行状況を追跡します。失敗すると、 はアクセス許可がないなど、実行可能な原因にstatusMessage名前を付けます。

  • 削除はべき等です。再試行すると、部分的に完了した削除が収束します。