View a markdown version of this page

为多轮 RL 任务配置 VPC - 亚马逊 SageMaker AI

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

为多轮 RL 任务配置 VPC

当您在多回合 RL 任务配置VpcConfig中提供时,Amazon A SageMaker I 会在您的 VPC 中放置代理弹性网络接口 (ENI)。所有客户数据流量(包括对您的 S3 存储桶的访问权限、代理调用和日志记录)都流经此 ENI。这样可以将数据保持在您的 VPC 网络边界内。

必需的 VPC 设置

子网

在不同的可用区中提供两个或多个私有子网以实现冗余。子网不需要 NAT 网关或互联网接入,因为所有流量都通过 VPC 终端节点退出。

安全组

使用以下出站规则创建安全组。不需要入站规则。

  • 出站 TCP 443 到 0.0.0.0/0

  • 出站 UDP 53 到 0.0.0.0/0

注意

为了更严格的安全性,您可以将出口限制为 S3 托管前缀列表和接口终端节点 ENI 的私有 IP 地址,而不是允许。0.0.0.0/0

VPC 端点

创建以下 VPC 终端节点,以便来自代理 ENI 的流量无需访问互联网即可到达 AWS 服务。

端点 流量已路由 服务名称 Type
S3(必填) 提示数据、作业输出、mlFlow 工件 (GetObjectPutObjectListBucket) com.amazonaws.region.s3 网关
CloudWatch 日志(必填) 训练容器日志 (PutLogEventsCreateLogGroupCreateLogStream) com.amazonaws.region.logs 接口
基岩 AgentCore (如果使用基岩剂,则为必填项) 代理调用 () InvokeAgentRuntime com.amazonaws.region.bedrock-agentcore 接口
Lambda(如果使用 Lambda 代理,则为必填项) 通过 Lambda 转发器调用代理 () Invoke com.amazonaws.region.lambda 接口
mlFlow(如果使用 mlFlow 跟踪,则需要) 训练指标和跟踪(LogBatchStartTraceEndTrace aws.sagemaker.region.mlflow 接口
注意

在所有接口终端节点上启用私有 DNS。

接口终端节点安全组

所有接口终端节点都必须与来自您的 VPC CIDR 的入站 TCP 443 共享一个安全组。

IAM 权限

执行角色必须包括用于 ENI 管理的 EC2 权限。向角色添加以下政策声明。

[ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkInterface" } } } ]

API 配置

在您的多回合 RL 任务请求中包含该VpcConfig参数。

"VpcConfig": { "Subnets": ["subnet-0abc123", "subnet-0def456"], "SecurityGroupIds": ["sg-0abc123def"] }
限制对您的 VPC 的访问

您可以应用其他限制来进一步保护您的 VPC 配置。

S3 存储桶策略

要限制 S3 仅访问您的 VPC,请添加带有aws:SourceVpc条件的拒绝策略。

{ "Sid": "DenyAccessFromOutsideVpc", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::my-mtrl-bucket", "arn:aws:s3:::my-mtrl-bucket/*" ], "Condition": { "StringNotEquals": { "aws:SourceVpc": "vpc-0abc123def" } } }
注意

只有当请求通过 S3 网关端点时,才会填充aws:SourceVpc条件密钥。

VPC 端点策略

您可以将接口端点限制为仅允许多回合 RL 作业所需的操作。以下示例将 Lo CloudWatch gs 端点限制为使用/aws/sagemaker/Job/前缀的日志组。

{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/Job/*" } ] }