讓 SageMaker AI 託管端點存取 Amazon 中的資源 VPC - Amazon SageMaker AI

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

讓 SageMaker AI 託管端點存取 Amazon 中的資源 VPC

設定 Amazon VPC Access 的模型

若要在私有 中指定子網路和安全群組VPC,請使用 CreateModelVpcConfig請求參數API,或在 SageMaker AI 主控台中建立模型時提供此資訊。 SageMaker AI 會使用此資訊來建立網路介面,並將其連接至模型容器。網路介面會在您的 內為您的模型容器提供VPC未連線至網際網路的網路連線。它們也可讓您的模型連線到私有 中的資源VPC。

注意

即使您只有一個託管執行個體VPC,也必須在私有 的不同可用區域中建立至少兩個子網路。

以下為您包含在對 VpcConfig 的呼叫內的 CreateModel 參數的範例:

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

設定您的私有 VPC以進行 SageMaker AI 託管

VPC 為 SageMaker AI 模型設定私有時,請使用下列準則。如需設定 的相關資訊VPC,請參閱《Amazon VPC使用者指南》中的使用 VPCs和 子網路

確保子網路擁有充足的 IP 地址

未使用 Elastic Fabric Adapter (EFA) 的訓練執行個體應至少具有 2 個私有 IP 地址。使用 的訓練執行個體EFA應至少具有 5 個私有 IP 地址。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的多個 IP 地址

建立 Amazon S3 VPC端點

如果您設定 VPC讓模型容器無法存取網際網路,則除非您建立允許存取的VPC端點,否則無法連線至包含您資料的 Amazon S3 儲存貯體。透過建立VPC端點,您可以允許模型容器存取儲存資料和模型成品的儲存貯體。我們建議您也建立自訂政策,僅允許來自私有VPC的請求存取 S3 儲存貯體。如需更多資訊,請參閱 Amazon S3 的端點

若要建立 Amazon S3 VPC端點:
  1. 在 開啟 Amazon VPC主控台https://console.aws.amazon.com/vpc/

  2. 在導覽窗格中,選擇端點,然後選擇建立端點

  3. 針對服務名稱,選擇 com.amazonaws.region.s3,其中 region是 VPC所在的 AWS 區域名稱。

  4. 針對 VPC,選擇您要VPC用於此端點的 。

  5. 針對設定路由表,選擇端點要使用的路由表。VPC 服務會自動將路由新增至您選擇的每個路由表,將 Amazon S3 流量指向新的端點。

  6. 針對政策,選擇完整存取,以允許 內的任何使用者或服務完整存取 Amazon S3 服務VPC。若要進一步限制存取權,選擇自訂。如需詳細資訊,請參閱使用自訂端點政策來限制存取 Amazon S3

使用自訂端點政策來限制存取 Amazon S3

預設端點政策允許 中任何使用者或服務的完整存取 Amazon Simple Storage Service (Amazon S3)VPC。若要進一步限制存取 Amazon S3,請建立自訂端點政策。如需詳細資訊,請參 Amazon S3 使用端點政策

您也可以使用儲存貯體政策,將 S3 儲存貯體的存取限制為僅來自 Amazon 的流量VPC。如需資訊,請參閱使用 Amazon S3 儲存貯體政策

使用自訂端點政策限制在模型容器上安裝套件

預設端點政策允許使用者在模型容器上安裝來自 Amazon Linux 和 Amazon Linux 2 儲存庫的套件。如果不希望使用者從這些儲存器安裝套件,請建立自訂端點政策,明確拒絕對 Amazon Linux 和 Amazon Linux 2 儲存庫的存取。以下為拒絕存取上述儲存庫的政策範例:

{ "Statement": [ { "Sid": "AmazonLinuxAMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::packages.*.amazonaws.com/*", "arn:aws:s3:::repo.*.amazonaws.com/*" ] } ] } { "Statement": [ { "Sid": "AmazonLinux2AMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" ] } ] }

將在 中執行之容器的端點存取許可VPC新增至自訂IAM政策

SageMakerFullAccess 受管政策包含使用為 Amazon VPC存取設定之模型搭配 端點所需的許可。這些許可允許 SageMaker AI 建立彈性網路介面,並將其連接到在 中執行的模型容器VPC。如果您使用自己的IAM政策,則必須將下列許可新增至該政策,才能使用為VPC存取設定的模型。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVpcEndpoints", "ec2:DescribeDhcpOptions", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:CreateNetworkInterface" ], "Resource": "*" } ] }

如需 SageMakerFullAccess 受管政策的更多相關資訊,請參閱AWS 受管政策: AmazonSageMakerFullAccess

設定路由表

使用端點路由表的DNS預設設定,讓標準 Amazon S3 URLs(例如 http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket) 解析。如果您不使用DNS預設設定,請確定URLs您用來指定模型中資料位置的 會透過設定端點路由表來解析。如需VPC端點路由表的資訊,請參閱《Amazon VPC使用者指南》中的閘道端點路由

連線到 外部的資源 VPC

如果您設定 VPC使其無法存取網際網路,則使用 的模型VPC無法存取 外部的資源VPC。如果您的模型需要存取 外部的資源VPC,請使用下列其中一個選項來提供存取權:

  • 如果您的模型需要存取支援介面VPC端點 AWS 的服務,請建立端點以連線至該服務。如需支援介面端點的服務清單,請參閱《Amazon VPC使用者指南》中的VPC端點。如需建立介面VPC端點的相關資訊,請參閱《Amazon VPC 使用者指南》中的介面VPC端點 (AWS PrivateLink)

  • 如果您的模型需要存取不支援介面VPC端點 AWS 的服務,或存取 外部的資源 AWS,請建立NAT閘道並設定安全群組以允許傳出連線。如需為 設定NAT閘道的相關資訊VPC,請參閱《Amazon Virtual Private Cloud 使用者指南》中的使用公VPC有和私有子網路 (NAT) 的案例 2: