授予 Batch 轉換任務存取 Amazon 中的資源 VPC - Amazon SageMaker

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

授予 Batch 轉換任務存取 Amazon 中的資源 VPC

若要控制對資料的存取和批次轉換任務,建議您建立私有 Amazon VPC 並進行設定,以便無法透過公用網際網路存取您的任務。當您透過指定子網路和安全性群組來建立模型時,可以指定您的私人組VPC態。然後,當您建立批次轉換任務時,請指定相同的模型。當您指定子網路和安全性群組時, SageMaker 會在其中一個子網路中建立與安全性群組相關聯的彈性網路介面。網路介面可讓您的模型容器連線至VPC. 如需有關網路界面的資訊,請參閱 Amazon VPC 使用者指南中的彈性網路界面

本文件說明如何為批次轉換任務新增 Amazon VPC 組態。

設定 Amazon VPC 存取的 Batch 轉換 Job

若要在私人中指定子網路和安全性群組VPC,請使用的 VpcConfig request 參數 CreateModelAPI,或在 SageMaker 主控台中建立模型時提供此資訊。然後在 SageMaker 主控台中建立轉換工作時 CreateTransformJobAPI,在的ModelName請求參數或模型名稱欄位中指定相同的模型。 SageMaker 使用此資訊來建立網路介面,並將其附加到模型容器。網路介面可為您的模型容器提供未連線至網VPC際網路的網路連線。它們還使您的轉換任務能夠連接到私有資源VPC。

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

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

如果您要使用CreateModelAPI作業建立模型,則用來建立模型的IAM執行角色必須包含中所述的權限CreateModel API:執行角色權限,包括下列非公開所需的權限VPC。

在主控台中建立模型時,如果您在 [模型設定] 區段中選取 [建立新角色],AmazonSageMakerFullAccess 則用來建立角色的原則已包含這些權限。如果您選取 [輸入自訂IAM角色] ARN 或 [使用現有角色ARN],則您指定的角色必須具有附加下列權限的執行原則。

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups"

設定您的私有VPC進行 SageMaker Batch 轉換

VPC為 SageMaker 批次轉換工作設定私用時,請遵循下列準則。如需有關設定的資訊VPC,請參閱 Amazon VPC 使用者指南中的使用VPCs和子網路

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

轉換工作中的每個執行個體,VPC子網路應該至少有兩個私有 IP 位址。如需詳細資訊,請參閱 Amazon VPC 使用者指南IPv4的VPC和子網路大小調整

創建一個 Amazon S3 VPC 端點

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

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

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

  3. 對於「服務名稱」,請選擇「喜好」。region.s3,其中 region 是您所在地區的名VPC稱。

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

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

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

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

預設端點政策允許您中的任何使用者或服務完整存取 S3 VPC。若要進一步限制存取 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/*" ] } ] }

設定路由表

使用端點路由表的預DNS設設定,以便標準 Amazon S3 URLs (例如http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket) 解析。如果您未使用預DNS設設定,請確定您用來指定批次轉換工作中資料位置的解析方式URLs是透過設定端點路由表來解析。如需有關VPC端點路由表的資訊,請參閱 Amazon VPC 使用者指南中的閘道端點路由。

設定安VPC全性群組

在分散式批次轉換中,必須允許同一批次轉換任務內不同容器之間的通訊。若要執行此操作,請為安全群組設定規則,允許相同安全群組成員彼此間的傳入與傳出連線。相同安全群組的成員應該能夠在所有連接埠之間彼此通訊。如需詳細資訊,請參閱安全群組規則

Connect 至您外部的資源 VPC

如果您將設定為VPC使其無法存取網際網路,則使用的VPC批次轉換工作無法存取VPC. 如果您的批次轉換工作需要存取您以外的資源VPC,請提供下列其中一個選項的存取權:

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

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