本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定資料來源的 VPC 連線
有些資料來源會在無法透過公有網際網路連線的私有資源上執行,例如您在 VPC 中使用內部負載平衡器前置的現場部署 Confluence 資料中心執行個體。若要編目這些資料來源,您可以建立 VPC 組態。Amazon Bedrock 使用 組態將私有網路路徑佈建到您的 VPC 並連接 資源。
VPC 組態是知識庫上的可重複使用資源。您建立一次,然後透過來自一或多個資料來源的 ID 來參考它。當您建立需要私有連線的資料來源時,您可以選取現有的 VPC 組態或建立新的組態。
注意
當 Amazon Bedrock 佈建 VPC 組態時,它會擔任與您的知識庫相關聯的 AWS Identity and Access Management (IAM) 角色,在您的帳戶中建立一組小型聯網資源。Amazon Bedrock 建立的每個資源都會標記 ManagedBy=VPCProxyService,而且角色只能對帶有該標籤的資源採取行動。請參閱 知識庫 IAM 角色許可。
您提供的內容
若要建立 VPC 組態,請提供下列項目:
| Input | 為什麼需要它 |
|---|---|
| VPC 和一或多個子網路 | Amazon Bedrock 將網路進入點 (私有閘道) 放入 VPC 的位置。您可以從選擇的 VPC 提供 1-6 個子網路。 |
| 資源目標和連接埠 | 您要連線之資源的私有 IP 地址或 DNS 名稱 (和連接埠)。 |
| 知識庫 IAM 角色 | Amazon Bedrock 會擔任此角色來佈建您帳戶中的網路資源。請參閱 知識庫 IAM 角色許可。 |
您不提供安全群組。Amazon Bedrock 會將 VPC 的預設安全群組用於閘道。請確定預設安全群組的傳出 (輸出) 規則允許在請求的連接埠上到達您的目標。請參閱 從預設安全群組輸出。
網路需求
Amazon Bedrock 透過僅使用私有網路介面建立的私有閘道 (無公有 IP 地址) 來到達您的資源。閘道會透過 VPC 的私有 (本機) 網路到達您的目標,且無法連線到公有 IP 地址。您的資源目標必須可從 VPC 內部私下連線:
-
內部負載平衡器 (
scheme: internal),其 DNS 名稱解析為私有地址 (例如10.、x172.或x192.168.)。x -
私有 IP 地址,或解析為私有 VPC 內地址的私有 DNS 名稱。
不支援面向網際網路的負載平衡器。面向網際網路的負載平衡器會將其公有 IP 地址傳回至 VPC 內 DNS 查詢,而私有閘道無法連線到這些地址。如果您的資源目前僅透過面向網際網路的負載平衡器公開,請在相同的 VPC 中建立 (或指向) 內部負載平衡器,並使用其 DNS 名稱做為資源目標。
建立 VPC 組態
通訊協定、TLS 伺服器名稱和主機標頭
這三個設定是最常見的設定錯誤。使用下列指引來選擇正確的值。
protocol-
選擇透過純文字 HTTP
HTTP叫用資源,或透過 TLSHTTPS叫用資源。 tlsServerName-
當
protocol為 時為必要HTTPS。這是叫用期間與資源的 TLS 憑證主體別名相符的伺服器名稱。將其設定為憑證發行的主機名稱 (例如app.internal.example.com)。允許單一最左邊萬用字元 (例如*.example.com)。如果 IP 地址到達資源,但顯示名稱的憑證,請將tlsServerName設定為該名稱。如果憑證不相符,呼叫 TLS 身分檢查會失敗。此值必須是沒有連接埠的主機名稱。 hostHeader-
選用,以及獨立於 的應用程式層考量
tlsServerName。只有當您的資源或上游路由器或輸入透過 HTTPHost標頭路由,且該主機與您原本要傳送的內容不同時,才進行設定。如果您的資源為單一網站提供服務,但未透過 路由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 的預設安全群組用於閘道,因此該安全群組的輸出規則必須允許在 resourceTarget上到達 port。如果預設安全群組被鎖定,則建立會快速失敗,並顯示明確訊息,而不是稍後逾時。建立組態之前,請確定輸出規則允許從閘道子網路到目標和連接埠的流量。
知識庫 IAM 角色許可
Amazon Bedrock 會擔任與您知識庫相關聯的 IAM 角色,以佈建和縮減您帳戶中的網路資源。角色必須授予以下建立和刪除許可,以及讓 重試刪除等冪的讀取許可。Amazon Bedrock 建立的每個資源都會加上標籤 ManagedBy=VPCProxyService,而破壞性許可會鎖定在該標籤上,因此角色只能對此功能建立的資源採取行動。
-
建立 –
vpc-lattice:CreateResourceGateway、vpc-lattice:CreateResourceConfiguration、vpc-lattice:TagResource、vpc-lattice:PutResourcePolicy、ram:CreateResourceShareram:TagResource、ram:AssociateResourceShare和iam:CreateServiceLinkedRole(VPC Lattice 服務連結角色一次性)。 -
刪除 –
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" } } } ] }
生命週期
-
VPC 組態會轉換
CREATING到CREATED,或轉換到CREATE_FAILED。刪除時,狀態為DELETING、 或DELETE_FAILED。 -
建立和刪除是非同步的。輪詢
GetVpcConfiguration以追蹤進度。失敗時,請statusMessage命名可採取動作的原因,例如缺少許可。 -
刪除是等冪的。部分完成的刪除會在您重試時收斂。