As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurar uma VPC para trabalhos de RL de vários turnos
Quando você fornece um VpcConfig em sua configuração de trabalho de RL de vários turnos, a Amazon SageMaker AI coloca uma interface de rede elástica de proxy (ENI) em sua VPC. Todo o tráfego de dados do cliente, incluindo acesso aos buckets do S3, invocações de agentes e registros, flui por essa ENI. Isso mantém os dados dentro dos limites da sua rede VPC.
Configuração de VPC necessária
Sub-redes
Forneça duas ou mais sub-redes privadas em diferentes zonas de disponibilidade para redundância. As sub-redes não precisam de um gateway NAT ou acesso à Internet porque todo o tráfego sai pelos endpoints VPC.
Grupo de segurança
Crie um grupo de segurança com as seguintes regras de saída. Nenhuma regra de entrada é necessária.
-
TCP de saída 443 para
0.0.0.0/0 -
UDP de saída 53 para
0.0.0.0/0
nota
Para maior segurança, você pode restringir a saída à lista de prefixos gerenciados do S3 e aos endereços IP privados dos ENIs do endpoint de interface, em vez de permitir. 0.0.0.0/0
Endpoints da VPC
Crie os seguintes VPC endpoints para que o tráfego do proxy ENI possa alcançar AWS serviços sem acesso à Internet.
| Endpoint | Tráfego roteado | Nome do serviço | Tipo |
|---|---|---|---|
| S3 (obrigatório) | Dados imediatos, saída do trabalho, artefatos do MLflow (GetObject,,PutObject) ListBucket |
com.amazonaws. |
Gateway |
| CloudWatch Registros (obrigatório) | Registros de contêineres de treinamento (PutLogEventsCreateLogGroup,,CreateLogStream) |
com.amazonaws. |
Interface |
| Bedrock AgentCore (necessário se estiver usando o agente Bedrock) | Invocações do agente () InvokeAgentRuntime |
com.amazonaws. |
Interface |
| Lambda (obrigatório se estiver usando o agente Lambda) | Invocações de agentes via Lambda forwarder () Invoke |
com.amazonaws. |
Interface |
| MLflow (necessário se estiver usando o rastreamento MLflow) | Métricas e traços de treinamento (LogBatch,StartTrace,EndTrace) |
aws.sagemaker. |
Interface |
nota
Ative o DNS privado em todos os endpoints da interface.
Grupo de segurança de terminais de interface
Todos os endpoints da interface devem compartilhar um grupo de segurança com o TCP 443 de entrada do seu CIDR de VPC.
Permissões do IAM
A função de execução deve incluir permissões do EC2 para gerenciamento de ENI. Adicione a seguinte declaração de política à função.
[ { "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" } } } ]
Configuração da API
Inclua o VpcConfig parâmetro em sua solicitação de trabalho RL de vários turnos.
"VpcConfig": { "Subnets": ["subnet-0abc123", "subnet-0def456"], "SecurityGroupIds": ["sg-0abc123def"] }
Restrinja o acesso à sua VPC
Você pode aplicar restrições adicionais para proteger ainda mais sua configuração de VPC.
Política de bucket do S3
Para restringir o acesso do S3 somente à sua VPC, adicione uma política de negação com aws:SourceVpc a condição.
{ "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" } } }
nota
A chave de aws:SourceVpc condição só é preenchida quando a solicitação atravessa um endpoint do S3 Gateway.
Políticas de VPC endpoint
Você pode restringir os endpoints da interface para permitir somente as ações que os trabalhos de RL de vários turnos precisam. O exemplo a seguir restringe um endpoint do CloudWatch Logs a grupos de registros com o /aws/sagemaker/Job/ prefixo.
{ "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/Job/*" } ] }