设置以使用 EI。 - Amazon SageMaker

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

设置以使用 EI。

如果您遇到以下情况之一,则使用本主题中的说明:

  • 您希望使用自定义角色或权限策略。

  • 您希望为托管模型或笔记本实例使用 VPC。

注意

如果您已经有一个附加了AmazonSageMakerFullAccess托管策略的执行角色(您在控制台中创建笔记本实例、训练作业或模型时创建的任何 IAM 角色都是如此),并且您没有连接到 VPC 中的 EI 模型或笔记本实例,则无需进行任何更改即可在 Amazon 中使用 EI SageMaker。

设置所需权限

要在中 SageMaker使用 EI,用于打开笔记本实例或创建可部署模型的角色必须具有附加所需权限的策略。您可以将 AmazonSageMakerFullAccess 托管策略(包含所需权限)附加到角色,或者添加具有所需权限的自定义策略。有关创建 IAM 角色的信息,请参阅AWS Identity and Access Management 用户指南中的为 AWS 服务创建角色(控制台)。有关将策略附加到角色的信息,请参阅添加和删除 IAM 策略

在 IAM 策略中添加这些专门用于连接 EI 的权限。

{ "Effect": "Allow", "Action": [ "elastic-inference:Connect", "ec2:DescribeVpcEndpoints" ], "Resource": "*" }

以下 IAM 策略是在中使用 EI 所需权限的完整列表 SageMaker。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elastic-inference:Connect", "ec2:DescribeVpcEndpoints" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability", "cloudwatch:PutMetricData", "cloudwatch:PutMetricAlarm", "cloudwatch:DescribeAlarms", "cloudwatch:DeleteAlarms", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction", "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DescribeScalableTargets", "application-autoscaling:DescribeScalingActivities", "application-autoscaling:DescribeScalingPolicies", "application-autoscaling:DescribeScheduledActions", "application-autoscaling:PutScalingPolicy", "application-autoscaling:PutScheduledAction", "application-autoscaling:RegisterScalableTarget", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:GetLogEvents", "logs:PutLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*SageMaker*", "arn:aws:s3:::*Sagemaker*", "arn:aws:s3:::*sagemaker*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/SageMaker": "true" } } }, { "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint", "Condition": { "StringLike": { "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "sagemaker.amazonaws.com" } } } ] }

使用自定义 VPC 来连接 EI

要在 VPC SageMaker 中使用 EI,您需要创建和配置两个安全组,并设置一个 PrivateLink VPC 接口终端节点。EI 使用 VPC 接口终端节点与您的 VPC 中的 SageMaker 终端节点通信。您创建的安全组用于连接到 VPC 接口端点。

设置安全组以连接到 EI

要在 VPC 中使用 EI,您需要创建两个安全组:

  • 一个安全组用于控制对您将为 EI 设置的 VPC 接口端点的访问。

  • 允许呼 SageMaker 入第一个安全组的安全组。

配置两个安全组
  1. 创建没有出站连接的安全组。您将此项附加到在下一部分中创建的 VPC 端点接口。

  2. 创建没有入站连接的第二个安全组,不过具有对第一个安全组的出站连接。

  3. 编辑第一个安全组以仅允许对第二个安全组的入站连接和所有出站连接。

有关修改 VPC 安全组的更多信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的您的 VPC 的安全组

要在自定义 VPC SageMaker 中使用 EI,您需要为 EI 服务设置 VPC 接口终端节点 (PrivateLink)。

  • 为 EI 设置 VPC 接口终端节点 (PrivateLink)。按照创建接口端点中的说明操作。在服务列表中,选择 com.amazonaws.<region>.elastic-inference.runtime。对于安全组,确保您为端点选择在上一部分中创建的第一个安全组。

  • 设置接口端点时,选择 EI 可用的所有可用区。如果您未设置至少两个可用区,EI 将失败。有关 VPC 子网的信息,请参阅 VPC 和子网