允许 SageMaker 编译任务访问您的 Amazon 中的资源 VPC - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

允许 SageMaker 编译任务访问您的 Amazon 中的资源 VPC

注意

对于编译作业,您只能配置默认租期的子网,让您的作业VPC在共享硬件上运行。有关租期属性的更多信息VPCs,请参阅专用实例

为 Amazon A VPC ccess 配置编译任务

要指定私有子网和安全组VPC,请使用的VpcConfig请求参数 CreateCompilationJobAPI,或者在 SageMaker 控制台中创建编译任务时提供此信息。 SageMaker Neo 使用这些信息来创建网络接口并将其连接到您的编译作业。网络接口提供编译作业,VPC其内部的网络连接未连接到互联网。它们还使您的编译作业能够连接到您的私有资源VPC。以下是您在调用 CreateCompilationJob 时将包含的 VpcConfig 参数的示例:

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

配置您的私有VPC以进行 SageMaker 编译

在VPC为 SageMaker 编译作业配置私有时,请遵循以下准则。有关设置的信息VPC,请参阅 Amazon VPC 用户指南中的使用VPCs和子网

确保子网拥有足够的 IP 地址

在编译作业中,每个实例的VPC子网应至少有两个私有 IP 地址。有关更多信息,请参阅 VPC Amazon VPC 用户指南IPv4中的子网大小

创建 Amazon S3 VPC 终端节点

如果您将您的配置VPC为阻止访问互联网,则除非您创建允许访问的VPC终端节点,否则 SageMaker Neo 无法连接到包含您的模型的 Amazon S3 存储桶。通过创建VPC端点,您可以允许 SageMaker Neo 编译任务访问存储数据和模型工件的存储桶。我们还建议您创建自定义策略,仅允许来自您的私有存储桶的请求VPC访问您的 S3 存储桶。有关更多信息,请参阅用于 Amazon S3 的端点

要创建 S3 VPC 端点,请执行以下操作:
  1. 打开 Amazon VPC 控制台,网址为https://console.aws.amazon.com/vpc/

  2. 在导航窗格中,选择 Endpoints (终端节点),然后选择 Create Endpoint (创建终端节点)

  3. 对于服务名称,搜索 com.amazonaws。region.s3,其中 region 是您VPC居住的地区的名称。

  4. 选择网关类型

  5. 对于 VPC,请选择VPC要用于此端点的。

  6. 对于 Configure route tables,选择终端节点要使用的路由表。该VPC服务会自动向您选择的每个路由表添加一条路由,将任何 S3 流量指向新的终端节点。

  7. 对于策略,选择完全访问权限以允许任何用户或其中的服务完全访问 S3 服务VPC。选择 Custom (自定义) 以进一步限制访问。有关信息,请参阅使用自定义终端节点策略限制 S3 访问

使用自定义终端节点策略限制 S3 访问

默认终端节点策略允许您中的任何用户或服务完全访问 S3 VPC。要进一步限制 S3 访问,请创建一个自定义终端节点策略。有关更多信息,请参阅对 Amazon S3 使用端点策略。您还可以使用存储桶策略将访问您的 S3 存储桶限制为仅限来自您的 Amazon VPC 的流量。有关信息,请参阅使用 Amazon S3 存储桶策略。以下是自定义策略示例:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::your-sample-bucket", "arn:aws:s3:::your-sample-bucket/*" ], "Condition": { "StringNotEquals": { "aws:SourceVpce": [ "vpce-01234567890123456" ] } } } ] }

将在 Amazon 中运行的编译任务的权限VPC添加到自定义IAM策略

SageMakerFullAccess托管策略包括使用为通过终端节点VPC访问Amazon配置的模型所需的权限。这些权限允许 SageMaker Neo 创建弹性网络接口并将其附加到在 Amazon 中运行的编译任务中VPC。如果您使用自己的IAM策略,则必须在该策略中添加以下权限才能使用配置为 Amazon 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", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "*" } ] }

有关 SageMakerFullAccess 托管策略的更多信息,请参阅 Amazon 托管策略: AmazonSageMakerFullAccess

配置路由表

使用终端节点路由表的默认DNS设置,以便标准的 Amazon S3URLs(例如http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket)可以解析。如果您不使用默认DNS设置,请确保通过配置端点路由表来解析用于在编译作业中指定数据位置的。URLs有关VPC终端节点路由表的信息,请参阅 Amazon VPC 用户指南中的网关终端节点路由。

配置VPC安全组

在编译任务的安全组中,您必须允许与您的 Amazon S3 Amazon VPC 终端节点和用于编译任务的子网CIDR范围进行出站通信。有关信息,请参阅安全组规则和使用 Amazon VPC 终端节点控制对服务的访问