

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

# データソースの VPC 接続を設定する
<a name="kb-managed-vpc-configuration"></a>

一部のデータソースは、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 ロールのアクセス許可](#kb-managed-vpc-configuration-role)」を参照してください。

## 提供内容
<a name="kb-managed-vpc-configuration-provide"></a>

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


**VPC 設定入力**  

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

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

## ネットワークの要件
<a name="kb-managed-vpc-configuration-network"></a>

Amazon Bedrock は、プライベートネットワークインターフェイスのみで作成されたプライベートゲートウェイ (パブリック IP アドレスなし) を介してリソースに到達します。ゲートウェイは VPC のプライベート (ローカル) ネットワーク経由でターゲットに到達し、パブリック IP アドレスに到達できません。リソースターゲットは、VPC 内からプライベートにアクセスできる必要があります。
+ DNS 名がプライベートアドレス (、、 など`scheme: internal`) に解決される内部ロードバランサー ()`10.{{x}}``172.{{x}}``192.168.{{x}}`。
+ プライベート IP アドレス、または VPC 内のプライベートアドレスに解決されるプライベート DNS 名。

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

## VPC 設定を作成する
<a name="kb-managed-vpc-configuration-create"></a>

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

**VPC 設定を追加するには**

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

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

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

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

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

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

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

1. **解決モードでは**、リソースターゲットアドレスの解決方法を選択します。
   + **パブリック** – リソースターゲットは、パブリックに解決可能なホスト名または IP アドレスです。
   + **VPC の場合** – リソースターゲットは VPC 内でのみ解決できます。これは、内部リソースの一般的なケースです。

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

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

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

------
#### [ 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 文字）。「[リソースターゲットの制限](#kb-managed-vpc-configuration-target)」を参照してください。 | 
| 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 サーバー名、ホストヘッダー
<a name="kb-managed-vpc-configuration-fields"></a>

これら 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 名がないため、どちらのモードでも機能します。

## リソースターゲットの制限
<a name="kb-managed-vpc-configuration-target"></a>

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

## デフォルトのセキュリティグループからの出力
<a name="kb-managed-vpc-configuration-egress"></a>

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

## ナレッジベースの IAM ロールのアクセス許可
<a name="kb-managed-vpc-configuration-role"></a>

Amazon Bedrock は、ナレッジベースに関連付けられた IAM ロールを引き受けて、アカウントのネットワークリソースをプロビジョニングし、後で削除します。ロールは、以下の作成と削除のアクセス許可と、再試行された削除をべき等にする読み取りアクセス許可を付与する必要があります。Amazon Bedrock が作成するすべてのリソースには というタグが付けられ`ManagedBy=VPCProxyService`、破壊的なアクセス許可はそのタグでゲートされるため、ロールはこの機能が作成したリソースに対してのみ動作できます。
+ **作成** – `vpc-lattice:CreateResourceGateway`、`vpc-lattice:CreateResourceConfiguration`、`vpc-lattice:TagResource`、、`vpc-lattice:PutResourcePolicy``ram: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:DescribeSubnets``ec2: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
<a name="kb-managed-vpc-configuration-lifecycle"></a>
+ VPC 設定は、 `CREATING`から `CREATED`、または から に移行します`CREATE_FAILED`。削除すると、ステータスは `DELETING`、、または になります`DELETE_FAILED`。
+ 作成と削除は非同期です。ポーリング`GetVpcConfiguration`して進行状況を追跡します。失敗すると、 はアクセス許可がないなど、実行可能な原因に`statusMessage`名前を付けます。
+ 削除はべき等です。再試行すると、部分的に完了した削除が収束します。