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

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

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

為 Amazon VPC 訪問配置模型

若要在私人中指定子網路和安全性群組VPC,請使用的 VpcConfig request 參數 CreateModelAPI,或在 SageMaker 主控台中建立模型時提供此資訊。 SageMaker 使用此資訊建立網路介面,並將其附加至模型容器。網路介面可為您的模型容器提供未連線至網VPC際網路的網路連線。它們還使您的模型能夠連接到私有資源VPC。

注意

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

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

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

配置您的私VPC人 SageMaker 託管

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

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

不使用彈性結構介面卡 (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. 對於「服務名稱」,請選擇「喜好」。region.s3,其中 region 是的名稱 AWS 您VPC所在的地區。

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

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

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

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

預設端點政策允許您中的任何使用者或服務完全存取 Amazon 簡單儲存服務 (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/*" ] } ] }

新增在自訂IAM原則中執行之容器的VPC端點存取權限

SageMakerFullAccess管政策包括在端點上使用針對 Amazon VPC 存取設定的模型所需的許可。這些權限 SageMaker 允許建立 elastic network interface,並將其附加至在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 使用者指南中的閘道端點路由。

Connect 至您外部的資源 VPC

如果您進VPC行配置VPC以使其無法訪問 Internet,則使用的模型無法訪問您的外部資源VPC。如果您的模型需要存取您以外的資源VPC,請提供下列其中一個選項的存取權:

  • 如果您的模型需要存取 AWS 支持接口VPC端點的服務,創建一個端點以連接到該服務。如需支援界面端點的服務清單,請參閱 Amazon VPC 使用者指南中的VPC端點。如需有關建立介面VPC端點的資訊,請參閱介面VPC端點 (AWS PrivateLink)Amazon 用VPC戶指南中。

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