授予批次轉換任務對 Amazon 資源的存取權 VPC - Amazon SageMaker

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

授予批次轉換任務對 Amazon 資源的存取權 VPC

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

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

設定 Amazon VPC Access 的批次轉換任務

若要在私有 中指定子網路和安全群組VPC,請使用 CreateModelVpcConfig請求參數API,或在 SageMaker 主控台中建立模型時提供此資訊。然後在 SageMaker 主控台中建立轉換任務時,在 CreateTransformJobModelName請求參數中指定相同的模型API,或在模型名稱欄位中指定相同的模型。 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 批次轉換

VPC 為 SageMaker 批次轉換任務設定私有時,請使用下列指導方針。如需設定 的相關資訊VPC,請參閱 Amazon VPC使用者指南 中的使用 VPCs和 子網路

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

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

建立 Amazon S3 VPC端點

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

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

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

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

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

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

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

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

預設端點政策允許 中任何使用者或服務的完整存取 S3VPC。若要進一步限制存取 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安全群組

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

連線至您的 外部資源 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: