(選用) 使用 VPC 保護自訂模型匯入任務 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

(選用) 使用 VPC 保護自訂模型匯入任務

當您執行自訂模型匯入任務時,工作會存取 Amazon S3 儲存貯體以下載輸入資料和上傳任務指標。若要控制對資料的存取,建議您使用虛擬私有雲端 (VPC) 搭配 Amazon VPC。您可以透過設定 VPC 進一步保護資料,使得資料無法透過網際網路取得,並使用 AWS PrivateLink 建立 VPC 介面端點,以建立資料的私有連結。如需 Amazon VPC 如何與 Amazon Bedrock AWS PrivateLink整合的詳細資訊,請參閱 使用 Amazon VPC 和 AWS PrivateLink 保護資料

執行下列步驟設定和使用 VPC,以匯入自訂模型。

設定 VPC

您可以針對模型匯入資料使用預設 VPC,或遵循開始使用 Amazon VPC建立 VPC 中的指引建立新的 VPC。

當您建立 VPC 時,建議為端點路由表使用預設的 DNS 設定,如此才能解析標準 Amazon S3 URL (例如 http://s3-aws-region.amazonaws.com/model-bucket)。

建立 Amazon S3 VPC 端點

如果您在沒有存取網際網路的情況下設定 VPC,則需要建立 Amazon S3 VPC 端點,以允許模型匯入任務存取 S3 儲存貯體,其中會存放訓練和驗證資料並將存放模型成品。

遵循為 Amazon S3 建立閘道端點中的步驟,建立 S3 VPC 端點。

注意

如果您未將預設的 DNS 設定用於 VPC,則必須透過設定端點路由表,來確保訓練任務中資料位置的 URL 可解析。如需 VPC 端點路由表的相關資訊,請參閱閘道端點的路由

(選用) 使用 IAM 政策來限制對 S3 檔案的存取

您可以使用資源型政策更緊密地控制對 S3 檔案的存取。您可以使用下列類型的資源型政策。

  • 端點政策 – 端點政策會透過 VPC 端點限制存取。預設端點政策可讓 VPC 中的任何使用者或服務完整存取 Amazon S3。在建立端點時或之後,您可以選擇將資源型政策連接至端點以新增限制,例如僅允許端點存取特定儲存貯體,或僅允許特定 IAM 角色存取端點。如需範例,請參閱編輯 VPC 端點政策

    以下是您可以連接到 VPC 端點的範例政策,以僅允許其存取包含模型權重的儲存貯體。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "RestrictAccessToModelWeightsBucket", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::model-weights-bucket", "arn:aws:s3:::model-weights-bucket/*" ] } ] }

將 VPC 許可連接到自訂模型匯入角色。

完成 VPC 和端點的設定後,您必須將下列許可連接至模型匯入 IAM 角色。修改此政策,僅允許存取任務所需的 VPC 資源。將 subnet-idssecurity-group-id 取代為 VPC 中的值。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:us-east-1:123456789012:network-interface/*" ], "Condition": { "StringEquals": { "aws:RequestTag/BedrockManaged": [ "true" ] }, "ArnEquals": { "aws:RequestTag/BedrockModelImportJobArn": [ "arn:aws:bedrock:us-east-1:123456789012:model-import-job/*" ] } } }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id", "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id2", "arn:aws:ec2:us-east-1:123456789012:security-group/security-group-id" ] }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission" ], "Resource": "*", "Condition": { "ArnEquals": { "ec2:Subnet": [ "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id", "arn:aws:ec2:us-east-1:123456789012:subnet/subnet-id2" ], "ec2:ResourceTag/BedrockModelImportJobArn": [ "arn:aws:bedrock:us-east-1:123456789012:model-import-job/*" ] }, "StringEquals": { "ec2:ResourceTag/BedrockManaged": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:us-east-1:123456789012:network-interface/*", "Condition": { "StringEquals": { "ec2:CreateAction": [ "CreateNetworkInterface" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "BedrockManaged", "BedrockModelImportJobArn" ] } } } ] }

提交模型匯入任務時新增 VPC 組態

依照前幾節所述設定 VPC 以及必要的角色和許可之後,您可以建立使用此 VPC 的模型匯入任務。

當您指定 VPC 子網路和安全群組時,Amazon Bedrock 會在其中一個子網路內建立與安全群組相關聯的彈性網路介面(ENI)。ENI 允許 Amazon Bedrock 工作連線至 VPC 中的資源。如需 ENI 的相關資訊,請參閱 Amazon VPC 使用者指南中的彈性網路介面。Amazon Bedrock 使用 BedrockManagedBedrockModelImportJobArn 標籤標記它建立的 ENI。

建議您在每個可用區域中至少提供一個子網路。

您可以使用安全群組建立規則,以控制 Amazon Bedrock 對 VPC 資源的存取。

您可以在主控台或透過 API 設定要使用的 VPC。選擇您偏好方法的索引標籤,然後遵循下列步驟:

Console

對於 Amazon Bedrock 主控台,您可以在建立模型匯入任務時,在選用的 VPC 設定區段中指定 VPC 子網路和安全群組。如需有關設定模型匯入任務的詳細資訊,請參閱提交模型匯入任務

API

提交 CreateModelCustomizationJob 請求時,您可以如下列範例所示,包含 VpcConfig 作為請求參數,以指定要使用的 VPC 子網路和安全群組。

"VpcConfig": { "SecurityGroupIds": [ "sg-0123456789abcdef0" ], "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ] }