本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为多轮 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 工件 (GetObject、PutObject、ListBucket) |
com.amazonaws. |
网关 |
| CloudWatch 日志(必填) | 训练容器日志 (PutLogEvents、CreateLogGroup、CreateLogStream) |
com.amazonaws. |
接口 |
| 基岩 AgentCore (如果使用基岩剂,则为必填项) | 代理调用 () InvokeAgentRuntime |
com.amazonaws. |
接口 |
| Lambda(如果使用 Lambda 代理,则为必填项) | 通过 Lambda 转发器调用代理 () Invoke |
com.amazonaws. |
接口 |
| mlFlow(如果使用 mlFlow 跟踪,则需要) | 训练指标和跟踪(LogBatch、StartTrace、EndTrace) |
aws.sagemaker. |
接口 |
注意
在所有接口终端节点上启用私有 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/*" } ] }