View a markdown version of this page

Configurar uma VPC para trabalhos de RL de vários turnos - SageMaker IA da Amazon

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.region.s3 Gateway
CloudWatch Registros (obrigatório) Registros de contêineres de treinamento (PutLogEventsCreateLogGroup,,CreateLogStream) com.amazonaws.region.logs Interface
Bedrock AgentCore (necessário se estiver usando o agente Bedrock) Invocações do agente () InvokeAgentRuntime com.amazonaws.region.bedrock-agentcore Interface
Lambda (obrigatório se estiver usando o agente Lambda) Invocações de agentes via Lambda forwarder () Invoke com.amazonaws.region.lambda Interface
MLflow (necessário se estiver usando o rastreamento MLflow) Métricas e traços de treinamento (LogBatch,StartTrace,EndTrace) aws.sagemaker.region.mlflow 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/*" } ] }